Campus club room-booking tool
The sharer told this exact project in their Stripe new-grad interviews and went on to receive the offer.
Step into this interview
4 real follow-ups from the actual loop · 1 hard · ~12 min
You answer each question first — only then does the sharer's real take open up.
How they told it
A booking site my student org used to reserve shared practice rooms, replacing a chaotic shared spreadsheet.
Read the full telling
Before this, our dance club booked shared studio time in a Google Sheet, and people constantly double-booked or erased each other's rows. I built a small booking web app over a semester. Frontend was plain React, backend was Django with Postgres because I wanted real relational constraints. The core data model was rooms, time slots, and bookings, and the thing I'm proudest of is I put a database-level unique constraint on (room_id, slot) so two people literally could not book the same room at the same time, no matter what the frontend did. I learned that the hard way — my first version checked availability in application code, and during a busy signup window two requests both passed the check and both inserted. Classic race. The unique constraint plus catching the insert error and showing 'someone just grabbed this' fixed it cleanly. I also added a simple email confirmation via a background job so a slow mail send didn't block the booking response. It ended up used by around 40 club members for a semester. I kept auth dead simple with school Google sign-in because I did not want to store passwords.
What they actually got asked
Walk me through the double-booking bug and how you actually fixed it.
hardWhy Postgres and Django rather than something lighter like SQLite or a no-backend Firebase setup?
mediumWhy move email into a background job?
easyIf this went from 40 users to your whole campus, what's the first thing that falls over?
medium