back

> case study

Virtual Economist

Senior Capstone, Drexel University · 2026 · Stakeholder: Federal Reserve Bank of Philadelphia · Advisor: Jeffrey Segall

Team: Joanna Nguyen, Ben Nordeman, Kaaviya Senthil, Beamlak Mebrate, Michael Moemeke, Kelechi Madueke

Housing agent: a city comparison with sourced data

Housing agent: a city comparison with sourced data

Market agent: stock and analyst data in the same workspace

Market agent: stock and analyst data in the same workspace

Housing heatmap: Zillow and Census layers on one map

Housing heatmap: Zillow and Census layers on one map

Two agents, one platform

Two agents, one platform

> what it is

One chat interface backed by two specialist AI agents: a Housing and City agent (affordability, income, rent, inventory trends, an interactive heatmap) and a Stock and Market agent (quotes, analyst recommendations, sector screening, 90-day charts). Every answer shows its source and the exact data used. Built as a Senior Capstone project for the Federal Reserve Bank of Philadelphia.

> my role

I owned product requirements, UX/UI design, and frontend development, and built the vector search and database functionality.

> problem

Public economic data (housing, income, markets, macro) is free but hard to use. Comparing a few cities means hours finding the right Census tables, HUD codes, and Zillow series, then reconciling different geographic units by hand.

General-purpose AI gives confident figures that are wrong and uncited, which is a liability for institutional research. The target user already knows the question; they spend their time fighting the data.

> solution

One chat interface, two specialist agents. A router reads each question and sends it to whichever agent owns that domain.

  • Housing and City agent: affordability, income, rent, inventory trends, and an interactive Zillow plus Census heatmap
  • Stock and Market agent: quotes, company profiles, analyst recommendations, sector screening, and 90-day charts with Sharpe ratio and drawdown

Every answer returns the source and the exact data used, so results are fully auditable.

> key product decisions

Cheap routing first

About 90% of queries are routed by keyword rules and typo correction before any LLM is called, cutting cost and latency. An LLM classifier only handles the ambiguous remainder.

Trust by design

The exact SQL and the list of tools called are returned with every answer. Nothing is hidden from the user.

Math the model does not touch

Sharpe ratio, drawdown, and volatility are computed in Python, not generated by the LLM.

Custom agent loop, no LangChain

Full control over execution and straightforward to unit test.

AWS Bedrock over direct APIs

Keeps everything inside one AWS security boundary.

Live APIs plus a stored snapshot

Faster screening, no rate-limit issues for common queries.

> data sources

Census ACSHUDZillowFREDFinnhubOpen-Meteo

> stack

Frontend

React 18TypeScriptLeaflet

Backend

Python / FastAPINode / Express auth

AI

AWS BedrockNova Pro agentsTitan router + embeddings

Data

PostgreSQL on RDSpgvector

Infra

EC2nginx

> process

Weekly scrum reviews with the Federal Reserve Bank of Philadelphia stakeholder, where requirements, feedback, and priorities were reviewed and reprioritized. Weekly advisor meetings with Jeffrey Segall. Jira sprints.