Case study · Full-stack · Fintech · Business & Product
Mane & Oggarane
Restaurant ordering & customer-retention platform
A full-stack ordering site for a Karnataka-cuisine restaurant concept, built as a demo to offer small restaurants their own ordering, payments and retention channel. It covers menu to checkout to Razorpay to kitchen dashboard.
- Status
- Live demoPublic demo · Razorpay test mode only
- My contribution
- Product owner and builder: I defined the requirements and business rules, built it with AI-assisted development, and tested payments, refunds and delivery rules myself.
- Tools
- Next.jsSupabaseRazorpayGoogle OAuthVercel
- How AI was used
- Code was generated and refactored with Claude and ChatGPT. I wrote the specifications, made the architecture and business decisions, reviewed changes and ran the testing.
The business problem
Small restaurants rely on aggregator apps for online orders, which means paying commission and never owning the customer relationship. Without their own customer data they can't run repeat-order offers, loyalty or targeted promotions.
The idea: give a restaurant its own ordering website with payments, delivery rules, an owner dashboard and retention tools built in, then package it as a product I can offer to other restaurant owners.
What I built
- Customer website with a responsive menu, categories, search and veg/non-veg preference
- Google sign-in, with login required before ordering
- Basket and checkout with a full order breakdown (items, delivery fee, discounts)
- Razorpay payment integration with server-side payment verification
- Payment webhooks and refund management
- Order management and an owner dashboard: menu manager, kitchen orders, cooking → dispatch status
- Customer order tracking and pickup support
- PIN-code-based delivery eligibility and delivery-charge calculation
- Coupons and a points-based rewards programme
- Policy pages (terms, privacy, refunds, delivery) needed for payment-gateway onboarding
Architecture
1Customer
- Browse menu
- Google sign-in
- Basket & checkout
- Track order
2Next.js app (Vercel)
- Server-side price & fee recalculation
- PIN-code eligibility
- Coupons & rewards
- Order API
3Payments
- Razorpay order
- Checkout
- Signature verification
- Webhooks & refunds
4Data & ops
- Supabase Postgres
- Supabase Auth
- Owner dashboard
- Cooking → dispatch status
Screenshots
Bilingual (Kannada + English) home page
Menu with veg/non-veg filters, search and a live basket; prices are re-confirmed on the server
Owner "Control Room". Figures shown are demo test data, not real sales.
Loyalty rewards: points credited only after a verified, delivered order
Business rules I defined
- Delivery only to a fixed set of PIN codes; outside them, pickup only
- Flat ₹40 delivery fee for small baskets (subtotal up to ₹100), free above that
- Prices, fees and discounts are always recalculated on the server, never trusted from the browser
- Reward points are credited only after the restaurant marks a verified paid order as delivered
- Razorpay stays in test mode, and no paid SMS/AI services are switched on, until explicitly approved
Technical challenges
- Payment reliability: making payment confirmation idempotent, so a retried webhook or double click can't create duplicate orders
- Refunds and rollback paths when a payment succeeds but the order step fails
- Keeping client and server totals consistent once coupons, fees and rewards interact
- Making a public demo safe to share: a test-mode banner, sample data and no real orders
How it was tested
Before calling the staging build approved, I ran a consolidated verification pass covering delivery fees, PIN validation, payments, refunds, idempotency and rollback behaviour. All payments use Razorpay test mode. The demo shows a banner saying no real orders are taken.
Where it stands, honestly
It's a working staging product and a convincing public demo, but not yet a production-ready SaaS. Before I'd onboard a real restaurant, the remaining work is payment-reservation clean-up and reliability, legal and launch readiness, retention workflows (repeat-order nudges and segments), and a repeatable client-onboarding process.
What I learned
- My payments-ops background mattered most in the edge cases: verification, refunds and reconciliation are where real systems break
- Writing business rules down before building saves rework, both for me and for an AI coding assistant
- AI makes building fast. Testing, reviewing and saying no to scope creep is still on me.
- A demo needs explicit guard-rails (test-mode banners, sample data labels) before you show it to anyone