VisaPulse

About the Project

VisaPulse was born out of personal frustration, real stakes, and a problem that affects hundreds of thousands of international students every year: the F-1 visa interview.

In August 2024, I faced an F-1 visa rejection.
Despite months of preparation - documents, financial proofs, admit letters, the interview itself lasted barely 2–3 minutes. One unclear answer was enough to derail everything. Suddenly, years of planning were at risk.

I had to reapply within 1.5 months under immense pressure. This time, I paid for visa consultants who conducted mock interviews, pointed out inconsistencies, and helped me refine how I explained my intent, funding, and academic goals. The second interview went differently, and I got my visa.

That contrast was eye-opening.
The difference wasn’t better documents - it was better interview preparedness.

At the same time, visa interviews are objectively getting tougher:

  • Denial rates are rising (especially for certain regions)
  • Interviews are extremely short
  • Officers expect clear, confident, and consistent answers immediately

Yet most students spend all their time preparing paperwork, not practicing how they speak under pressure.

VisaPulse exists to fix that gap.


What VisaPulse Does

VisaPulse is an AI-powered mock interview platform that lets students practice their visa interview before the real one.

It simulates the real experience:

  • Voice-based answers (just like the embassy)
  • Questions tailored to the student’s school, major, funding, and background
  • Honest feedback on clarity, consistency, and completeness
  • Identification of contradictions and missing details before a visa officer finds them

Instead of guessing what might be asked, students practice with questions grounded in real interview experiences.


How We Built It

VisaPulse is built as a structured AI agent, not a generic chatbot.

Architecture Overview

We used a LangGraph-based workflow with four core nodes:

  1. retrieve_cases
    Retrieves relevant real-world interview experiences using RAG from a FAISS index built on thousands of posts from the r/f1visa community.

  2. build_question
    Generates realistic interview questions tailored to the user’s profile:

    • University
    • Degree & major
    • Funding sources
    • Home-country ties
  3. evaluate_answer
    Analyzes the spoken response for:

    • Clarity
    • Logical consistency
    • Alignment with the student’s profile and documents
  4. doc_gap_check
    Cross-checks the response against uploaded documents (e.g., I-20) to flag missing or contradictory details.

Tech Stack

  • Backend: FastAPI
  • Agent Orchestration: LangGraph
  • Retrieval: FAISS (RAG over real interview data)
  • Speech-to-Text: Whisper
  • LLMs: OpenAI / Ollama
  • Reports: ReportLab (PDF feedback reports)

Mathematically, feedback scoring can be viewed as: [ \text{Final Score} = \alpha C_{\text{clarity}} + \beta C_{\text{consistency}} + \gamma C_{\text{completeness}} ] where the weights (\alpha, \beta, \gamma) can be tuned based on interview risk sensitivity.


What I Learned

  • Interviews are a communication problem, not a documentation problem
  • Generic advice doesn’t help—contextual, personalized feedback does
  • RAG grounded in real experiences produces far more realistic questions than prompt-only systems
  • Voice-based practice exposes weaknesses that silent rehearsal never reveals

Most importantly, I learned that many students fail not because they are unqualified, but because they were never given a way to practice realistically.


Challenges We Faced

  • Making feedback honest but constructive
    We had to ensure the agent flags weaknesses clearly without sounding discouraging.

  • Avoiding generic questions
    This required strong retrieval grounding so questions felt like real consular officer prompts.

  • Handling contradictions across modalities
    Aligning spoken answers with uploaded documents was non-trivial but essential.


Impact & Why This Matters Now

Over 680,000 F-1 applicants apply each year.
Many cannot afford expensive consultants—and even those who can often get help only with paperwork, not interview practice.

VisaPulse changes that:

  • Practice before pressure
  • Find weak spots early
  • Make interview prep accessible to everyone

Business & Ecosystem Opportunity

Beyond individual students, VisaPulse has strong institutional value.

Universities invest heavily in recruiting international students, yet the visa interview remains a hard stop at the very end of the pipeline. A rejection benefits no one.

VisaPulse can collaborate with:

  • University Offices of International Students
  • Graduate admissions and enrollment teams

By offering VisaPulse as a pre-arrival preparation tool, universities can:

  • Improve visa success rates
  • Reduce enrollment uncertainty
  • Ensure admitted students actually arrive on campus

It’s a win for students and institutions.


Closing

VisaPulse is personal.
It’s built from rejection, pressure, and experience, and from the belief that students deserve better preparation for one of the most important conversations of their lives.

Practice. Prepare. Pass.

Built With

  • api
  • dataset
  • faiss
  • fastapi
  • generation
  • generation)
  • github
  • langgraph
  • ollama
  • openai
  • pdf
  • python
  • r/f1visa
  • rag)
  • reddit
  • reportlab
  • retrieval-augmented
  • speech-to-text)
  • whisper
Share this project:

Updates