Home
Ashavid
Back to Portfolio
Built by AshaVidImmigration / Conversational ProductsBuilt 2026

VisaChee

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.

Quick ScanDeep DiveScoring core5 destinations
Two tracks for two intents, sharing one weighted scoring core.
  1. Application

    Where the rules run

    • Python 3.9+
    • python-telegram-bot v20 (async)
    • State machine persistence

A compact view of the venture

Venture
VisaChee
Category
Conversational assessment
Stage
Shipped
Core challenge
Eligibility forms have terrible completion rates
Our role
Product design and engineering
Focus areas
Assessment design, weighted scoring, conversational UX

Why we started building this

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.

What we built

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.

Why this needed to exist

  • 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.

How we framed the opportunity

The insight is about distribution before it is about product: the assessment is not better than a web form, it is better placed.

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.

Two intents deserve two products

Quick Scan serves curiosity and Deep Dive serves intent. Forcing both through one flow would fail both.

Separate content from logic from transport

Because eligibility rules change more often than code, questions and scoring live apart from the bot handlers.

Weighted models, not checklists

Each destination scores differently because each programme values capital, experience, and history differently.

Where the existing options fell short

What existing assessments offered

  • Comprehensive eligibility questionnaires on consultancy websites.
  • Official government criteria pages with authoritative detail.
  • Consultation calls that give a real answer after a booking and a fee.

What was missing

  • An answer available in under a minute, before any commitment.
  • Presence on the platform the audience already uses daily.
  • A path that scales from casual curiosity to serious assessment.
  • Comparison across multiple destinations in one pass.

The decisions that shaped the product

Remove every step before the first question

No account, no website, no download. The first interaction is the assessment itself.

Match assessment depth to user intent

Let the user self-select into the track that suits how serious they are, rather than guessing for them.

Keep criteria editable

Immigration rules move. The architecture assumes the content will change more often than the code.

How it came together

  1. Phase 1

    Scoring models and content structure

    Define weighted eligibility models for five destinations and separate question content from scoring logic.

  2. Phase 2

    Conversation engine

    Build async handlers and conversation state machine on python-telegram-bot v20.

  3. Phase 3

    Dual-track experience

    Ship Quick Scan and the four-level gamified Deep Dive on the shared scoring core.

Where the product stands today

  • A shipped Telegram bot with two distinct assessment tracks
  • Weighted scoring across five immigration destinations
  • A four-level gamified deep assessment covering profile, capital, strategy, and history
  • Modular separation of content, scoring logic, and bot handling
  • Zero-signup access on a platform the target audience already uses

What building this taught us

  • Distribution choices often beat product improvements.
  • Different intents need different flows, not one flow with more branches.
  • Content that changes on a policy cycle should not live in application code.
  • Conversational products are state-management products.
  • Removing the signup removes most of the drop-off.

We build the products we would want to operate ourselves.

VisaChee is one of the ventures we design, build, and run in-house at AshaVid.