Alhassan Alfarran

Full-Stack & Python Developer — Web & AI Systems

Open to offers · Moscow on-site/hybrid or remote · full-time or contract

Contacts

Summary

Python & full-stack developer in Moscow, building commercially since 2024: React + TypeScript up front, FastAPI or Node.js behind it. In 2026 I built search over an engineering-document archive (0.18 s p95, accepted by the client); in 2025 I was the lead developer of OKKP at Avenue Group.

Experience

  1. Python Developer·Elektroservis

    Apr 2026 — Oct 2026

    Remote · civil-law contracts

    • An engineer enters a cable mark, document code, equipment designation or a phrase and gets the document, the PDF page (Excel sheet and rows, Word section), a text fragment and the network path.
    • Hybrid search with no LLM generation: a custom inverted index plus FAISS semantic search on sentence-transformers embeddings (all-MiniLM-L6-v2), behind FastAPI with a plain HTML/JS interface.
    • Indexed PDF, DOCX, XLSX and RTF files — an archive of ~4.1k files, ~1.5k documents with text — with OCR of selected scanned pages (Tesseract + Poppler).
    • Speed: code and mark queries from 9–10 s to 1.2–1.7 s, phrase queries from 55–70 s to 2–4 s; 0.18 s p95 after moving to the inverted index.
    • Quality: 739 automated tests (pytest) and a 104-query control set with top-1/top-5 metrics. Runs as a systemd service on Ubuntu Server.
    • Built with AI agents (Codex, Cursor, Claude Code): I gathered the requirements, wrote the agent briefs, reviewed the changes and verified them on the production index.
  2. Full-Stack Developer (lead developer on the project)·Avenue Group

    May 2025 — Dec 2025

    Moscow · team of 3

    • Designed the architecture and API and wrote most of the code (~177 of 183 commits in 2025): React 18 + TypeScript (Vite), Node.js / Express 5, MongoDB.
    • Violations and fines module with server-side filtering and pagination; modules for employees, driver call-backs, a Cloudinary document archive and in-app notifications.
    • Per-depot KPI tiles and in-browser Excel export (SheetJS) of violations, employees and the depot summary; JWT sign-in.
    • Deployment with Docker Compose on a Linux server; CI on GitHub Actions.
  3. Full-Stack Web Developer·Junzi Tech Solutions

    Oct 2024 — Jul 2025

    • Cut the response time of a critical API endpoint by ~60% with caching and a redesigned database query.
  4. Freelance Developer·Freelance

    2024 — Present

    Remote

    • React / Next.js / TypeScript and Tailwind CSS web applications for clients.

Selected projects

  • OKKP Operations Platform — Lead developer on the project · 2025
  • Engineering Document Search — Python developer · Apr–Oct 2026 · semantic + full-text search
  • Switchyard — Open-source platform, built with Claude Code · Gateway in front of LLM inference servers · switchyard.149-36-1-90.sslip.io
  • Proofbench — Open-source platform, built with Claude Code · Evaluation platform for tool-using LLM agents · proofbench.149-36-1-90.sslip.io
  • Ledgerline — Open-source platform, built with Claude Code · Payments platform built like a bank's · ledgerline.149-36-1-90.sslip.io
  • Depotwin — Open-source platform, built with Claude Code · Live digital twin of a vehicle fleet · depotwin.149-36-1-90.sslip.io
  • Clearhire — Open-source platform, built with Claude Code · AI recruiting with evidence · 149-36-1-90.sslip.io
  • Lumen Search — Open-source prototype, built with AI agents · Hybrid document search (RAG) · kyan9400.github.io/lumen-search
  • Pulseboard — Open-source prototype, built with AI agents · Uptime & SLO monitoring · pulseboard-five-tau.vercel.app
  • DeployLedger — Open-source prototype, built with AI agents · Release operations & DORA metrics · deployledger.vercel.app
  • Gatehouse — Open-source prototype, built with AI agents · Just-in-time access control · gatehouse-nine.vercel.app
  • Webhook Workbench — Open-source prototype, built with AI agents · Webhook debugging in Go · webhook-workbench.vercel.app

Languages

  • English — C1
  • Arabic — Native
  • Russian — B2