Inspiration
Ordinary people make daily financial decisions—whether to buy a car now or wait, lock in a mortgage rate, or decide how much to save—but they're drowning in political and economic noise. A Federal Reserve chair's statement about quantitative easing sounds important, but what does it actually mean for you?
We built Bellweather to translate that noise into plain-language, personalized alerts about the things that actually affect your wallet: inflation, interest rates, housing, gas prices, and jobs.
What it does
Bellweather monitors what politicians and public officials say, then uses Claude to extract the real-world economic impact of each statement. It personalizes that impact based on the user's financial situation and surfaces it as a simple, digestible alert.
The killer feature is that it grounds claims in reality.
When a senator says, "prices will fall," Bellweather doesn't just report the statement—it tracks whether the prediction actually came true using real economic indicators such as:
- Consumer Price Index (CPI)
- Interest rates
- Gas prices
- Employment data
Over time, this builds a public track record of accuracy and accountability.
The same news generates different guidance for different people. A prospective homebuyer and a renter will receive entirely different recommendations from the exact same statement.
How we built it
- Next.js + TypeScript + Tailwind CSS for a fast, modern frontend.
- Claude API powers the translation engine. Every post is:
- classified,
- impact scored,
- summarized into plain English,
- and personalized for each user profile using structured output.
- SQLite + Prisma provide lightweight, zero-configuration persistence.
- Pluggable adapter architecture for ingesting data sources.
For the hackathon demo, we shipped with a seed dataset of realistic political and economic posts so the application works entirely offline.
The architecture is designed so live integrations (X API, FRED, EIA, BLS, etc.) can later replace the mock adapters without changing the core application logic.
Challenges we ran into
Making Claude "plain enough"
Our earliest summaries still contained too much economic jargon.
We solved this by giving Claude a stronger persona prompt:
"Assume the reader has never taken an economics class."
That simple constraint dramatically improved readability.
Personalization without overfitting
We had to decide how personal the system should become.
Our solution was to:
- re-rank alerts based on relevance,
- rephrase suggested actions for each user,
- but never invent false relevance.
For example, a gas-price alert still appears for a remote worker—it simply receives a lower priority.
Live APIs vs. reliable demos
Live APIs introduce latency and occasional failures, which are risky during judging.
Instead, we chose a seed-first architecture with clean adapter boundaries.
This let judges immediately experience the claim-tracking feature instead of waiting for external services.
Accomplishments that we're proud of
Personalized feed switching
Switching between two user profiles instantly produces completely different alerts from the same underlying political statement.
That moment makes the value of AI personalization immediately obvious.
Claim vs. reality tracker
Building a public ledger comparing what officials predicted with what actually happened—using objective economic data—is both technically interesting and journalistically valuable.
It transforms political rhetoric into measurable accountability.
Extensible architecture
The adapter pattern allowed us to ship a polished offline demo while keeping a clear path toward production-scale live integrations.
Judges could see not only what we built, but how it could realistically evolve.
What we learned
Constraints beat creativity for LLMs
Structured outputs and carefully designed prompts consistently outperform hoping for good free-form generations.
Reliability beats more features
Initially, using a seed dataset felt like a compromise.
Instead, it became one of our biggest strengths because every demo was fast, deterministic, and polished.
Personalization is about reducing noise
We nearly built a recommendation engine.
Instead, we discovered users didn't want more information—they wanted the same information, prioritized for what actually matters to them.
Future Work
Potential production integrations include:
- X API for live political statements
- Federal Reserve Economic Data (FRED)
- Bureau of Labor Statistics (BLS)
- Energy Information Administration (EIA)
- Real-time inflation and mortgage datasets
The core architecture already supports these through interchangeable adapters.
Built With
- next.js
- npm
- prisma
- react
- sqlite
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.