shouldivibecodeit

Should I vibe codePestle?

Save recipes, guide cooking steps, plan meals, and share a household list

Scaling four servings to ten is arithmetic on the ingredients and a lie about the tin, the oven and the timer.

?

Their verdict, the Pestle Pro (Monthly) price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-04.

Can you build it?asked by canivibecodeit.com ↗YESone-shottable · one sitting
?

Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.

Should you ship it?asked by usSHIP ITgo. worst case you delete a repo.

The honest answer

why the verdict is what it is

Nothing here belongs to anyone but your household, nothing is worth stealing, and the worst thing your code can do is ruin a Tuesday dinner — so build it. The interesting part is where Pestle differs from the rest of the recipe shelf. Its headline is saving recipes from anywhere including Instagram Reels, which means the import stopped being a scraper and became a language model watching a video. That changes the failure shape entirely: a scraper that cannot find structured data gives you nothing and you notice immediately, while a model always returns a recipe, complete with quantities, whether or not anybody said them. The second thing worth knowing before you start is that scaling is not the arithmetic it looks like. Multiplying ingredients by 2.5 is one line; the tin, the oven and the timer do not multiply, and a confident "bake for 70 minutes" from a formula is worse than no advice at all. Get storage in plain files, treat every extracted number as a draft, and this is one of the nicest weekends on the list.

What actually breaks

not "if". the specific failures.

  • Video import, which is a transcription plus a model plus optimism: a Reel that never says a quantity out loud still comes back with quantities, and they look exactly as confident as the real ones
  • Scaling, past the ingredient list — cooking time, pan size and oven temperature do not scale linearly, and a recipe app that prints a scaled bake time is inventing food science
  • Unit conversion, where 350°F becomes 176.7°C on a dial that has 180 on it, and a cup of flour is 120g or 150g depending on whose blog you trust
  • Guided cooking, the moment the screen locks with wet hands nearby, or a step advances because a sleeve brushed the phone
  • Timers, which need the platform's notification machinery rather than a foreground loop, or the pasta finishes when you next unlock the device
  • Household sharing, the smallest distributed system that still bites: two people editing the same shopping list in the same supermarket, offline, five minutes apart
  • Calendar sync, which writes into a calendar you actually use — easy to add, tedious to unpick when six weeks of dinners appear in a work agenda
  • The library itself, on the night you change the schema, run the migration once, on a laptop, with no backup

Is that you?

the verdict is a default, not a law

ship it if
  • It is your kitchen, your recipes and your devices
  • Recipes are stored as plain files you could read in a text editor if the app disappeared tomorrow
  • Anything a model extracted is shown as a draft you confirm, with the original transcript or page kept beside it
  • Scaling touches the ingredient list only, and says so
don’t ship it if
  • It holds the only copy of family recipes that exist nowhere else and nobody but you can restore it
  • The plan begins with an importer that handles any video on any platform, because that is the entire project and it never finishes
  • You are shipping scaled cooking times as if they were the recipe's
  • A household feature is going in before you have decided what happens when two devices edit the same list offline

If you build it anyway

the checklist, then the prompt that enforces it

  1. Store one human-readable file per recipe — Markdown with front matter, or JSON — in a folder you back up. The app is a viewer, not a vault.
  2. Treat every model-extracted recipe as a draft: show it side by side with the transcript or source page, require one confirmation, and record which fields the model supplied.
  3. Keep the raw import — the transcript, the page text, the photo — next to the parsed result, so a bad extraction is correctable later rather than silently becoming the recipe.
  4. Scale ingredients only. Show time, temperature and pan size unchanged, with a note saying they were not scaled, because the honest answer is that they cannot be.
  5. Round converted temperatures to the marks a real oven has, and refuse weight-to-volume conversion outright rather than guessing a density.
  6. Use the platform's notification and background APIs for timers, and keep the screen awake explicitly during guided cooking rather than hoping.
  7. Back up the whole folder automatically before any schema change and keep the last few copies. This is the only genuine way to lose anything in this project.
  8. If you add households, decide the conflict rule before the UI: last-write-wins on a shopping list loses somebody's items, and they will be standing in an aisle when it happens.
the guardrail prompt
I am building a personal recipe app: save recipes from web pages and from short
cooking videos, guided step-by-step cooking, scaling, unit conversion, a
shopping list, and maybe a shared household later. Keep me out of the two holes
this project has — silently wrong numbers, and losing the library.

