Skip to content

    Case study — Product build

    Building VisaVault — a UK visa document platform from zero to launch

    UK visa applications cost applicants £1,500–3,000 in solicitor fees for what is largely a document preparation exercise. We built VisaVault to change that — an AI-powered SaaS that guides applicants through the entire process for £499.

    ClientVisaVault
    Live productvisavault.co.uk
    CategoryLegalTech · Immigration · SaaS
    Sprints19 sprints · full product
    StackNext.js · AWS · Claude AI

    01 — The problem

    A £1,500 problem hiding in plain sight

    Every year, hundreds of thousands of people apply for UK visas — Skilled Worker, Student, Family, ILR. The majority are perfectly capable of preparing their own applications. The documents are standard. The requirements are published by the Home Office. The process is well-defined.

    But the complexity feels overwhelming. So applicants pay immigration solicitors £1,500–3,000 to do what is largely a document preparation exercise — gathering the right papers, writing a covering letter, and following a checklist. The advice they are paying for is mostly bureaucratic navigation, not legal expertise.

    The opportunity was clear: build a product that does the navigation and document preparation work at a fraction of the cost, with the consistency and accuracy that software can deliver at scale.

    900kpeople immigrate to the UK each year
    £2,250average solicitor cost for document preparation
    £499VisaVault price — same outcome, 78% cheaper
    4visa categories supported at launch

    02 — Our approach

    Product-led from day one

    We approached VisaVault as a product build, not a website build. That distinction matters. A website is a brochure. A product has users who depend on it, data that must be protected, and logic that must be correct every time — because incorrect advice on a visa application causes real harm.

    "Incorrect advice on a visa application causes real harm. We designed every system with that consequence in mind."

    The product needed to do three things exceptionally well. Guide the applicant through a structured data collection process. Use that data to generate a personalised document checklist and covering letter via AI. And deliver the output in a format that is immediately useful for a UKVI submission.

    We also had to build within strict constraints. UK GDPR applies to immigration data — passport numbers, dates of birth, and travel history are highly sensitive personal data. The AI integration had to be designed so that this data never crossed the boundary into Claude's context window. We built a sanitisation layer that strips all PII from prompts before they leave the server, with unit tests that enforce this on every deployment.

    03 — Key challenges

    Four problems that required careful thinking

    Challenge

    GDPR and AI don't mix easily

    Sending immigration data to a third-party AI API is a personal data transfer under UK GDPR. Passport numbers and dates of birth cannot appear in any prompt.

    Solution

    Hard sanitisation boundary in code

    We built buildChecklistPayload() and buildLetterPayload() as the single GDPR boundary — functions that strip PII before every AI call, with automated tests that fail the build if passport data appears in output.

    Challenge

    UKVI requirements change without notice

    Salary thresholds, document lists, and nationality restrictions change frequently. A product with stale data causes real harm — users submit incorrect applications.

    Solution

    Automated GOV.UK change detection

    A daily scheduled job compares SHA256 hashes of UKVI requirement pages, uses Claude to summarise changes in plain English, and alerts the admin immediately. Prompts are editable in an admin panel with no deployment required.

    Challenge

    Trust is everything in immigration

    Users are handing over passport scans and employment records. Any hint of insecurity or unprofessionalism destroys conversion. The product had to feel as trustworthy as a solicitor's office.

    Solution

    Security-first architecture throughout

    Row Level Security on every Supabase table, pre-signed S3 URLs with 15-minute expiry, AWS WAF in block mode, dedicated VPC with private subnets for all compute, and ICO registration before accepting a single user.

    Challenge

    The wizard had to be accurate for four visa categories

    Skilled Worker, Student, Family, and ILR each have different document requirements, salary thresholds, English language levels, and nationality restrictions — all of which change.

    Solution

    Configurable threshold system with validation

    A central VISA_THRESHOLDS configuration drives all wizard validation. Every threshold has a last-verified date and a source URL. The AI prompt system is prompt-versioned so stale checklist warnings show automatically when UKVI updates requirements.

    04 — What we built

    19 sprints. A complete product.

    We structured the build as 19 discrete sprints, each with a definition of done verified before the next sprint began. This kept the codebase clean and made it easy to hand off individual sprints to specialised agents or developers.

    01Next.js scaffold, Clerk auth, folder structure
    02Supabase schema, RLS policies, TypeScript types
    03Stripe checkout, webhooks, email confirmations
    046-step visa wizard with per-category validation
    05AWS Bedrock AI integration with GDPR boundary
    06S3 document uploads, PDF generation, ZIP download
    07Completion page, what happens next, feedback
    08Admin panel, GDPR data hygiene, Posthog analytics
    09Terraform, ECS Fargate, GitHub Actions CI/CD
    10Landing page, 5 SEO pages, dynamic sitemap
    11Design system, Notion/Loom aesthetic, dark mode
    12Document tracker, eligibility checker, processing times
    13Referral flow, partner forms, contact forms
    14GOV.UK change detection, prompt versioning
    15Partner programme, commission tracking
    16AWS Bedrock migration, IAM role auth
    17Wizard accuracy update, UKVI threshold corrections
    18Cookie consent, testimonials, health check, image optimisation
    19Application tracker, document deadline calculator, letter editor

    05 — Technology

    A modern, production-grade stack

    Every technology choice was made for a reason — performance, security, cost, or maintainability. Nothing was chosen because it was fashionable.

    Frontend

    Next.js 14 App Router

    Language

    TypeScript throughout

    Auth

    Clerk

    Database

    Supabase Postgres + RLS

    Payments

    Stripe Checkout

    AI

    Claude via AWS Bedrock

    File storage

    AWS S3 + pre-signed URLs

    Hosting

    AWS ECS Fargate, eu-west-2

    Infrastructure

    Terraform

    CI/CD

    GitHub Actions

    Email

    Resend

    Analytics

    Posthog EU

    06 — Compliance

    GDPR was a design constraint, not an afterthought

    Immigration data sits at the intersection of several sensitive personal data categories under UK GDPR. We treated compliance as a first-class engineering requirement from the first sprint, not something to retrofit before launch.

    Data minimisation at the AI boundary. Only the fields Claude needs to generate a checklist are sent to Bedrock — visa category, nationality, current immigration status, employer details. Passport numbers, dates of birth, and passport expiry dates never leave the server.

    Retention automation. An admin data hygiene panel tracks every case's last accessed date. Cases inactive for 12 months are automatically flagged for anonymisation — PII fields nullified, S3 documents deleted, generated content removed. EventBridge runs this sweep daily.

    Audit logging. Every significant action — payment, AI call, pack download, anonymisation — is written to an audit log table with a timestamp. When a GDPR subject access request arrives, the full history of what was done with that user's data is immediately available.

    ICO registration. Registered with the Information Commissioner's Office before the first user was onboarded. DPAs signed with every sub-processor — Anthropic, AWS, Supabase, Clerk, Stripe, Resend.

    07 — The result

    VisaVault is live and taking applications

    A full-stack SaaS product — wizard, AI generation, document management, payments, partner programme, admin panel, and infrastructure — built and deployed to production.

    Visit VisaVault

    Target market

    India, Pakistan, Nigeria, China, Zimbabwe — the top 5 source countries for UK visas

    Revenue model

    £499 per case · partner referral programme · 2,000 cases/year target

    Saving per user

    Up to £2,500 vs a traditional immigration solicitor

    Have a product idea that needs building?

    We take products from concept to production. If you have a business problem that software can solve, let's talk.