Full-stack product · web + mobile
Circle
Social platform for coordinating college nightlife — a web app and a mobile app sharing one backend.
- Year
- 2025 — 2026
- Status
- Built — pre-launch
- Stack
- Next.js · TypeScript · Supabase · Expo / React Native · Tailwind CSS
Deciding where a group is actually going tonight is a mess of group chats, half-answers, and screenshots. Circle turns it into one screen: see what your circles are planning, commit to a plan, and let the plan settle itself.
One backend, two clients
The web app is Next.js with TypeScript and Tailwind; the mobile app is Expo / React Native. Both sit on a single Supabase backend — Postgres for data, Supabase Auth for identity — so a plan made on a laptop is the same plan on a phone. Keeping one source of truth made the two clients a rendering problem instead of a synchronization problem.
Rebuilding the mobile app
The first Expo project drifted into dependency conflicts that no amount of resolution overrides could untangle. Instead of fighting it, I rebuilt the app clean at a fresh path with a minimal, locked dependency set and moved the code over piece by piece. It cost a day and taught me more about dependency discipline than any tutorial: the lockfile is part of the product.
- Web
- Next.js · TypeScript · Tailwind CSS
- Mobile
- Expo / React Native
- Backend
- Supabase — Postgres, Auth
- Status
- Built end to end · launch planned campus-first