Go to the platform, do not summon the user to yours
No signup, no context switch, no landing page. The assessment starts in an app the user already has open.
A Telegram bot that turns a form nobody finishes into two assessment tracks — one fast enough to be impulsive, one deep enough to be useful.
Application
Where the rules run
Immigration eligibility is the first question every prospective applicant has, and the standard answer is a long web form behind a landing page. Most people abandon it, and the ones who do not are often the least qualified.
Telegram is where a large share of this audience already spends its time, particularly across the Persian-speaking diaspora. Meeting them there removes the two biggest drop-off points: leaving the app, and creating an account.
The remaining design problem was that one assessment cannot serve both a curious browser and a serious applicant. So VisaChee ships two.
The best eligibility form is the one on the platform the user already has open, not the one behind a signup on your website.
An async Telegram bot with two assessment tracks and weighted scoring across five immigration destinations, structured so that content, business logic, and bot handling stay in separate modules.
Quick Scan track
Fast binary choices in a swipe-like rhythm, designed for immediate directional feedback with minimal commitment.
Deep Dive track
A gamified four-level assessment covering profile, capital, strategy, and history for users who want a real answer.
Weighted scoring across five destinations
Distinct scoring models for the Netherlands, Finland, Denmark, UAE Golden Visa, and Canadian startup and provincial routes.
Modular architecture
Content in questions.py, scoring in logic.py, and conversation handling in main.py — so criteria can change without touching bot code.
Conversational state machine
Assessment progress held as explicit conversation state rather than reconstructed from message history.
Web eligibility forms lose most users before completion, and the ones lost are not random.
A single assessment length cannot serve both casual curiosity and serious intent.
Five destinations means five genuinely different eligibility models, not one form with a country dropdown.
Immigration criteria change, so the content had to be editable without touching the conversation logic.
Conversational interfaces make state management the central engineering problem.
The insight is about distribution before it is about product: the assessment is not better than a web form, it is better placed.
No signup, no context switch, no landing page. The assessment starts in an app the user already has open.
Quick Scan serves curiosity and Deep Dive serves intent. Forcing both through one flow would fail both.
Because eligibility rules change more often than code, questions and scoring live apart from the bot handlers.
Each destination scores differently because each programme values capital, experience, and history differently.
No account, no website, no download. The first interaction is the assessment itself.
Let the user self-select into the track that suits how serious they are, rather than guessing for them.
Immigration rules move. The architecture assumes the content will change more often than the code.
Phase 1
Define weighted eligibility models for five destinations and separate question content from scoring logic.
Phase 2
Build async handlers and conversation state machine on python-telegram-bot v20.
Phase 3
Ship Quick Scan and the four-level gamified Deep Dive on the shared scoring core.
VisaChee is one of the ventures we design, build, and run in-house at AshaVid.