Inspiration

At UT Dallas, meal plan swipes are constantly wasted while other students on campus are looking for cheap, convenient food. We'd seen classmates trying to arrange informal swipe-for-cash trades over GroupMe and Discord, with no way to verify the trade actually happened safely. We wanted to build a trusted, campus-only way to connect the two sides.

What it does

UTDDash is a peer-to-peer marketplace built exclusively for verified @utdallas.edu accounts. Swipe Providers list extra meal swipes; Buyers request food using those swipes at a discount. Every order moves through a clear lifecycle — Requested → Accepted → In Progress → Delivered → Completed, with real-time chat and notifications so both sides always know what's happening.

The core trust mechanism is our QR code handshake: when a provider marks an order "Arrived," the app generates a one-time QR code. The buyer scans it in-app to confirm the delivery actually happened, which unlocks order completion and mutual ratings. This prevents false delivery claims and keeps both sides honest.

How we built it

  • Backend: FastAPI (Python), PostgreSQL with SQLAlchemy ORM, JWT-based auth
  • Real-time: WebSockets for live order status updates and in-app chat
  • Frontend: Next.js + TypeScript, styled with Tailwind CSS
  • Security: bcrypt password hashing, one-time-use QR tokens with expiration

Challenges we ran into

  • Designing an order state machine that felt natural to both sides of a trade, without overcomplicating the UI
  • Making the QR handshake genuinely tamper-resistant (single-use, time-limited tokens) while still fast enough to use in person
  • Keeping WebSocket connections in sync with database state across order status changes

Accomplishments that we're proud of

  • A fully working end-to-end order flow: registration, listing, requesting, real-time chat, QR-verified delivery, and ratings
  • A trust and safety layer (QR handshake) that's genuinely novel compared to informal swipe-trading methods students were using before

What we learned

  • How to design and secure a real-time system with WebSockets alongside a REST API
  • The importance of building trust mechanisms (not just features) into a peer-to-peer marketplace from day one

What's next for UTDDash

  • In-app payments with escrow (Stripe Connect), so funds release only after QR confirmation
  • Live UTD dining hall menu integration
  • A map view of open requests near you
  • Expanded reputation system with verified badges and weighted ratings
  • Containerized deployment on AWS for scale

Built With

Share this project:

Updates