ThrottleBase is a mobile-first rider platform where users can create and join rides, share routes, track ride history, and interact with a community.
- Ride lifecycle: draft, schedule, join, active, complete
- Route and GPS: route creation, sharing, bookmarks, trace ingestion
- Community: posts, comments, likes, follows, groups, ride reviews
- Rewards and engagement: badges, achievements, leaderboard
- Notifications and account controls: preferences, privacy, 2FA, login activity, session management, support
- Operations and moderation: admin support ticket triage plus mention-triggered notification fanout
- Live group sessions: realtime ride coordination, ride-room updates, and safety flow
- Server: Node.js 22+, TypeScript, Express 5
- Data: PostgreSQL + PostGIS
- Client: Expo, React Native, Expo Router, Zustand, TanStack Query
- Realtime: Socket.IO (
/livenamespace) - Background processing: DB-backed queue + worker processors
server/backend API, queue worker, migrationsclient/Expo application and UI flowsdocs/project documentationai-assistant.mdconcise operational context for AI-assisted development
- Install dependencies:
cd server && npm install
cd ../client && npm install- Ensure PostgreSQL + PostGIS are available and env is configured in
server/.env. - Run migrations using your existing migration workflow.
- Start backend and worker:
cd server
npm run dev
# separate terminal
npm run worker- Start client:
cd client
npm start- Documentation index:
docs/README.md - Architecture:
docs/architecture.md - Technical overview:
docs/technical-overview.md - API inventory:
docs/api-endpoints.md - Database design:
docs/database-design.md - Technical decisions:
docs/technical-decisions.md - Status/backlog:
docs/project-status.md