What we built
- A Go backend (connectrpc and Gin) on PostgreSQL and Redis, with a TanStack Start frontend.
- Tuya IoT lockers, Stripe payments, Twilio SMS, and Resend email.
- Staff and admin dashboards, reservations, inventory, and cron jobs for event-day operations.
- Docker Compose with ACME for deploys.
- A Laravel port of the locker rental side with NFC cards and 90+ Pest tests.
One decision worth noting
Partway through, we moved the Go server's auth from WorkOS to Clerk JWTs so it matched a second backend on Hono and Cloudflare Workers. That meant reworking middleware, token validation, and sessions across two runtimes.
Why it's here
It didn't survive, and I learned a lot from that. Real payments and real hardware taught me things I wouldn't have learned otherwise.