Skip to content
Ritesh FirodiyaGet in touch

Work / AskCal / Wiki

AskCal wiki

What a picture cannot hold: the rules that only break across screens, the product’s own names and numbers, and why each screen is drawn the way it is.

44 pages · last verified 2026-10-01

Concepts 5

PageOwns
billing-transparencyprice, renewal and cancellation always visible
confidenceevery number carries how it was arrived at
local-photosphotos never leave the phone unless the user sends them
meteringscans are metered, barcode and search are not
the-askamber means the app is asking, and nothing else

Entities 2

PageOwns
plus-subscriptionproduct ids, prices, scan allowances
scan-costwhat one scan costs to serve

Surfaces 35

PageScreen
alertsThe nine native dialogs the app raises, with the copy it actually ships.
analyzingThe two-second wait, shown as the shape of the answer.
barcodeThe packet, read off the label.
billReading dish names off a restaurant bill, and asking which of them were yours.
calendarA month of day rings, opened from Today's date, so a day older than seven is reachable at all.
cameraThe viewfinder, with the allowance in the header.
clarifyAt most two questions the camera could not answer, asked before the number is shown.
componentsThe component inventory, shown alone.
correct-dishThe whole plate is something else.
correct-itemSaying what one item on the plate actually is — or that it was never there.
correctedThe result wearing a different provenance: the dish the user named, not the one the photo suggested.
failedThe scan that did not work, and the fact that it was free.
fat-cardThe amber offer to name a cooking fat the estimator never mentioned.
fatThe one component a photograph can never show.
galleryEvery meal photo kept, newest day first.
mealA meal already logged, and editable.
paywallThe offer, at the end of onboarding.
photoThe photo and the post it becomes, on one screen.
pickAdd a food to the plate you are already looking at, and come back.
plan-cardThe account card at the top of Settings, in both of its states.
portionHow much of this did you have — one editor, worn as a weight, a count or a pour.
quotaThe turn-away at the shutter, when the allowance is gone.
resultThe estimate, broken into its parts, edited in place.
searchThe free, unlimited path: type what you ate.
settingsThe subscribed account, and everything under it.
setupEverything the target needs — the five numbers and the goal — on one screen.
sheetsEvery sheet the app opens.
splashThe deep-green hand-off between launch and the first screen.
toastsEvery toast the app raises.
today-unconfirmedToday with photo scans paused, because the store could not confirm the plan.
todayThe day bar, the free logging paths, and the meals logged so far.
trendsEvery day you have logged, as a scrollable chart, and how much of the last week was actually known.
typeDescribing a meal in words when nobody photographed it.
unverifiedThe screen a paying subscriber should never need.
welcomeThe promise, stated as the thing the category gets wrong.

Decisions 1

PageDecided
2026-09-28-what-is-not-drawnwhy routes.js missing is empty, and what is deliberately absent

Synthesis 1

PageOwns
accuracy-findingsthe published evidence behind the model choice and the eval