Inspiration

Today the four of us walked to Upside Pizza because their website said free pizza. We got there. It wasn't free. The deal had ended and nobody updated the page.

We laughed it off, but it stuck with us. We've all had this happen. The price online says one thing. Then you hit the counter or the checkout and reality hits.

We're students. Every few dollars counts. We don't need more ads or "limited time offers." We need to know what food actually costs, right now, near us. And the only people who know that are the ones who just paid for it.

So we built Pricey.

What it does

Pricey shows you real food prices across NYC, reported by the people who just paid them.

You're hungry and on a budget. You open Pricey, and it shows you what food costs at every spot nearby, cheapest first. You can also see it all on a map, with a glow where people are reporting right now.

When you buy something, you report the price in seconds. Type it in or snap your receipt. Your report joins everyone else's, and the crowd decides what's true. The price most people agree on becomes the trusted price. One person, one vote, so nobody can game it. Old prices fade out so the info stays fresh.

Free food and deals work the same way. Someone spots free bagels until 5pm, posts it, and people nearby see it while it's still real.

Don't want to open an app? Just text Pricey. Ask "how much are eggs near me" or "any free food right now" and get an answer built only from real reports.

Know what food costs before you go. Real prices, vouched for by New Yorkers.

How we built it

We split into four lanes so we could move fast without stepping on each other.

  • Backend: Next.js and Firebase Firestore, with one shared data layer the whole team used. The vouching logic lives in its own file with its own tests.
  • Frontend: shadcn/ui, a nearby view sorted by distance, the report flow, a Mapbox map, and live borough forums. Deployed on Vercel.
  • AI: Gemini powers chat and receipt scanning. We feed it a fact sheet built from our own data and forbid it from inventing prices.
  • Texting: An iMessage bot through Photon. Phone numbers are never stored, only a one-way hash.

Our rule for the day: get the core loop working first. Report a price, vouching updates the trusted price, look it up. Everything else came after.

Challenges we ran into

Trust. Anyone can type a fake price. We only count each person's latest report per item and store, and people whose reports usually match the crowd earn a little more weight.

AI that makes things up. A chatbot that invents a price is worse than no chatbot. Gemini only answers from facts we hand it.

Rate limits. The free Gemini tier gets busy. We run two models so one covers for the other. If both are down, the app answers straight from our price data.

Small snags that ate time. GitHub blocked a push because a map token was in the code. Our own security rules rejected our back-dated seed data. We fixed both and moved on.

Accomplishments that we're proud of

  • The core loop works end to end: report, vouch, look it up.
  • You can use Pricey by texting it, not just through the app.
  • The chat never goes dead. If the AI fails, the data still answers.
  • It feels like something we'd actually use tomorrow.

What we learned

  • Trust is a design problem, not just a data problem.
  • Always build a fallback. Things break at the worst moment.
  • Clear ownership early made merging easy.
  • The simplest version of an idea is the one worth finishing first.

What's next for Pricey

  • Pull in more real prices straight from store websites.
  • Get students on campus reporting so the data fills in fast.
  • Smarter alerts when something you buy gets cheaper.
  • Add blockchain so every price report has a tamper-proof record anyone can check.

We built Pricey so nobody walks in expecting free pizza and walks out paying full price.

Built With

Share this project:

Updates

Submission history