Full-Stack Event Platform with Auth, Maps & PWA
Client Bio /
I built a full-stack event discovery and management platform for the open mic community in Tampa Bay, using Next.js 15, Supabase, Prisma, and AWS SES.
Role
Creator & Developer
Technology
Stagelet is an open mic discovery and management platform. It helps performers find open mics, comedy, music, poetry, and open jams, and helps hosts keep their listings accurate. Tampa Bay is the first live metro, with the architecture built to expand. I designed, built, and operate it end to end: product, design, code, and infrastructure.

The core product problem with event listings is staleness, so every listing sits in one of three trust tiers, derived at render time from event data rather than stored flags. Verified means the host has confirmed the listing within the last 30 days. Claimed means it's owned, but the confirmation has gone stale. Community means no one owns it yet: anyone can submit a mic they don't run, and the real host can claim it later through an admin-approved workflow. Every public list sorts Verified first, so accuracy is rewarded and the data stays fresh.
Freshness is enforced by automation. A daily cron job finds listings that haven't been confirmed in 27 days and emails the host a one-click verify link, a signed JWT that stamps the confirmation with no login required. If the window lapses, the listing quietly drops from Verified to Claimed. Submissions, claims, and approvals each trigger their own transactional emails through AWS SES.
Supabase Auth supports magic links and passwords on the web, plus Bearer-token sessions for mobile clients, with both paths resolving through a shared utility that maps the authenticated user onto the local Prisma model. Admin permissions are re-checked server-side on every admin route.
Each metro is a GPS bounding box powering a synced Leaflet map and list view, with filters for day, city, event type, tier, and free-text search. Event pages support anonymous crowd check-ins, "I went" or "Canceled", protected by reCAPTCHA v3 and deduplicated by hashed IP so each visitor gets one vote per event.
Structured data runs through the whole site: Event, Organization, FAQ, and Breadcrumb JSON-LD, a build-time sitemap generated from the public API, and Open Graph images rendered at the edge. A Serwist service worker precaches assets so previously viewed content works offline, and an install page turns the browser prompt into a one-tap PWA install.
What started as a way to get hands-on with Supabase grew into a production platform with 31 API endpoints, a three-tier trust model, an admin moderation console, automated email lifecycles, and offline support, designed, built, and operated by one person.
Role
Creator & Developer
Technology