Inspiration
College is the first time most students are away from home, left to handle their finances with no real training. Nobody teaches you what a credit card offer really costs, how to tell a scam text from a real one, or what to do after you have been scammed. In 2025, about $16 billion was reported lost to fraud in the U.S. (FTC), and imposter scams were the most reported kind. Students are on their own money for the first time, and scammers know it.
We wanted one app that helps with all of it, and that a bank like PNC could plug into instead of building from scratch. We called it TheBlip: the small mistake that snowballs if nobody catches it early.
What it does
- Reward reality check: shows what a credit card offer costs after interest and fees, not just the points it advertises. Try it with a sample statement, or let Claude read a statement photo into the sliders.
- Scam check: paste a text or email and get a plain-language verdict with reasons.
- Before you send money: describe a payment request (gift cards, "send it back", a fake bank call) and get Stop, Pause or OK with what to do next.
- Sandbox bank feed: a made-up student account sends events a real bank would (a paycheck, a 2 AM purchase, a payment to a new person). TheBlip reacts and warns the student on their Home screen.
- Recovery mode, quests and points for safe habits, with daily limits so points cannot be farmed.
- Groceries and free food: compare stores on price and health, scan a receipt for real prices, and find free food on a map.
- For banks: a partner API, embeddable widget, signed webhooks and a console.
- For everyone: the app and its warnings in 29 languages, read aloud in 25, built with screen readers and keyboards in mind.
How we built it
- Front end and back end: Next.js in plain JavaScript.
- AI: Anthropic Claude reads statements and receipts, understands grocery requests and translates warnings. NVIDIA Nemotron checks every scam message. ElevenLabs reads warnings aloud.
- Data and hosting: Tiger Cloud (Postgres) for saved state, DigitalOcean App Platform for hosting, and theblip.tech for the domain.
- One rule we never broke: the AI reads and explains, and our code does all the math. Claude never computes a price, total or interest figure. The true cost of carrying a balance is computed by us as
$$ B_n = B_0\left(1 + \frac{r}{12}\right)^{n} $$
where $B_0$ is the starting balance, $r$ is the APR and $n$ is the number of months.
We measured the scam check, and found a weakness
We built a set of 483 synthetic messages (scams, tricky legitimate messages, disguised scams, and messages in 8 languages), split into a part for tuning and a part we held back and scored once.
| Design | Scams caught | False alarms |
|---|---|---|
| Our first design | 74% | 6% |
| What we ship now | 100% | 8% |
The first design missed about a quarter of scams, including 42% of the non-English ones, because a message with no keyword hit never reached the AI. We also found that the AI model we were using was too slow on 42% of calls, that the model sometimes returned almost-valid JSON our code threw away, and that two test runs together hit the provider's rate limit. We fixed all of it, and the app now tells the user when the AI double-check did not run.
Honest limits: the data is synthetic and the test part is only 138 messages, so the error ranges are wide. We have not tested on real student messages or against attackers who target this system. Everything is written up in docs/SCAM-EVAL.md.
Challenges we ran into
- Shared state on the cloud: several server copies each held their own memory, so points changed between refreshes. We moved to a saved database and one server.
- A database certificate error on Tiger Cloud until we changed how the app sets up SSL.
- Voice and language: ElevenLabs does not list Yorùbá. We tried it, the intonation was wrong, so Yorùbá and Igbo are text only for now instead of shipping a voice that sounds wrong.
- Accessibility bugs we caused ourselves: our own skip link stretched right-to-left pages to 11,000 pixels wide (Arabic pages rendered blank), and a language menu overflowed the top bar on phones. We found them by testing and fixed them.
- Point farming and abuse: daily caps, rate limits, hashed API keys, signed webhooks and protection against private-address callbacks.
What we learned
- Measure your own design. Ours had a real hole that we only saw once we tested on harder messages.
- Have the AI read and explain, and have plain code do the math.
- Accessibility and language are part of protecting people, not extras: the people most likely to be scammed are often the people least served by English-only screens.
Data, AI use and honesty
- Synthetic data only. No real accounts, credentials or records are needed. The reality check has a sample statement, and the bank feed is made up.
- AI tools are credited in the README: Claude, Nemotron and ElevenLabs in the product, and Claude Code as a coding assistant.
- Translations are AI-made and need native-speaker review. We have run an accessibility scanner (0 issues) but not yet tested with a real screen reader.
What's next
- Real bank events and a pilot with a bank or campus financial office.
- Native-speaker review of translations, real screen-reader testing, and testing on real scam messages.
- Live store prices for the grocery compare.
Built With
- accessibility
- anthropic-claude
- claude
- claude-api
- css
- digitalocean
- elevenlabs
- github
- html
- javascript
- nextjs
- node.js
- nvidia-nemotron
- openstreetmap
- postgresql
- react
- tiger-cloud
- webhooks
Log in or sign up for Devpost to join the conversation.