💡 Inspiration

Every student planning their academic future faces the same overwhelming problem — too many decisions, too little guidance, and tools that only solve one piece of the puzzle. You need to research universities, hunt for scholarships, evaluate your own profile, set clear goals, and build a realistic timeline — all at once, all alone.

We wanted to build something that felt like having five expert advisors in one place, each deeply focused on their specialty, available 24/7, and tailored to your specific situation.

That's what inspired iTaqiZ AgentVerse.


🔨 How We Built It

We built AgentVerse as a full-stack TypeScript application with a React frontend and an Express backend. The core idea was a multi-agent architecture — instead of one generic AI assistant, we built five specialized agents, each with its own system prompt, personality, and area of expertise.

Frontend is built with React 19 and Tailwind CSS, featuring a clean dark-mode UI with per-agent conversation history, markdown rendering, and a responsive sidebar for agent switching.

Backend is an Express server that acts as the agent router — it receives the user's message, identifies which agent is active, injects the correct system prompt, and forwards the full conversation history to the LLM.

LLM is powered by the Groq API running LLaMA 3.3 70B, chosen for its exceptional speed and quality on reasoning and advisory tasks.

Each agent maintains independent conversation memory, so switching from University Match to Scholarship Scout never loses your context with either agent.



🚧 Challenges We Faced

1. API quota issues — We initially built around the Gemini API but hit free tier quota limits during development. We pivoted to Groq mid-hackathon, which required rewriting the entire API layer and response parsing logic.

2. Keeping the API key secure — Deploying to Vercel meant we couldn't use our Express server directly. We had to restructure the backend into a Vercel serverless function (api/chat.ts) while keeping the same frontend interface working without any changes.

3. Per-agent conversation isolation — Early versions mixed conversation history across agents, causing agents to "remember" conversations from other specialists. We fixed this by keying message history to each agent ID independently.

4. Windows development quirks — Something as small as .gitignore being saved as .gitignore.txt by Windows caused the API key to accidentally get pushed to GitHub, requiring a key rotation mid-development.


📚 What We Learned

  • How to architect a multi-agent system with isolated context per agent
  • How to deploy a Vite + Express project to Vercel using serverless functions
  • How to securely manage API keys across local development and cloud deployment
  • The importance of fallback planning when third-party APIs fail under pressure

🔮 Future Work

  • Agent collaboration — agents sharing context with each other automatically
  • CV and transcript upload for the Profile Analysis Agent
  • Persistent sessions with user accounts
  • Scholarship deadline email alerts
  • Support for Urdu and Arabic languages
  • Live university admission data via external APIs

Built With

Share this project:

Updates