Mise
Import any recipe, then cook it step by step with the timers run for you.
Mise is a cookbook that does the tedious part. Point it at a web link, a PDF, a photo or pasted text and it turns it into a structured recipe on-device โ no account, no API key, and no recipe server. Your recipe content stays on your device. Then cook: each step shows only the ingredients that step needs and starts its own timers, which keep running even if the app is killed. Scale servings, build a shopping list, log the dish with a photo, and keep the whole book backed up to a file you own.
Screenshots //
Dev log //
A cookbook that does the tedious part: parse a recipe from a link, a PDF, a photo or pasted text, entirely on-device, then run the timers during the cook. Most of the log is parsing, because every recipe source on the internet is structured differently and none of them agree.
- Complete app fixes: voice, cook, backup, photos, imports
- Every store asset Play asks for now exists
- Finished app icon, and refresh the whole Play listing
- No AI in 1.0
- Crystl Style: draw a recipe as a bracket table
- Add the end-to-end import-to-timer UI test, ignored pending one device pass
- Fix the two defects the Note 20 playtest found
- Make the instrumentation tests actually run (21/21 green on hardware)
- Sync the docs to the new monetization model
- Real AdMob ids, and a proper interstitial frequency policy
- Capture the phone store screenshots (TODO 8.3)
- S4.3: accent themes, and close out the solo plan
- S4.2: cook notes, and make cook history visible at all
- S4.1: add the "Quick wins" home shelf
- Solo plan S1-S3: test guards, version bump, parser sections
- TODO: tick what the playtest session actually closed
- Add real food photos to the demo library
- Add a seeded demo library for store screenshots (TODO 8.7)
- Fix five copy/format defects found in the device playtest
- Fix P0: parser regex was invalid on Android, breaking every import
- Rework store docs for the ads model
- Premium now sells ad removal; wire the one interstitial
- Replace AI-gated import with a rules parser; ungate importing
- Swap USE_EXACT_ALARM for SCHEDULE_EXACT_ALARM; fix lint errors
- Phase 7: write all Play Store copy, EN/KO/JA
- Phase 1: mark 1.2-1.7 done, record evidence
- Gitignore .kotlin/ compiler session artifacts
- Phase 1 hygiene: untrack scratchpad, refresh handoff docs
- Archive feature roadmap, add road-to-1.0 TODO
- Fix 65+ audit findings across import, timers, backup, and UI
- Fix import overlay, Gemini error masking, and duplicate share instance
- @ Add debug-only premium unlock for testing
- Repoint hardcoded dev paths from C:\Users\ace\Documents\Crystl to D:\Crystl
- Checkpoint before C:->D: drive move
- @ Update session handoff for Phases 10-12 + PR #1
- @ Phase 11 hands-free cooking + Phase 12 collections & filters
- @ Phase 10 ingestion wedge + 12.1 library layout
- Fix 4 playtest defects: timer FGS crash/wedge, step restore, import i18n
- TODO: add full multi-language i18n expansion (post-playtest)
- playtest: add "go playtest" trigger + verified env details
Showing the 40 most recent of 49 logged changes.
Every line above is a real commit from this app's repository, on the date it was made. Build chores and merge commits are filtered out.