Immigration guidance · consumer web app
Kuntriz
A bilingual web app that tells Cameroonians their real odds of moving abroad before they pay an intermediary for the answer: an adaptive questionnaire, a deterministic scoring engine covering 10 countries, and a paid report delivered as a PDF or on WhatsApp.
- Client
- Own product — in partnership with Inter Solutions Service
- Role
- Founder, sole engineer
- Period
- July 2026 – present
- Status
- Live

The problem
Cameroonians weighing a move abroad for study, work or family reunification face two bad options: pay an intermediary a large fee to learn whether they even qualify, or piece together fragmented, foreign-language official rules that rarely account for their specific situation, their school system or their household.
The information that does exist is scattered across ten countries, each with its own eligibility rules, documents, costs and timelines, and expressed in the wrong currency and the wrong administrative language for someone trying to plan from Douala or Yaoundé.
The goal was to make a first, honest answer free and instant, and to make the full, detailed report worth paying for because it is genuinely useful, not because the free answer was deliberately withheld.
The product
A visitor picks a specific country or asks the app to rank all ten, then answers an adaptive questionnaire: only the questions a candidate pathway actually needs are asked, so a French-schooled applicant is never asked a French test question and a student visa applicant is never asked about a spouse. A free teaser shows the best-fitting country and one strength and one weakness; the full report costs 1,500 XAF for one country or 10,000 XAF for all ten, paid by MTN or Orange Mobile Money.
The full report gives an eligibility percentage per pathway, a verdict band, the documents required with their real cost and delay, a step-by-step guide, and a PDF that can be downloaded or pushed straight to WhatsApp. An optional account, created by a WhatsApp one-time code, lets a user keep every past assessment.
Everything a visitor sees is served from a knowledge base of 48 immigration pathways written as typed TypeScript modules: 71 hard eligibility gates, 190 weighted criteria and 94 document requirements, each one sourced and dated rather than guessed.
My role
I designed and built the product alone over five weeks: the eligibility engine, the 48-pathway knowledge base, the GraphQL API, WhatsApp OTP sign-in, the Mobile Money paywall, PDF and WhatsApp delivery, and the mobile-first interface, in both French and English from day one.
Kuntriz is proprietary and remains mine to operate, in partnership with Inter Solutions Service — an IT and travel company whose own audience of Cameroonians planning a move abroad is exactly who the product is for.
The challenges
A questionnaire that never asks a wasted question
The problem
A single fixed questionnaire either asks a francophone applicant to prove their French, or asks a family-reunification applicant for a diploma nobody will check — both make the product feel careless within thirty seconds.
What I built
Each of the 48 pathways declares exactly which topics it needs. The wizard derives its steps from the union of every pathway still in play for the visitor's answers, drops household questions entirely when no candidate pathway uses them, and exempts an applicant from a language test when their own school system already proves it. A dedicated test wraps every answer in a spy that traces which fields a pathway actually reads, and checks that reality against its own declaration for all 48 pathways.
Selling an answer without letting it leak for free
The problem
The full analysis has to be genuinely valuable enough to pay for, which means the free preview must never let someone reconstruct it by reading the network response or guessing a URL.
What I built
The complete result is computed once, then redacted into a teaser by a single, server-only function; the browser never receives the full payload before payment. The PDF and the WhatsApp delivery are generated exclusively from a signed record of a confirmed payment, never from a client-supplied answer set, so there is no path that skips the paywall.
Integrating a Mobile Money API with an unpublished signature format
The problem
Nokash's public documentation for Mobile Money payments does not fix which hash algorithm or text encoding its signature uses, and it distinguishes two different 'status' fields whose confusion would grant access without a completed payment.
What I built
The signing and status logic sit in a single dependency-free module, with the algorithm and encoding overridable by configuration and 29 unit tests pinning the exact request shape and every status mapping. The client polls for confirmation every four seconds with a firm timeout, and a webhook re-checks the payment status with the provider itself before granting access, rather than trusting the callback body.
A product that works before a single service key exists
The problem
Demonstrating the app on a fresh checkout, a Vercel preview, or a laptop with no database configured has to work, without every screen apologising for a missing integration.
What I built
Every integration point checks its own configuration at runtime — a working database, WhatsApp credentials, live payment keys — and the app degrades a specific, named feature rather than crashing: an anonymous analysis and a downloadable PDF work with nothing configured at all.
The outcome
- Pathways
- 4810 countries
- Eligibility gates
- 71
- Weighted criteria
- 190
- Document requirements
- 94cost and delay for each
- Unit tests
- 129
- Lines of code
- ≈30,000TypeScript, application + knowledge base
as of 22 August 2026
Kuntriz is live at kuntriz.online, in French and English, covering ten countries end to end: eligibility scoring, document checklists with real costs and delays, PDF and WhatsApp delivery, and a Mobile Money paywall.
It is a solo, five-week build: no usage or revenue figures are published yet, but the engineering is complete and tested — a pure, contract-tested eligibility engine, a knowledge base sourced and dated pathway by pathway, and a Mobile Money integration hardened against an ambiguous provider API.
Technical stack
- Frontend
- Next.js 16 (App Router)
- React 19
- TypeScript (strict)
- Tailwind CSS v4
- next-intl (FR/EN)
- framer-motion
- Backend
- Next.js Route Handlers
- GraphQL Yoga
- @react-pdf/renderer
- node:crypto (HMAC, scrypt)
- Data
- Prisma 6 (MongoDB Atlas)
- Knowledge base as typed TypeScript modules
- Integrations
- Meta WhatsApp Cloud API (OTP, PDF delivery)
- Nokash Mobile Money (MTN / Orange)
- Testing
- Vitest (129 unit tests, contract test over all 48 pathways)


