Experience
Tagalong
A social events app, discover on the map, RSVP, host, and chat in real time.

Tagalong is a social-events app for discovering, hosting, and attending things in real life. I built the whole product solo, a NestJS backend, an Expo mobile app, and a separate admin platform, including a custom trending algorithm, real-time chat, geospatial discovery, and a full personal-safety suite.
Stack
The systems I built
03 distinct products under one engagement, built end to end.
Mobile app
The consumer Expo / React Native app where people discover events, host them, chat, post ephemeral moments and manage personal safety. I built the entire client end to end.
Full event lifecycle UI, host, attend and manage, with a map location picker, activity feeds, photos and per-event group chat.
Native social auth + OTP onboarding, Google and Apple sign-in alongside email/password, OTP verification and a multi-step profile setup.
Ephemeral 24-hour moments, story capture and playback backed by expo-video and image tooling.
A deep safety suite, SOS, trusted and emergency contacts, live location sharing, blocked users and reporting preferences.
Real-time chat with typing indicators, socket.io on the client, TanStack Query for server state and Zustand for client state.
Backend API
The user-facing NestJS API powering the app, auth, events, messaging, moments, notifications and safety. I built the modular architecture, Drizzle schema and background jobs.
Event discovery & hotness ranking, a service that batch-recomputes event scores for feed, trending, recommendations and nearby, with a single-query batch-update optimization.
Real-time messaging over WebSockets, a socket.io gateway with join/leave/typing events, conversations, participants and message reactions.
Ephemeral moments with scheduled cleanup, 24-hour TTL plus an hourly cron sweeper that expires records and deletes their objects from Cloudflare R2.
Multi-provider integrations, Cloudflare R2 storage with a local fallback, chunked Expo push notifications, Resend email and Termii SMS/OTP.
A hardened auth stack, JWT access + refresh, session tracking, password history, OTP, Google/Apple token verification, throttling and Helmet.
Admin platform
An internal operations portal, a Next.js console plus a separate NestJS admin API with role hierarchy and an audit trail, for moderators and support to oversee users, events, reports and safety.
Operations console with a moderation focus, Users, Events, Stories, Reports & Safety, Chats, Notifications and Support, built to a canonical data contract that mirrors the backend schema.
Role-based access with hierarchy, super-admin > moderator > analyst > support, enforced by a roles guard and a dedicated admin JWT strategy.
Moderation & audit infrastructure, a moderation-actions service plus an append-only audit log for accountability.
An analytics service, overview, users, events, engagement and safety, with export endpoints and Recharts dashboards.
Next
Digitaley Drive