Inspiration

The college application process is genuinely stressful. There is too much information, most of it conflicting, spread across Reddit threads, YouTube videos, and paid forums. You do not know which universities to target, which specialization fits your profile, whether your SOP is good enough, or what visa documents you even need.

So most students do what feels safe: they pay a counselor. Thousands of dollars for someone to hand-hold them through a process that should not require that.

We built Cortis because that should not be the only option.


What It Does

Cortis is a fully agentic AI college counsellor. Seven specialized Claude agents walk a student through the entire application process in one session.

  • Course Debate -- Three AI agents each argue for a different specialization that fits the student's background. They pitch, rebut each other, and answer live questions. The student picks their path.
  • University Recommendations -- An advisor agent pulls real-time program data via the LinkUp Search API and ranks the top 10 universities by fit score, with reasoning and tuition estimates.
  • University Race -- Shortlisted universities race on an animated track driven by fit scores. Fun, fast, and surprisingly memorable.
  • Uni Rep Chat -- Each university gets a distinct AI persona. Ask the MIT rep about research opportunities at midnight. It answers.
  • SOP Agent -- Generates a tailored Statement of Purpose per university using the student's resume, goals, and why that specific program.
  • Visa Agent -- Country-specific requirements, document checklists, financial proof thresholds, and interview prep.
  • Scholarship Agent -- Finds real scholarships matching the student's profile via LinkUp, ranked by eligibility and deadline.

How We Built It

Backend: Python, FastAPI, aiosqlite (SQLite), PBKDF2 auth with 14-day bearer token sessions

Frontend: React 18, TypeScript, Vite, Tailwind CSS v4, Framer Motion, react-markdown + remark-gfm

AI: Anthropic Claude API (claude-sonnet-4-20250514) -- 7 specialized agents with purpose-built system prompts, streamed via SSE

Data: LinkUp Search API for real-time university, course, and scholarship data

Other: Recommendation caching in SQLite (28s cold start to under 100ms on repeat), multi-agent SSE orchestration for the debate pipeline


Challenges We Ran Into

Multi-agent coordination. The debate has three agents running in parallel for Round 1, then each reads the others' outputs before writing Round 2 rebuttals. Getting the SSE event ordering right without race conditions was the hardest engineering problem in the build.

Grounding in real data. LLMs hallucinate program details and stale tuition figures. Wiring LinkUp Search API into the recommendation agent meant students get real, current information instead of confident fabrications.

Scope under time pressure. Seven features, all end-to-end. Every decision had to be ruthlessly scoped or it would not ship.


Accomplishments We Are Proud Of

The debate UI is genuinely new. Three AI characters arguing about academic fields with live audience Q&A is something no college counseling product has shipped.

Seven agents in a real pipeline, not a chatbot with a system prompt. Each has distinct context, personality, and purpose.

A student leaves with a university shortlist, a drafted SOP, a visa checklist, and matched scholarships. That is the full work of a human counselor, in one session, for free.


What We Learned

Agent communication is its own design problem. What context does Agent B need from Agent A? In what format? At what point in the flow? Getting that right matters more than the prompts themselves.

Grounding is not optional. The moment you connect an LLM to real search data, the quality of the output jumps noticeably. Users trust specific, current information. They can feel the difference.

Time management under pressure is a skill. Scoping features ruthlessly, shipping something that works end-to-end rather than ten things that half-work, is the whole game at a hackathon.


What's Next for Cortis.OL

  • Application deadline tracker synced to each university's admissions calendar so nothing gets missed
  • Peer network so students can find and message others who got into their target programs
  • Document upload so the SOP agent reads actual transcripts and LORs instead of self-reported data
  • WhatsApp interface, because that is where most students actually are

Built With

  • claude
  • linkup
  • python
  • react-18
  • vercel
Share this project:

Updates