Skip to content

Visa consultancy CRM

Multi-tenant CRM with an AI CV-assessment pipeline

Role
Architect and lead engineer
Type
Product
Client
Built at Remark Studio
Status
Private
Dashboard with the “needs you” queue and sign-off panels
Pipeline board next to the AI CV-assessment screenDashboard, pipeline and CV assessment stacked

Screens from a demo tenant with fictional data. The real system is private.

Overview

Back office for a visa consultancy: leads, clients, cases, invoicing and visa decisions in one place, replacing spreadsheets and WhatsApp. An AI pipeline assesses CVs and drafts country recommendations, but a rules engine makes the eligibility call and a person signs off.

The problem

The consultancy ran every case across spreadsheets and WhatsApp, and checked each applicant’s eligibility by hand. A model can’t be trusted to make that call on its own: a wrong “yes” costs a client money and time.

What I built

  • Modelled the full lead → client → case → decision workflow with stage gates, deadlines and maker–checker sign-off enforced on the server.
  • Built the CV-assessment pipeline as separate steps: parse, recommend countries, research official requirements, validate, compliance check, PDF report. The verdict comes from per-country rule files, not the model.
  • Routed each AI task to a model through OpenRouter with cost caps and fallbacks; anything touching personal data only goes to paid providers.
  • Kept money in Decimal with gapless invoice numbers, isolated tenants so out-of-scope records return 404, and logged every material change.

Outcome

  • 2,600+ automated backend tests.
  • Every positive eligibility result is reviewed by a person before it reaches a client.

Stack

  • Python
  • FastAPI
  • PostgreSQL
  • Redis
  • Next.js
  • OpenAI Agents SDK
  • OpenRouter
  • Docker
  • GCP