Cravia: Rate the Dish, Not the Restaurant
A dish-level food review app for India that scores individual menu items on taste, portion, and value — reframing the atomic unit of review from the restaurant to the dish to build a data moat no incumbent can easily copy.
Dish-level food reviews for India. "Tells you what to order, not just where to eat."
The Problem
Every major food platform in India — Zomato, Swiggy, Google Maps — reviews at the restaurant level. A restaurant sits at 4.2 stars, but that number blends the legendary biryani with the forgettable dessert, a birthday dinner with a rushed lunch, and dishes that left the menu months ago. For the one question a diner actually cares about — "what should I order here?" — a star rating gives essentially zero signal.
Meanwhile, the behavior already exists: Indians recommend dishes, not restaurants. "You HAVE to try the mutton sukka at XYZ" travels through WhatsApp groups and Instagram Stories every day. It's dish-specific, photo-forward, and social — but it's trapped in ephemeral, unsearchable channels.
A dish at a specific restaurant is a repeatable product — same recipe, same kitchen, same price. That makes it far more reliable to review than a "restaurant experience," which varies by table and time of day. When 47 people say a butter chicken scores 4.6 on taste but 3.2 on portion, that's genuinely actionable.
The Bet
Make the dish — not the restaurant — the atomic unit of review. This single reframing creates a data asset no competitor has: a scored menu for every restaurant, with structured sub-ratings, tags, and photos per dish. Zomato can't easily copy it without cannibalizing its existing review model and UX.
Target User
Primary — The Urban Foodie (22–35). Eats out 3–6× a week, photographs meals, trusts friends over platform ratings, and will cross the city for a specific dish. Food is identity. Frustrated by the absence of reliable dish-specific info online.
Secondary — The Restaurant Owner. Wants to know which dishes are winning and losing — feedback no platform gives them today.
Tertiary — Admin / Moderator. Manages content quality and the coupon catalogue.
Core Product Decisions
Structured micro-reviews over free text. Every review requires a photo + three sub-ratings (taste, portion, value) + at least one tag from a curated set of 20; text is optional. Structured data is aggregatable and comparable — free text isn't. Sub-ratings surface why a dish is loved (great taste, stingy portion), which restaurant-level stars can never express. Trade-off: higher submission friction. Requiring a photo on every review is a known risk — flagged as an assumption to validate, with an escape hatch (photo optional + bonus points) queued for V2. (Considered instead: free-text reviews, a single overall star rating.)
A DishPoints economy to bootstrap the content flywheel. The product is worthless empty, so contribution is directly incentivized: 10 pts for a basic review, 25 pts for a full one (30+ chars, 5+ distinct words, not a near-duplicate). Seven-day streaks double points; milestone nudges fire at 250 and 450 points; points redeem for real restaurant coupons in a rewards marketplace. The 2.5× gap between basic and full reviews is a deliberate quality lever — it pays users to write better content, not just more. (Considered instead: manual seeding only, waiting for organic UGC.)
Turn feedback into a B2B wedge. Verified restaurant owners get an analytics dashboard: 30-day review volume, top/bottom dishes, and per-dish sentiment with tag distribution. Same UGC data, second audience — and a future paid-SaaS path. (Considered instead: a consumer-only product, selling raw data.)
Ship one city deep, not ten shallow. Launch Gurugram-only with 10 defined areas. City/area is denormalized down to the dish level, so expansion is a config + ingestion step, not a rebuild. Depth of content in one market beats thin coverage everywhere for a network-effect product. (Considered instead: a multi-city launch, pan-India from day one.)
The Core Loop
Monetization
Three pillars, sequenced from consumer to B2B:
- Premium subscription — ₹199/mo or ₹1,999/yr (dish comparison, advanced stats).
- Coupon marketplace — partner / commission fees from featured restaurants.
- Restaurant analytics SaaS — the owner dashboard as a paid product.
Competitive Positioning
Zomato · Swiggy · Google
- Review unit: Restaurant
- Sub-ratings: None
- Photo per review: Optional / rare
- Dish-level aggregates: No
- Owner insight: Restaurant-level
Cravia
- Review unit: Dish
- Sub-ratings: Taste · Portion · Value
- Photo per review: Required
- Dish-level aggregates: Yes
- Owner insight: Per-dish sentiment
Defensibility is the data asset. A dish-scored menu for every restaurant is expensive to build and compounds with scale. A competitor would have to break its own review model to match it.
Outcomes (Build State)
A fully functional PWA, not a prototype:
- End-to-end discovery, review, wishlist, and rewards flows.
- Complete gamification engine (points ledger, streaks, 7 badges, 4 levels) with atomic Firestore transactions.
- Razorpay premium checkout with signature verification.
- Restaurant claim → verified analytics dashboard.
- Admin panel for moderation, coupons, dish requests, and user roles.
- Production infra: PWA / offline, SEO with JSON-LD, dark mode, rate limiting, Sentry, CI/CD.
Known Risks & What I'd Validate Next
Cold start — empty restaurants deliver no value; needs concentrated seeding per city. Review fatigue — photo + 3 ratings + tags is a heavy ask if rewards feel thin. Coupon supply — the value loop dies without desirable partner coupons (a BD problem, not a product one). Thin premium — only one feature (dish comparison) is truly gated today; the upsell needs more meat.
Highest-leverage next bets:
- WhatsApp / social share — the single biggest growth gap for India; recommendations already live there.
- Typesense search — Firebase prefix-match misses restaurant names, mid-word, and typos.
- Restaurant QR codes — turn claimed owners into a distribution channel at the table.
- Push notifications — service worker already exists; wire streak reminders + wishlist activity.
What This Case Study Demonstrates
- Framing a market by changing the unit of analysis (restaurant → dish) rather than competing feature-for-feature.
- Designing an incentive system that solves cold-start and enforces quality with one lever.
- Building a data moat where UGC serves both a consumer product and a B2B wedge.
- Intellectual honesty — naming the unvalidated assumptions (photo friction, coupon supply, "does dish granularity matter enough?") instead of hiding them.
The sharpest product lever isn't a better feature — it's a better unit of analysis. Reviewing the dish instead of the restaurant reframes the entire market, and the same reframing that makes the product useful (structured, dish-level data) is also what makes it defensible.