Nijin Contact

Kcalo A Calorie Tracker, Designed End to End

Mobile App · Concept

Kcalo is a concept calorie tracker built end to end, from research boards to App Store screenshots. The premise fits in a sentence: people will not type their dinner, but they will photograph it. So the camera is the keyboard, and everything else is designed around the five seconds that follow the shutter.

This one has no client and no users, and says so up front. The brief was mine: take one sharp idea and carry it the whole distance a real product goes. Research, flows, wireframes, a token system, a component library, thirty-one screens with their empty and error states, motion, a brand, six posters, an App Store listing and a ten-slide pitch. One Figma file.

It started as a single screen, one day of eating on one page, designed before any of the rest existed. This study is that screen carried the whole distance, and it kept the test the screen was built for. Everyone has installed a calorie tracker; nobody still uses one. The apps work. The logging is what dies. And the same people who will not type a meal photograph their meals constantly. The behaviour already exists. Kcalo reroutes it.

The Kcalo home screen in a device frame: Today header, week strip, the green hero card and meal cards
The screen it grew from.

Open the full Figma file

The short version first. Ten slides carry the whole argument. Scroll through them, tap any to zoom. The rest of this page expands each one.

Deck slide 1: cover
Deck slide 2: tracking works, nobody lasts
Deck slide 3: the camera is the keyboard
Deck slide 4: one app, four jobs
Deck slide 5: five seconds start to logged
Deck slide 6: a plan, not a calculator
Deck slide 7: built to be kept
Deck slide 8: one system under every screen
Deck slide 9: the brand travels
Deck slide 10: free on iOS this autumn

The homework

The plan asked three questions and named the bar: does anyone still log on day five? Six interviews, a dietitian, a two-week diary study where four people re-tried their old trackers, 180 store reviews tagged, and thirty real mixed Kerala plates photographed to see if a photo can even be itemised by eye.

The research plan board: three research questions as cards and the method with its counts
Three questions, and the Day-5 test as the bar.

The interviews kept landing the same two blows: effort and shame. Nobody quit over a bad calorie day. And the thread that became the product came from three people describing the same interface without knowing it — a nurse photographing dinner for his wife, a mother photographing the pot, a dietitian estimating calories from client photos on WhatsApp all day.

Six quote cards from participants and a dietitian, with the connecting thread underneath
The blunt quotes drive the decisions.

Who it has to survive

A four-quadrant empathy map for Meera: says, thinks, does, feels
Meera quits at the first untrackable meal, not the first bad number.

Three personas share the screens, and the third is the stress test. Rukiya cooks one pot for four people with one free hand and owns no food scale. Every flow got asked her question first: one hand, twenty seconds, no scale?

Three persona cards: Meera, Ajmal and Rukiya, with Rukiya marked as the stress test
All three must succeed on the same screens.

The control condition is a person

The scan put the usual apps in columns and a dietitian on WhatsApp as the control. She wins on everything except price and scale, because she takes photos, estimates by eye and answers with mercy. So Kcalo is not a better database. It is her eye and her tone, productised.

A comparison table of trackers with a dietitian as the final column, winning most rows
The last column wins on everything but price.
A line chart of the week that kills a food diary, ending with a recovered dot labelled with Kcalo
Install-night hero to day-four uninstall — and the same person through a photo.
Five numbered insight rows, each with its evidence
Five insights survived the so-what test.
Four principle tiles: the camera is the keyboard, kind numbers, made for the mixed plate, bends does not break
The insights, turned into filters every screen passes.

Structure before pixels

The architecture made one structural bet and it shows in the sitemap: no tab bar. A Diary tab makes logging a place you must go, and logging is a moment, not a place. One hub, one loop, every branch one tap from Home, and every edge state a drawn screen rather than a footnote.

The information architecture: a rejected four-tab skeleton crossed out in red, then the shipped hub-and-branches sitemap
The tab bar died before any screen was drawn.

The flows cover the whole app in five rows: first run to a plan, the camera loop with its failure exits, the search fallback, progress and habits, and goals with the paywall. The honesty rule from Nisf carried over: every branch ends at a screen that exists.

Five rows of user flows in green flowchart shapes with decisions and labelled connectors
Every exit accounted for, including offline.

And the wireframes settle the layout fights cheaply: grey blocks, one green primary action per screen, six key screens from home to plan-ready.