1. Storage first. One human-readable file per recipe, Markdown with YAML front
   matter or plain JSON, in a folder I choose. The app owns nothing else.
2. Write export and re-import before any editing screen, with a test that
   round-trips the folder into an identical library.
3. Back up the folder automatically before any schema or format change, keeping
   the last five copies. Say plainly this is the only real loss risk here.
4. For web import, parse schema.org Recipe JSON-LD and stop. No per-site
   scrapers — if the page has no structured data, give me a paste box.
5. For video import, be explicit that this is transcription plus a model. Store
   the transcript, mark every field the model produced, and make me confirm.
6. If a quantity was never stated in the source, leave it empty. Do not infer a
   plausible number. An empty field is a question; a wrong number is dinner.
7. Scale the ingredient list only. Never scale cooking time, temperature or pan
   size — display them unchanged with a note explaining why.
8. Round converted oven temperatures to values a real dial has. Refuse
   weight-to-volume conversion; flour and honey do not share a density.
9. Guided cooking: hold a wake lock while a recipe is open, require a deliberate
   gesture to advance a step, and never advance automatically on a timer.
10. Timers use platform notifications and background scheduling, not a
    foreground interval. Show me the locked-screen behaviour first.
11. Households are out of scope this pass. If I ask, make me choose the conflict
    rule for a shopping list edited offline by two people first.
12. Also out of scope: nutrition figures and allergen detection. Those are
    claims about food safety and this app has no business making them.
13. Finish with a README section listing which parts of the import are
    best-effort, so I never assume a mangled recipe is what the source said.
paste this before you build — not after something breaks31 lines · 2211 chars

That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.

their build prompt ↗

Or don’t build it

the boring option, and the way back out

just pay for it

You want the Instagram import to just work, on any creator's video, today — that is the feature you are actually paying for and the one you will not reproduce. At $2.99 a month, $24.99 a year or $39.99 once, Pestle is also cheap enough that the honest comparison is against your Saturday rather than against your budget. On Android or the web, self-hosted Mealie or Tandoor already does the whole of this and is a better use of the weekend than an empty repo.

$2.99/mo is cheaper than your weekend.

your exit plan, if you already built it

There is nothing to escape if the recipes were never trapped: a folder of Markdown or JSON, backed up wherever your documents live, readable with or without the app. Keep the source URL, the transcript and the raw text inside each file and even a bad import stays fixable years later. The only version of this with an exit problem is the one where the library lives in an app-private database with no export, and that is a decision you make in week one.

prior art · someone already did this
Mealie

Active self-hosted recipe manager and meal planner with URL import, shopping lists and multi-user households.

Tandoor Recipes

Self-hosted recipe and meal-plan manager with unusually good ingredient parsing, scaling and shopping-list merging.

Questions

Crouton's entry says recipe import is the hard part. Does the video import change that?

It changes how it fails, which matters more than how hard it is. HTML scraping fails loudly — no structured data, no recipe, you notice in one second. A model reading a Reel always succeeds: it returns a tidy ingredient list with numbers, and nothing in the output distinguishes a quantity the cook said out loud from one the model filled in because recipes usually have one. That is why the guardrails here are about provenance and confirmation rather than parser coverage.

Why not just scale the cooking time along with the ingredients?

Because heat does not work that way. Doubling a cake batter into the same tin changes the depth, which changes the bake time non-linearly; doubling a stew barely changes the simmer; doubling roast vegetables needs a second tray, not a longer roast. A scaled ingredient list is arithmetic and is genuinely useful. A scaled time is a guess that looks like an instruction, and users trust instructions.

Is a recipe app really worth a data-loss tag?

Only in the boring way, which is exactly why it catches people. Nobody backs up a hobby app, the schema changes three times in the first fortnight, and one migration runs badly at midnight. The recipes are not sensitive and nobody wants them — but the handwritten one you photographed off a card exists in precisely one place. Plain files in a synced folder make this disappear entirely.

did you build it?

Every week, someone ships something they shouldn’t have.

New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.

also on the regret index
CroutonSHIP IT

Recipe import is not a feature. It is an unpaid subscription to other people's HTML.

Paprika Recipe ManagerSHIP IT

Recipes, meal plans, a grocery list. The stakes are dinner.

Plan to EatSHIP IT

Dragging recipes onto a calendar is an afternoon. Merging ‘1½ cups flour, sifted’ into one shopping list is not.

last reviewed 2026-08-05 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice