Case study 05 / 11
Immigration
LiveNextMovePath: An AI Strategy Engine for Canadian Immigration
NextMovePath is a live platform for people applying for Canadian permanent residence. I built the first version of its paid AI Strategy Report end to end: gathering the right facts, streaming the report live, checking it, producing the PDF and setting up the cloud. I also built most of the platform around it. It launched eight days after work began.
System
Tested calculations: points, eligibility, gains
Output
Fixed facts the AI must not contradict
AI
AI writes the strategy and plan
System
Checked, saved, streamed live and as a PDF
On this page
The problem
Canada's Express Entry system ranks applicants by a points score, and invitations go to whoever clears each round's cutoff. Applicants are anxious and flooded with conflicting advice, and the honest answer to "what should I do next?" depends on many things at once: points lost with age, changing category rounds, provincial programs by occupation, licensing timelines, language test results and new policy changes.
A generic chatbot fails in two ways. It gets the maths wrong, confidently inventing points. And it gives you a wall of text, not a product: a paid report has to be consistent, structured, printable and comparable over time. So the real question was: how do you get AI to write a personal strategy without letting it make up the facts?
What I built
- The AI Strategy Report. It takes a person's profile, score, recent draw results and occupation data, and turns them into a personal roadmap: a score projection, a comparison of provinces, risks, and a month-by-month action plan.
- Live report delivery. A full report takes a little while to write, and a long loading spinner right after payment destroys trust. The report streams onto the screen as it's written, then it's checked, saved and turned into a downloadable PDF.
- The business around it. Secure payments, a marketplace for booking licensed immigration consultants, an assistant that fills in a government visa form one question at a time, a study-placement pipeline connected to the company's CRM, a reusable immigration profile, and a mobile app.
- Search visibility. Free calculators, structured content and technical SEO built to rank on Google and be cited by AI assistants, which is the platform's main source of users.
How it works: facts first, AI second
I never let the AI calculate anything that can be calculated.
| Step | What it does | Done by |
|---|---|---|
| Points calculator | Scores the profile across every factor | Tested code |
| Eligibility check | Works out which category rounds the person qualifies for | Tested code |
| Improvement options | Calculates exact point gains for each possible move | Tested code |
| Occupation data | Licensing, regulation and demand by province | Database |
| AI | Turns all of that into a strategy, timeline and plan | AI |
The calculated facts go to the AI as fixed truths it must not contradict. The AI does what it's good at, interpreting and planning, instead of arithmetic and legal lookups, where it makes mistakes. The same points calculator runs on the website, in the mobile app and on the server, so everyone sees the same number.
Key decisions
- The report follows a strict structure. About forty defined sections map directly to the report's screens and PDF, with minimum depth rules so a paid report is never thin, and real policy rules built in. For example, a score only rises when an official result arrives, so projections show realistic steps instead of a smooth, misleading curve.
- Nothing broken gets saved. Every report is checked and repaired if needed. If it can't be fixed, the user gets a clear message and can try again.
- Every report is reproducible. Each one is saved with the exact inputs that produced it, so it can be audited, and users can see how their strategy changed over time.
- AI costs are controlled. Paid access is confirmed through verified payment, generation is rate-limited and capped per user, and the free preview uses no AI at all.
- Built to switch AI providers. I designed one common way to talk to AI models. A teammate later used it to move production to Anthropic's Claude on Amazon Bedrock and add model switching for admins, while local development runs free.
Built for trust
Strict security headers, an approved list of origins, bot protection, verified admin access, strict input checks, an audit log of admin actions, and safe read-only access for support staff that can never trigger a paid report.
From first line of code to launch
I set up the AWS environment as code with Terraform, then we right-sized it for the stage and budget: a fast static website served worldwide, the application on a managed server, and a managed database with backups. I did the first production launch eight days after work began. Deployments run automatically without stored passwords, and after each release the system checks that the site and every article are working.
What I'd improve next
Stricter structured output from the AI, showing each report section as soon as it's ready, cost and speed tracking per report, shared caching before scaling to more servers, and a set of test profiles that every AI change must pass.
Under the hoodShow technical detailsHide technical details
- Streaming: NestJS async generators and Server-Sent Events, read in the browser with an authenticated fetch stream, line buffering and a stop button.
- Reliable output: layered checks including format enforcement, cleanup, repair of cut-off responses, required-field validation and graceful fallbacks, because the AI service used has no built-in strict JSON mode.
- AI: Claude on Amazon Bedrock in production and Ollama locally, behind one provider interface.
- Platform: Stripe with verified, duplicate-safe payment events; Cal.com with signed booking events; PDFs rendered with headless Chrome and stored on S3.
- Cloud: Next.js on S3 and CloudFront, NestJS on EC2 behind nginx, PostgreSQL on RDS, email through SES, secrets in Secrets Manager, and CI with GitHub Actions and OIDC, later hardened by the team.
Related work
- CS2 Technologies productIn production
AgentlyLeads: An AI-Native CRM You Run from ChatGPT and Claude
A CRM that teams operate straight from the AI assistant they already use. The AI prepares emails and updates, and a person approves anything that is sent, deleted or charged.
Sales and CRM
- CS2 Technologies productLive
GWS Connect 24: Adding AI to a Live B2B Marketplace
AI added to a live wholesale marketplace: a 24/7 AI sales agent, deals sent to the CRM in one click with their activity shown back, and AI that drafts personalised outreach for a person to approve.
B2B wholesale commerce
- An enterprise HR-services companyDelivered
HR and Payroll Platform: From Build to Secure Cloud in 11 Days
A full HR and payroll platform with an AI HR assistant, taken from a blank start to a secure, cloud-hosted product the client could test in about eleven days, through three changes of cloud plan.
HR technology · NDA