Inspiration

Applying for a visa or relocating often feels like assembling a puzzle with missing pieces: requirements vary by country and purpose, information is scattered across many sources, and small mistakes (expired passport, missing proof, wrong timing) can lead to delays or rejection.
VisaVerse Mobility Copilot was inspired by this real-world friction: people should be able to move, study, work, and collaborate across borders without spending weeks decoding administrative steps.

What it does

VisaVerse Mobility Copilot turns a user’s profile (origin → destination, purpose, dates, constraints) into an actionable mobility plan:

  • A step-by-step checklist (what to do)
  • A timeline (when to do it: J-60 / J-30 / J-7, etc.)
  • A document pack grouped by categories (what to prepare)
  • Red-flag alerts (common rejection risks) with mitigation tips
  • A Q&A copilot to answer “what if…?” questions (e.g., no sponsor, short timeline)

How we built it

We built a lightweight web app with:

  • A simple onboarding form to capture mobility context (country pair, purpose, dates, passport validity, funding/sponsor)
  • A backend that generates a structured plan in JSON so the UI can render it reliably (timeline, checklist, documents, risks)
  • A small knowledge base (markdown) plus retrieval (RAG) to ground recommendations in relevant guidance snippets
  • A rules layer for deterministic checks (passport validity window, time-to-departure, missing funding signals) to produce consistent risk alerts

AI approach (RAG + structured output)

The copilot uses an LLM to generate the plan, but we enforce:

  • Structured output (schema-driven JSON) for clarity and usability
  • Retrieval-augmented generation (RAG) so the model cites relevant knowledge snippets and avoids generic answers
  • Risk checks combining LLM reasoning + deterministic rules for high-impact issues

Challenges

  • Making outputs reliable: we solved this by using JSON schemas and validating responses before rendering.
  • Avoiding vague advice: RAG grounding + “source references” improved specificity.
  • Balancing global scope: visa rules differ a lot, so we designed the KB to be expandable by country pair and purpose.

What we learned

  • Users need actionable guidance more than long explanations.
  • Combining RAG + structured plans + simple rules creates a better experience than a chat-only assistant.
  • Mobility tools must be inclusive: clear language, explainers, and frictionless UX matter.

What’s next

  • Expand the knowledge base to more country pairs and visa types
  • Add document upload (OCR) to automatically detect missing/invalid docs
  • Add reminders and calendar integration (deadlines, appointments)
  • Support more languages and accessibility features

Built With

  • chromadb-(or-faiss)
  • docker
  • embeddings
  • fastapi
  • markdown-knowledge-base
  • next.js
  • openai-api-(or-llm-api)
  • pydantic
  • python
  • rag
  • rag-(retrieval-augmented-generation)
  • react
  • tailwind-css
  • typescript
  • uvicorn
Share this project:

Updates

Submission history