Six phone wireframes in grey blocks with green primary actions
Green marks the one primary action. Everything else earns its grey.

Where drawing starts

One family everywhere: SF Pro Rounded. The app is mostly numbers, and rounded numerals read as friendly where a grotesque reads as a lab report. One green with a job, three macro colours locked to their own bars, and yellow reserved for the flame ring alone.

The type specimen: SF Pro Rounded and the scale from hero numbers to captions
Bold for numbers, Semibold for labels. That is the hierarchy.
Eight colour swatch cards with hex values and usage rules
Every colour with its one job written on the card.

The card the app hangs off

The hero card answers the only question that matters at a glance: how much is left today. And on open, it earns the glance — the card settles in, the ring draws itself to where the day stands, and the macro bars fill in turn. The load-in lives with the other clips in the motion strip further down; nothing moves that does not mean something.

The green hero card enlarged: calories left, the eaten pill, the flame ring and three macro bars
One glance: what is left, how it is going.
The week strip enlarged: logged dots and the selected day as a green pill
A dot per logged day. That is the whole calendar.
The home screen in a device frame
The day, one glance.
The breakfast meal card enlarged with photo rows and stat chips
The photo is the log, so the photo stays.

The five seconds

The scan flow is the product: camera, a three-second analyzing state that says what it is doing, and an itemised result. The result arrives as a sheet over the day; the transition itself sits in the motion strip, exported straight from the keyframes.

Three device frames: the camera, the analyzing state and the itemised result
Snap, three seconds, itemised.
The three macro cards from the result sheet, enlarged
Three cards, three colours, no legend needed.
Three device frames: add food, search results and the food detail
Search stays a real path — recents first, dead ends offer a way out.

A plan, not a calculator

Three device frames: goal selection, the pace slider and the plan-ready screen
Five questions, then the plan wearing the home card.
The pace slider card enlarged with the recommended half-kilo setting
The wedding-proof slider: slower is easier to keep.
Two device frames: the Pro paywall and the daily goals editor
The paywall comes after the value, not before.

Built to be kept

The habit layer works because it is merciful. Streaks pause instead of resetting, going over goal turns the card warm orange with a walk suggestion, and the reward for logging is the ring moving. Confetti is reserved for streak milestones, because this is dinner, not a casino.

Three device frames: progress charts, the streak celebration and the water tracker
Progress, streaks, water — small wins on one board.
Three device frames: the empty first day, the orange over-goal state and offline
Empty, over, offline: drawn, not left to chance.

The small movements

All six clips were built as real Figma motion, keyframe by keyframe, and exported straight from the file: the hero card load-in, the result sheet arriving, the day-12 streak, the analyzing state, a toggle that overshoots a little, and a button that gives under the thumb and ripples once. Small enough to miss, which is the point.

Enlarged controls: day cells, the macro bars on green, a toggle, a stat chip and the primary button
The controls, at reading distance.

Six frames on the store

The store listing tells the loop in six frames. Scroll through them, tap any to zoom.

App Store frame 1: Snap your meal
App Store frame 2: Counted in seconds
App Store frame 3: Your day, one glance
App Store frame 4: Watch it trend
App Store frame 5: Streaks that stick
App Store frame 6: A plan built for you

The system underneath

The component sheet: buttons, day cells, macro bars, chips, toggles and rows
Eleven components, thirty-one screens.
Three screens in device bezels: home, the scan result and the streak
The same file renders its own mockups.

The brand, travelling

The mark is the product’s own progress ring with the flame inside; the brand work extracted it rather than inventing it. Four logo variants, the icon set, and six posters in three voices: launch, product, and the kind one about the sadya.

Logo variants and the twenty-icon set on tiles
Four marks, twenty icons, one hand.
Launch poster: Snap it, Track it on the green gradient
Product poster: Know what you ate in five seconds, with the hero card
Dark streak poster: Day 12, streaks that survive wedding season
Three more posters: Know your numbers, One photo Logged, and Log the sadya
The streak poster in dark and light variants

Decisions, dated

Every call that shaped the thing sits in a dated log with its evidence, from killing the tab bar to banning red mornings. The honest next step for any concept closes it: put the prototype in front of Meera, Ajmal and Rukiya’s one free hand, and run the Day-5 test for real.

A dated decision log board with nine rows, each shipped
Dated, so it stays settled.

Explore everything in the Figma file