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



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
OpenRouter