Client Snapshot
- Industry: Travel (visa services)
- Client: Atlas Visas
- Headquarters: Guadalajara, Mexico
- Timeline: Since May 2026; full launch in November 2026
- Team: 1 Tech Lead / AI Engineer · 2 Full-Stack Engineers · 1 Project Manager
- Services: AI Solutions · Platform Development · Payments and CRM Integrations · Cloud
- Stack: Google Gemini · NestJS · Python/FastAPI · PostgreSQL · React 19 · Stripe · GoHighLevel · Twilio · AWS
- Traction: About 140 cases for 5 active agencies in the 90 days to October 2026
The Problem
Every visa had its own requirements, and every case depended on passports and documents that someone had to read and retype.
The problem wasn't the visa itself. It was keeping agencies, travelers and operators on the same page from first quote to approved case.
- Every visa is different: stages, documents and pricing vary by country and type.
- Passports typed by hand: names, numbers and dates retyped from scans, where one typo costs an appointment.
- Letters from scratch: invitation and support letters written case by case.
- Scattered channels: updates spread across email, WhatsApp and the CRM.
- Payments and commissions: prices, VAT and each agency's commission calculated outside the system.
The Solution
We built a platform where each case follows its own path, the documents read themselves, and every party sees the same status.
AI Document Reading
- Passport and itinerary extraction: a Gemini Vision microservice turns passports and travel itineraries into structured data, with an audit log of every change.
- Two reading paths: native text extraction for digital PDFs; page-by-page vision processing for scans, run in the background.
- Any format: JPG, PNG and Word documents supported, with no local OCR stack to maintain.
- Letter drafting: Gemini Flash writes invitation and support letters from the case data and exports them to PDF.
Platform
- Stage engine: a configurable workflow per visa type, with rules to skip stages that don't apply.
- Visa catalog: requirements, formats and price tiers by country.
- Scheduled jobs: periodic CRM sync and passport expiry reminders.
- Three portals: agency (cases, quotes, invitations, saved cards, commission reports), traveler (status, documents, payments) and an operations console (cases by stage, operator reassignment, client chat).
Payments, CRM and Notifications
- Stripe: saved cards and one-click payment, with pricing, VAT and agency commissions calculated in the platform.
- GoHighLevel: two-way sync of contacts, opportunities, pipeline stages and conversations, built to retry safely under rate limits.
- WhatsApp at every stage: Twilio notifications as each case moves forward, plus transactional email.
- Document vault: passports, photos and forms in Amazon S3 with pre-signed links.
AI Core
Passport reader
Gemini Vision extracts name, number, date of birth and expiry into structured data, with every change logged.
Letter drafting
Invitation and support letters written from the case data and exported to PDF.
Scan-ready OCR
Digital PDFs read natively; scans processed page by page with vision, in the background.
______
Infrastructure
Stage engine
One configurable workflow per visa type, with rules that skip stages a visa doesn't need.
Payments and CRM
Stripe one-click payments and two-way GoHighLevel sync, with retries built in.
______
Product
Three portals
Agency, traveler and operations views on the same case, with WhatsApp updates at every stage.
Results
- Passports read, not retyped: passport and itinerary data extracted automatically and logged.
- Letters drafted, not written from scratch: invitation and support letters generated from the case data, ready to export.
- One status for everyone: agencies, travelers and operators see the same case in their own portal.
- Payments inside the flow: one-click payment with VAT and commissions calculated per agency.
- No case goes quiet: WhatsApp updates at every stage and passport expiry reminders.
- In use: about 140 cases for 5 agencies in the 90 days to October 2026.
KPIs
3 portals — Agency, traveler and operations console on one platform
~140 cases — Processed for 5 agencies in the 90 days to October 2026
Every stage — A WhatsApp update each time a case moves forward
Tech Stack
- AI: Google Gemini Flash (letters), Gemini Vision (OCR) in a Python 3 FastAPI microservice, PyMuPDF, pdf2image, Pillow
- Backend: Node.js, NestJS 11, TypeScript, PostgreSQL, OpenAPI
- Frontend: React 19, TypeScript, Vite, Stripe Elements
- Integrations: Stripe, GoHighLevel (LeadConnector API), Twilio WhatsApp, Resend
- Cloud: AWS (EC2, RDS PostgreSQL, S3, CloudFront)
- Quality: Jest, Supertest, Husky git hooks with lint, format and per-change coverage checks
Team & Delivery Model
A four-person senior squad:
Tech Lead / AI Engineer
OCR microservice, letter drafting and stage engine.
Full-Stack Engineers (×2)
NestJS API, portals, Stripe and GoHighLevel integrations.
Project Manager
Scope, milestones and client communication.
Operating Model
Agile, milestone-driven delivery with iterative releases.
Claude Partner Network · Anthropic Services Partner Directory. We choose the model per job. Here, Gemini.