MyPizza
My first full-stack product, built entirely solo. I handled everything — database schema, API routes, frontend UI, admin dashboard, gamification systems, push notifications, and PWA setup. From zero to a production restaurant platform.
Overview
This was my proving ground as a full-stack developer. MyPizza is a production restaurant ordering platform I built for a wood-fired pizza place in Tripoli, Lebanon. Not a tutorial project — a real system with real users, handling real orders.
I designed the database schema in Supabase, wrote every API route, built the entire frontend with Next.js 16 and React 19, created a full admin dashboard with 7 management tabs, built a separate staff portal for kitchen and delivery teams, implemented a gamification layer with a spin wheel and loyalty points, and set up push notifications and PWA support.
Building this solo forced me to think about every layer of a product — not just the UI, but database design, authentication flows, notification infrastructure, analytics, and the business logic that connects it all. It's the project that made me a full-stack developer, not just a frontend developer.
What I Built
Menu, Cart & Checkout
Dynamic menu fetched from Supabase with category filtering. Customization modals with presets and paid extras. Persistent localStorage cart. Multi-step checkout with dual currency (USD/LBP), promo code validation, and loyalty point redemption. WhatsApp fallback ordering.
Gamification — Spin Wheel & Loyalty
This was the most fun to build. A canvas-rendered spin wheel with weighted probability — customers spend loyalty points to spin for discounts, free delivery, or free items. Real promo codes generated on win. Plus a loyalty system that tracks lifetime points and a flash promo engine for time-limited deals.
Admin Dashboard (7 Tabs)
The most complex part of the app. Real-time order management with a status pipeline. Analytics dashboard with KPIs (revenue, users, engagement). Menu CRUD with image uploads. Inventory tracking. Shift scheduling. Employee management. Gamification settings. All in one interface.
PWA, Push Notifications & Analytics
Set up the full PWA infrastructure — manifest, service worker, install prompts. Web Push for order status updates and cart abandonment reminders (30-min timeout). PostHog for product analytics and Google Analytics for traffic. Every user interaction tracked.
Taste Quiz & Personalization
A 5-question quiz that builds a taste profile — spice preference, protein type, cheese level, sweet pizzas, adventurousness. Stored in Supabase, it powers a "Recommended for You" section on the menu page using tag-based matching against menu items.
Stack
Next Project