RecipeMemoir: Mobile Build Prompts
Private deliverable. Enter hub password to continue.
That's not right. Try again.
RecipeMemoir on iPhone and Android
Two hand-off-ready build prompts. Each one is self-contained: give the whole thing to a fresh coding agent (Claude Code, Codex, Fable) and it can start work without any of the conversation that produced it. Written 2026-07-25.
The strategy is already locked and it is the reason these prompts are short enough to be useful: wrap the existing web app in Capacitor, do not rebuild it. RecipeMemoir already has browse and search, an editor, shopping lists, a meal planner, a pantry, cook mode with timers, USDA nutrition, AI commentary, 24 visual styles, magic-link sign-in, and a public per-user site. React Native and native SwiftUI were both considered and rejected for version one: months of rebuilding for a product whose whole value already ships on the web.
Read this part first. An iOS build cannot happen on a Windows machine, because Xcode is Mac only. Android can be built on Windows. So the practical order is either Android first from your own laptop, or iOS first on a borrowed Mac or a cloud Mac runner.
What is gated on you
These three cannot be done unattended, and both prompts say so rather than guessing:
- Apple Developer Program, $99 a year. Needed only for TestFlight and App Store submission. Phases one through six work in the simulator without it.
- Google Play Developer account, $25 one time. Needed only for store submission.
- The pricing decision. Whether the apps sell a subscription or a one-time unlock determines how in-app purchases get wired. The web app currently runs a fake-door pricing page ($4 Home Cook, $8 Family) and a $99 lifetime option has been floated. A one-time unlock matches Paprika's buy-once psychology. Nothing should be wired until you choose.
The seven phases, and why they are in that order
Both platforms follow the same arc, and each phase ships on its own rather than waiting for the whole app to be finished.
- The shell. Capacitor project loading the live site. Proves sign-in and theming survive inside a native WebView.
- Cook mode and timers. The phase that matters most to somebody actually cooking, and where a plain WebView loses to Paprika. Timers become real local notifications that fire when the phone is locked.
- Recipe clipping. A share extension on iOS, a share intent on Android. Both post to the import endpoint that already runs live and already powers the Chrome extension. This is better than Paprika's in-app browser, because it works from Safari, Instagram, Mail, anywhere.
- Offline and sync. This attacks Paprika's worst reputation problem directly, which is sync that loses data.
- Icons. A locked product requirement: every user picks their own app icon.
- Beyond Paprika. Siri Shortcuts for hands-free timers, home screen widgets, Live Activities.
- The store. Privacy labels, in-app purchases once pricing is decided, TestFlight or an internal track first.
The traps worth knowing before anyone starts
These are the specific things that make wrapped apps fail, and each prompt names them so a builder does not discover them the hard way.
Android will kill your timers
Doze mode and manufacturer battery optimization stop background work. A recipe timer that does not fire is a burned dinner, so running timers need a foreground service and a high-importance notification channel. The prompt asks for verification on a real device, left idle long enough for Doze to engage, and ideally on a Samsung or Xiaomi, because stock Android is the easy case.
Switching the Android app icon can drop it off the home screen
Android has no direct equivalent of iOS alternate icons. The workaround is manifest activity aliases, and switching one can make some launchers lose the app's home screen shortcut. The prompt says to test it and tell you honestly rather than shipping something that loses your icon.
Never silently discard an edit
When the same recipe is edited on two devices, the app must show an explicit keep mine or keep theirs choice. This is the single most important trust behavior in the whole product, and it is where Paprika earned its reputation.
A silent clipping failure is worse than a visible error
If a share fails, say so with a reason. Losing somebody's recipe quietly is the worst possible outcome of a feature whose entire job is saving recipes.
Standing rules both prompts carry
- Wrap, do not rewrite. If the builder is writing a recipe list in Swift or Kotlin, they have taken the wrong path.
- No em dashes in any user-facing copy, ever.
- No sticky or fixed positioning. The header scrolls away.
- Themeable from day one. Colors come from the web app's CSS tokens, never hardcoded in a component.
- Verify before claiming done. Every phase has a real-device verification step, and a phase is not finished until that step passes and the evidence exists.
How the shell is configured
Phase one is genuinely this small, which is the whole argument for the Capacitor approach:
npm install @capacitor/core @capacitor/cli
npx cap init RecipeMemoir com.recipememoir.app --web-dir=www
npm install @capacitor/ios # or @capacitor/android
npx cap add ios # or android Then point it at the live site. Loading a remote URL is correct for phase one only; phase four flips it to a bundled shell plus a service worker so the app works with no signal, which matters because kitchens are often dead zones.
Where the prompts live
The source of truth is in the RecipeMemoir repo, so the prompts stay next to the code they describe:
docs/prompts/BUILD-PROMPT-IOS.mddocs/prompts/BUILD-PROMPT-ANDROID.mddocs/PAPRIKA-PARITY-AND-MOBILE-PLAN.md, the full plan and the reasoning behind the Capacitor decision, including the feature-by-feature comparison against Paprika
Open either markdown file, copy the whole thing, and paste it as the first message to a fresh agent. Nothing else needs to be explained to it.
Where RecipeMemoir already beats Paprika
Worth keeping in view, because it is the reason the wrap strategy is enough. Against the Paprika feature list, the web app already matches URL import, manual entry, categories, search, ratings, favorites, notes, recipe scaling, unit conversion, timers detected in steps, and keep-screen-awake cook mode. It exceeds Paprika on sync (cloud native rather than bolted on), export (real portability instead of a lock-in file), print, and the public shareable recipe site, which Paprika simply does not have. AI commentary and nutrition are things Paprika has never attempted.
The genuine remaining gaps are multiple photos per recipe and the two apps themselves. That is a short list, and these prompts close the larger half of it.