Back to work

/03Columbia UniversityGenAI Course ProjectTeam of 4

NYC EventScout

A multi-agent event discovery app — I owned retrieval and ranking.

SearchRetrieveRankWeatherRecommend

Context

Finding something worth doing in New York on a given evening means cross-referencing several sources by hand.

Problem

Users needed a way to discover relevant NYC events without manually cross-referencing sources.

My role

Owned Agent 2, the Event Retriever: DuckDuckGo search combined with a ChromaDB RAG pipeline, plus National Weather Service integration for weather-aware recommendations.

System / architecture

  1. 01Search
  2. 02Retrieve
  3. 03Rank
  4. 04Weather Context
  5. 05Recommendation

Key decisions

Prioritized retrieval quality over prompt complexity after early testing showed weak retrieval was the actual bottleneck, not generation.

Challenges

Open-web results were noisy and inconsistent, so ranking had to be defensible without a labeled dataset. Coordinating four agents owned by four people meant contracts between agents mattered more than any individual implementation.

Outcome

Built on HuggingFace InferenceClient and sentence-transformers, served through FastAPI to a vanilla JS frontend.

Verified with repeated Playwright passes before demo day.

0

Agent pipeline

0 of 0

Core agents owned

What I learned

When output quality is disappointing, the instinct is to rewrite the prompt. Measuring the retrieval step first saved the team from tuning the wrong part of the system.