Skip to content
fauzulkcPublic

About

VisaPros is a advanced Agentic AI system that leverages parallel A2A architecture to evaluate visa eligibility for various purposes by evaluating and cross referencing provided documents and information

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

VisaPros: Your AI-Powered Global Mobility Assistant

🚀 The Pitch

The Problem

Navigating the complex web of global visa requirements is a daunting task, whether you're planning a holiday, a business trip, seeking medical treatment, pursuing higher education, or looking to relocate permanently. Applicants often find themselves overwhelmed by fragmented information, confusing legalese, and the sheer volume of documents required for different countries and visa types. Manually checking eligibility for multiple destinations is time-consuming and prone to error, leading to missed opportunities and application rejections.

The Solution

VisaPros is an advanced Agentic AI system designed to act as your personal, intelligent visa receptionist. It leverages a parallel multi-agent architecture to simultaneously evaluate your eligibility for six major destinations (UK, Canada, US, Australia, Norway, Germany) across any visa category—Tourism, Business, Study, Healthcare, or Work. By parsing your documents once and cross-referencing them against real-time immigration rules, VisaPros provides a comprehensive, comparative roadmap for your global mobility.

The Value

  • Universal Coverage: Supports all visa types—from short-term tourist stays to long-term permanent residency.
  • Efficiency: Instantly assesses eligibility for 6 countries in parallel, saving hours of manual research.
  • Strategic Insight: Identifies "low-hanging fruit" – countries where you are closest to eligibility – and provides a prioritized list of missing documents that unlock the most opportunities.
  • Accuracy: Uses specialized sub-agents equipped with Google Search to fetch the latest, authoritative immigration rules, ensuring advice is never outdated.

📝 Write Up

Project Journey

The development of VisaPros began with the goal of simplifying the initial triage phase of travel and migration planning. We started with a single agent but quickly realized that a linear approach was too slow for multi-country evaluation. We evolved the architecture to use the Agent-to-Agent (A2A) framework, deploying specialized "Country Agents" as independent microservices. This allowed for true parallel execution and modular scalability.

We faced challenges in coordinating these independent agents and aggregating their results meaningfully. The breakthrough came with the implementation of a Hybrid Workflow:

  1. Sequential Parsing: To ensure accuracy.
  2. Parallel Evaluation: To ensure speed.
  3. Strategic Advising: To provide value-added synthesis.

Architecture

VisaPros employs a Hub-and-Spoke architecture enhanced with Parallel Processing:

  1. Receptionist Agent (Hub): The main interface that orchestrates the workflow. It uses a SequentialAgent pattern to manage the pipeline.
  2. Parsing Agent: A specialized LlmAgent that extracts structured data (JSON) from user documents.
  3. Parallel Evaluator: A ParallelAgent that triggers six remote RemoteA2aAgent instances simultaneously.
  4. Country Agents (Spokes): Independent FastAPI servers running LlmAgent instances for each country. They use Google Search to validate requirements against current laws.
  5. Strategic Advisor: An aggregation agent that analyzes the collective results to rank countries and recommend the "best path" based on document completeness.
graph TD
    User[User] -->|Documents/Query| VisaPros[VisaPros Receptionist]
    
    subgraph "Sequential Workflow"
        VisaPros --> Parsing[Parsing Agent]
        Parsing -->|Parsed Info| Parallel[Parallel Evaluator]
        
        subgraph "Parallel Execution (A2A)"
            Parallel -->|A2A Call| UK[UK Agent]
            Parallel -->|A2A Call| CA[Canada Agent]
            Parallel -->|A2A Call| US[US Agent]
            Parallel -->|A2A Call| AU[Australia Agent]
            Parallel -->|A2A Call| NO[Norway Agent]
            Parallel -->|A2A Call| DE[Germany Agent]
        end
        
        UK & CA & US & AU & NO & DE -->|Checklists| Advisor[Strategic Advisor]
    end
    
    Advisor -->|Ranked Roadmap| VisaPros
    VisaPros -->|Final Response| User
Loading

🤖 How Gemini is Being Used

VisaPros is powered entirely by Google Gemini 2.5 Flash Lite, chosen for its speed, cost-efficiency, and strong reasoning capabilities.

  • Document Understanding: The parsing_agent uses Gemini's context window to ingest messy, unstructured text (simulating OCR'd documents) and output clean, structured JSON.
  • Complex Reasoning: The strategic_advisor uses Gemini to perform multi-variable optimization – finding the subset of missing documents that maximizes the user's "mobility score" across all target countries.
  • Tool Use: Each country agent leverages Gemini's function calling capabilities to autonomously query Google Search, verifying specific visa rules (e.g., "UK Tourist Visa financial requirements 2025") in real-time.

🛠️ Setup & Instructions

Prerequisites

  • Python 3.10+
  • Google Cloud Project with Vertex AI API enabled (or AI Studio API Key)
  • google-adk installed

Installation

  1. Clone the repository:

    git clone <repo-url>
    cd VisaPros
  2. Install dependencies:

    pip install -r requirements.txt
  3. Configure Environment: Create a .env file in the root directory:

    GOOGLE_API_KEY=your_api_key_here
    GOOGLE_GENAI_USE_VERTEXAI=0  # Set to 1 if using Vertex AI

Running the System

  1. Start the Country Agent Servers: These agents run as independent microservices. Use the helper script to start them all:

    ./start_servers.sh

    Wait for the message "✅ All country agent servers started!"

  2. Run the Main Agent: In a new terminal window, run the receptionist agent:

    adk run visaPros
  3. Interact:

    • Scenario 1 (Strategic): "I want to travel for a summer vacation. Here are my documents... Where is easiest to get a tourist visa?"
    • Scenario 2 (Specific): "Can I apply for a Student Visa in Canada?"

Stopping the System

To stop all running agent servers and clean up processes:

pkill -f 'uvicorn.*Agent.server'

Troubleshooting

  • Port Conflicts: Ensure ports 8001-8006 are free.
  • API Key: Verify your GOOGLE_API_KEY is valid and has access to Gemini models.

About

VisaPros is a advanced Agentic AI system that leverages parallel A2A architecture to evaluate visa eligibility for various purposes by evaluating and cross referencing provided documents and information

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages