IN
Group hangout planning with real-time coordination and in-app payments.
| sustained throughput | 228 req/s |
| concurrent users | 500 |
| server-side 5xx | 0 |
| p95 latency | ~900 ms |
Planning a group outing usually means four chats, a poll nobody answers, and one person fronting the money. IN puts the plan, the people, and the payment in one place.
What I worked on
- Modular monolith on PostgreSQL 15 (Supabase): 38 tables, 55 migrations, row-level security.
- 10 BullMQ workers on Redis for notifications, reminders, and other background work.
- Real-time updates over Socket.IO, with authentication through Firebase Auth.
- Paymob integration for Visa and cash, with HMAC-verified webhooks.
- Load tested at 500 concurrent users: 98% success, zero 5xx, p95 around 900 ms and p99 around 1.7 s.
- Clients: a Flutter Android app and a React/Vite admin dashboard.
Built with
TypeScript, Node.js, Express, PostgreSQL, Supabase, Redis, BullMQ, Socket.IO, Paymob, Flutter.
Next: WorkHub