A modern football-pitch booking platform with admin operations, payments, and live notifications
Yalla hattrack is a full-stack football-pitch booking platform that covers discovery, booking, payment-proof workflows, and real-time admin/user notifications. It is Arabic-first (RTL), mobile-friendly, and built with a modern architecture using Next.js App Router, Prisma, and PostgreSQL.
- Players needed a simple way to find and book football pitches quickly. - Admin operations were fragmented: bookings/users/pitches/payment verification needed one control panel. - "Find players" (Kammel Match) flow required moderation and status lifecycle handling. - Rewards/loyalty needed clear progression and claims management. - Backend performance issues appeared after growth (polling load, query cost, payload size). - Reduced query pressure with smarter caching and pagination. - Added balanced rate-limiting/throttling policies (without hurting legit admins). - Optimized notifications behavior to avoid UI churn during transient failures. - Consolidated heavy metrics queries and reduced repeated database hits. - Reduced chart payload complexity by changing aggregation density over older ranges.
Tuned polling intervals + scoped rate limiting + cache reuse Query consolidation + caching + lean projections Keep last known client state instead of clearing UI
- Faster booking conversion by reducing friction in booking/payment confirmation. - Better operational efficiency through centralized admin dashboard. - Lower support load with clearer statuses, reminders, and notifications. - Improved retention through rewards and repeat-use mechanics.
Football players and teams in Egypt (Arabic users)
- Players needed a simple way to find and book football pitches quickly. - Admin operations were fragmented: bookings/users/pitches/payment verification needed one control panel. - "Find players" (Kammel Match) flow required moderation and status lifecycle handling. - Rewards/loyalty needed clear progression and claims management. - Backend performance issues appeared after growth (polling load, query cost, payload size). - Reduced query pressure with smarter caching and pagination. - Added balanced rate-limiting/throttling policies (without hurting legit admins). - Optimized notifications behavior to avoid UI churn during transient failures. - Consolidated heavy metrics queries and reduced repeated database hits. - Reduced chart payload complexity by changing aggregation density over older ranges.
Core implementation of main features
Final testing and deployment
Engineering Difficulty
I'm always open to new challenges and extraordinary collaborative ventures.