Multi-surface restaurant platform built on Firebase (Firestore, Hosting, Cloud Functions) with Vite for frontend bundling and Capacitor for native mobile apps.
| Surface | Path | Purpose |
|---|---|---|
| Customer Web | /index.html + script.js |
Online ordering, loyalty, reservations |
| Admin Dashboard | /admin/ |
Order management, menu admin, analytics, CRM |
| Kitchen Display | /kitchen/ |
Real-time KDS for kitchen staff |
| Self-Service Kiosk | /kiosk/ |
Touchscreen ordering for physical locations |
| POS System | /pos/ |
Point-of-sale for counter transactions |
| Delivery App | /delivery/ |
Delivery partner tracking & order management |
| Order Display | /display/ |
Public monitor showing live orders |
| QR Table Ordering | /qr/ |
Dine-in ordering via QR codes |
| Order Tracker | /track/ |
Customer order status & delivery tracking |
| Loyalty Portal | /loyalty/ |
Points lookup and rewards |
- Frontend: Vanilla JS (ES6 modules), Vite bundler, CSS (no framework)
- Backend: Firebase Cloud Functions (Express.js), Firestore
- AI: Google Vertex AI (Gemini 2.0 Flash) for chat, menu insights, bill parsing
- Payments: Razorpay (India), Cash on Delivery, UPI
- Mobile: Capacitor (iOS + Android), PWA with Service Workers
- CI/CD: GitHub Actions for deploy, APK builds, iOS releases
Customer → Web/Kiosk/QR → Firestore (orders collection) → Kitchen Display (real-time listener)
→ Admin Dashboard (management)
→ Delivery App (dispatch)
→ Order Tracker (customer tracking)
API Requests → Cloud Functions (Express) → Firestore + Gemini AI → Response
- Core: auth, cart, menu, payment, ui, hero, notifications, reservations, loyalty, features
- Engagement: challenges, spinwheel, secretmenu, feedback, socialshare, polls, milestones, ordertracker, streaks, badges
- Premium: stories, moodorder, livequeue, giftcards, referral, musicplayer, arpreview, voiceorder, geofence
- Social: group ordering, splitbill, chatbot, subscriptions
- Enhancement: enhancements, premium, worldclass2, seasonal, weather, personalize, profile
- Comprehensive multi-surface coverage — 10 specialized interfaces
- Smart module loading — IntersectionObserver + tiered lazy loading reduces initial bundle
- Server-side price validation — prevents client-side price manipulation
- AI integration — Gemini-powered chat, recommendations, bill OCR, forecasting
- Security basics present — CSP headers, XSS sanitization, rate limiting, brute-force protection
- i18n support — English, Hindi, Telugu translations
- PWA + native — Service workers, Capacitor for iOS/Android
- Performance monitoring — Core Web Vitals tracking (LCP, CLS)
- Code splitting — 30+ dynamic imports reduce initial load
- Accessibility foundations — ARIA attributes, keyboard nav, focus management
- Monolithic HTML files — Each surface (admin, kitchen, kiosk, pos) has massive inline JS
- Window globals — Heavy reliance on
window.*for cross-module communication - No TypeScript — Zero type safety across 10,000+ lines of JS
- No framework — Vanilla DOM manipulation leads to inconsistent patterns
- Hardcoded prices —
ITEM_PRICESin constants.js duplicates Firestore data - Client-side auth — PIN-based auth stored in localStorage (not Firebase Auth)
- No automated E2E testing — Playwright tests exist but limited coverage
- Mixed code quality — Core modules are solid, engagement modules are thinner
Amogha Cafe is a real restaurant in Kukatpally, Hyderabad with a fully digital platform for ordering, kitchen management, and customer engagement. It serves both dine-in and delivery customers.
- Customers — Local diners ordering food online or dining in
- Kitchen Staff — Cooks managing incoming orders via KDS
- Counter Staff — POS operators processing walk-in orders
- Delivery Partners — Drivers managing deliveries
- Restaurant Owner/Manager — Admin dashboard for business operations
- Browse menu → Add to cart → Checkout → Pay (Razorpay/COD) → Track order
- Scan QR → Table order → Kitchen display → Serve
- Kiosk self-service → Order → Kitchen → Pickup
- Admin: Manage menu → Monitor orders → View analytics → Handle CRM
- Full online ordering with real-time kitchen integration
- Multi-payment support (Razorpay, UPI, COD)
- Loyalty program with tiers and rewards
- AI-powered recommendations and chatbot
- Comprehensive admin analytics
- No real-time order status push notifications (SMS/WhatsApp)
- No inventory management / stock tracking
- No table management / floor plan
- No staff scheduling
- No multi-location support (configured but not active)
- No customer reviews integration with Google/Zomato
| Feature | Amogha Cafe | Toast | Square | TastyIgniter | Opportunity |
|---|---|---|---|---|---|
| Online Ordering | Yes | Yes | Yes | Yes | Equal |
| POS System | Yes | Yes | Yes | Yes | Equal |
| Kitchen Display | Yes | Yes | Paid addon | Plugin | Stronger |
| Self-Service Kiosk | Yes | Paid addon | No | No | Leapfrog |
| QR Table Ordering | Yes | Paid addon | No | Plugin | Leapfrog |
| Delivery Management | Yes | Yes | Yes | Plugin | Equal |
| AI Chatbot | Yes | No | No | No | Leapfrog |
| AI Recommendations | Yes | No | No | No | Leapfrog |
| Bill OCR Parsing | Yes | No | No | No | Leapfrog |
| Loyalty Program | Yes | Paid addon | Paid addon | Plugin | Stronger |
| Multi-language | 3 langs | Limited | Limited | Plugin | Stronger |
| PWA + Native Apps | Both | Native only | Both | Web only | Equal |
| Offline Mode | Partial | Yes | Partial | No | Weaker |
| Inventory Management | No | Yes | Yes | Yes | Gap |
| Table Management | No | Yes | Yes | Plugin | Gap |
| Staff Management | No | Yes | Yes | No | Gap |
| Multi-location | Configured | Yes | Yes | Yes | Weaker |
| Real-time Analytics | Basic | Advanced | Advanced | Basic | Weaker |
| Payment Processing | Razorpay | Toast Pay | Square Pay | Multiple | Equal (regional) |
| Accessibility | Basic | Good | Good | Basic | Weaker |
- Fix innerHTML XSS vectors in engagement modules that build HTML from user data
- Add Firestore security rules validation for all collections
- Fix service worker cache invalidation to prevent stale content
- Inventory/stock tracking — Mark items out-of-stock, low-stock alerts
- Order status notifications — WhatsApp/SMS notifications on status changes
- Customer order history — Accessible from profile, not just localStorage
- Image lazy loading with blur-up placeholders for menu items
- Skeleton loading states for menu, cart, checkout
- Better error states — User-friendly error messages with retry actions
- Form validation feedback — Real-time validation with accessible error messages
- AI meal planning — Weekly meal subscriptions based on dietary preferences
- Voice ordering — Already built, needs polish and promotion
- AR food preview — Already built, needs WebXR integration
- Mood-based ordering — Already built, needs ML refinement
- Migrate from custom PIN auth to Firebase Authentication
- Add CSRF protection to API endpoints
- Implement request signing for sensitive operations
- Add Content-Security-Policy report-uri for monitoring
- Sanitize all innerHTML assignments in engagement modules
- Compress and serve WebP images
- Implement service worker precaching strategy
- Add resource hints (preload, prefetch) for critical assets
- Reduce CSS file count (4 CSS files → 1 bundled)
- Tree-shake unused module code
- Security: Fix XSS vulnerabilities in modules using innerHTML with user data
- Security: Strengthen input validation in Cloud Functions
- Performance: Optimize CSS loading and reduce render-blocking resources
- UX: Add proper loading states and error boundaries
- Architecture: Improve module communication patterns
- Accessibility: Fix missing ARIA labels and keyboard navigation gaps