Web application
StudySpot
Campus study-space finder with crowdsourced live occupancy and three-tap room booking
What I built
- Built a campus study-space finder on Next.js and Supabase: magic-link auth, six tables under RLS, three-tap booking
- Replaced a hardcoded "30% full" occupancy fallback with a recency-weighted average and an explicit unknown state
How the numbers were measured
Built a campus study-space finder on Next.js and Supabase: magic-link auth, six tables under RLS, three-tap booking
Counted from the repository 2026-09-09: 10 page routes under src/app, six tables (profiles, spots, rooms, reports, bookings, saved_spots) in supabase/migrations/0001_schema.sql, each with RLS. Live at studyspot.mayank-goel.com. All 8 commits authored by me, though the course project itself was Team User First (Group 8). The claim is about the code in this repository, not the team's other work.
Built with
Next.jsTypeScriptSupabasePostgreSQLApp RouterReact Server ComponentsServer ActionsTailwindZodDrizzle OrmRow Level SecurityMagic Link AuthPwaSupabase RealtimeService WorkerRate LimitingVercel
Why this stack
Built for CS 3724 (HCI), Spring 2026, but the repository is not a prototype. Next.js 16 App Router with Server Components by default, six Postgres tables with row-level security on every one, magic-link auth, and an installable PWA. All 8 commits are mine.