Hobby project
Prototype
Food and data

Crumbly: Food Analytics, Delivered

ROLEProduct designer
TIMELINE1 weekend
TOOLSClaude, Gemini, Figma
DATEOct 2026

229 of 246 dishes mapped to illustrations
100+ dish illustrations
10 cuisine types

Prototype walkthrough: the home wall, search, a recommendation, and the Appetite Report.

Your ordering history, served up as a food journal, with one good pick for dinner.

The Problem

Receipts, not habits

Crumbly is a Spotify "Year in Review" for food delivery. My husband and I were talking about how none of the delivery apps showed how often we ordered "miso ramen" or "vegetable curry," or our favorite picks from a restaurant. When we were both tired after a long day, the only help was a "Last ordered" section on each restaurant's screen.

Budgeting apps are plentiful, but almost none feel fun. I wanted to see our habits the way a music app shows listening habits: as a story, with personality, and with curated illustrations.

This was a personal project for two people, so I skipped formal user research and designed for us.

Goals

What the app needed to answer

Count dish orders

Search how many times we ordered a specific dish.

Find our top restaurants

See which restaurants we order from most often.

Understand spending

See spending by dish, restaurant, and cuisine.

Reduce decision fatigue

Give one strong recommendation instead of endless options.

Design Principles

Three questions for every decision

Does it reduce decision fatigue?

Give one good answer, not a menu of options.

Does it feel like a food journal?

Show dishes as pictures you would want to look at, not as rows in a table.

Is it still about ordering?

Every screen should connect back to what we eat and what we order next.

The Home Wall

Polaroids over dashboards

Home is a wall of food in polaroid-style frames. Search finds matching dishes, highlights them, and fades the rest.

Home wall of dishesSearch results highlighting matches
Plate Notes

How often, from where, and what we spent

Plate Notes show how often we ordered a dish, from which restaurant, and what we spent. Each one also suggests similar dishes to try, so the next order can be a deliberate choice rather than a repeat.

Dish detailsSimilar dishes
Want to Try

A saved list for dishes we have not ordered yet

Want to try is a saved list. Tap the heart on a dish to save it, or add a dish by name, so we can keep the dishes we have heard about but never ordered.

Want to try listConfirmation toast after saving a dish
What Should I Eat Today?

One pick, revealed like a small game

The "What should I eat today?" feature lifts a dome to reveal one dish. One pick, not a menu, like a shuffle rather than a jukebox. It is built like a small game, which makes it memorable.

Dome lifting to reveal a dish
Appetite Report

Spending and habits in one view

The Appetite Report shows spending and habits, with a timeline, spend by restaurant, and most-ordered dishes. You can filter by all time, a year, or a month.

Appetite Report
Key Decisions

Choices I would defend in a review

  1. Polaroids over dashboards Instagram was my food journal in its early days, and polaroids bring that feeling back. Dashboards are useful, but they feel generic and add no delight.
  2. One recommendation, not a list Decision fatigue is the problem, so the app gives one pick, like a shuffle, not a jukebox.
  3. A dome, not a fortune cookie My first version used a fortune cookie. The dome fits the food theme and makes the reveal feel like a moment.
  4. A holistic food experience Copy, the dome reveal, and empty states all follow the food theme.
  5. Tags, families, and aliases A dish can belong to more than one cuisine, and some dishes share an illustration. Chilli Paneer is both Indo-Chinese and North Indian. This structure is also the groundwork for natural language search.
Bring Your Own

Using your own order history

The order history in the prototype came from a DoorDash export, with home addresses and delivery times removed. You can replace the sample with your own. Export your orders as a CSV with Restaurant, ITEM, Quantity, PRICE, and Date, then upload it from the home page. The whole app recalculates, and data stays in the browser. Dishes match illustrations by name and aliases. Unmatched dishes appear as an empty plate with cutlery.

Adding a dish with no illustration yet
How I Worked

AI for ideation and building, decisions stayed mine

I started with a brief and asked an AI chat tool for help. It produced a complete analytics page on its own assumptions, which was impressive but generic. I used AI for ideation and building; the flows, feedback, and each round of changes were mine. Claude changed nothing until I approved it, with a running log and screenshots for each version.

Visual Direction

Food leads, the interface stays quiet

The visual direction keeps food as the most colorful thing on screen. Dish illustrations are bright, flat vector art, and the interface stays warm and neutral with a cream background and tomato accents, so the dishes lead.

Outcome

Mapping my real order history

Of 246 unique dishes, 229 (about 93%) map to an illustration after I reviewed and approved the proposed matches. The remaining 17 show the empty-plate state. We could see our most-ordered dishes and restaurants, what we spent, and what we had not tried.

What Next

Testing and scaling

Before a wider launch I would test two questions: whether a food journal with spend and favorites is worth opening, and whether one recommendation solves decision fatigue. Scaling needs cleaner import with user approval, automatic illustration matching, a shared cuisine model, user profiles, connected delivery accounts, and better search.

Reflections

What the prototype taught me

Prototypes are simpler than products at scale. The hard part was the dish, not the chart. The same dish has different names and variations across restaurants.

AI is a collaborator, not the decision maker. The approval rule and the design log kept the work on track. Without guardrails, the model would have drifted from the vision.

← Back to Home