Pestle logo

How to vibe codePestle

Save recipes from anywhere

pestlechef.app

Productivity

iOS appiPadOS appmacOS appwatchOS appvisionOS app
35/ 100
Serious undertaking

The verdict: can you vibe code Pestle?

Build a simplified web or single-platform subset, or keep paying for Pestle; replicating a polished 5-platform native Apple app suite with offline ML parsing and real-time household sync requires months of platform-specific engineering.

Pestle is an exquisite indie masterclass in SwiftUI and Apple ecosystem integration. While a solo developer can build a single-platform web clone or a rudimentary SwiftUI wrapper in a few weeks using AI coding tools, recreating the seamless cross-device CloudKit sync, watchOS companion apps, Dynamic Island live activities, and resilient recipe extraction from chaotic web pages across five Apple form factors is a massive multi-month undertaking. AI coding agents struggle heavily with SwiftUI layout bugs, native concurrency edge cases in CloudKit, and brittle DOM scrapers.

Estimated effort: 3-6 months of focused part-time work

What you can't replicate

  • The exact zero-latency native feel across iPhone, iPad, Mac, Apple Watch, and Vision Pro
  • Pestle's organic app-store presence and active user base

Founded

2021

Raised

Team

1

Cheapest paid tier

$24.99/yr

What Pestle does

An AI-powered digital recipe manager and cooking assistant designed to clean up modern cooking websites, social media videos, and paper cards.

Core features

  • Universal recipe extraction from web URLs and social media captions
  • Portion scaling engine with fraction and qualitative unit handling
  • Metric and Imperial unit conversion
  • Weekly meal planning calendar grid
  • Consolidated shopping list with ingredient deduplication
  • Guided hands-free cooking mode with timers
  • Multi-device sync via CloudKit
  • Household sharing and collaborative recipe edits

The business

Pricing

  • FreeFree
  • Pestle Pro$24.99/yr

Funding

Unknown / bootstrapped

Pay vs build, cumulative

No break-even inside 24 months at these numbers.

The hard parts of vibe coding Pestle

  • Parsing brittle, non-standard recipe web layouts and unstructured social media captions locally
  • Synchronizing recipe and meal plan edits across multiple Apple ecosystem devices with CloudKit conflict resolution
  • Implementing native Apple features like Dynamic Island, Live Activities, and WatchOS complications in SwiftUI
  • Handling fuzzy scaling math for non-linear ingredients ('pinch', 'to taste', qualitative ranges)

How to vibecode Pestle

Prerequisites

  • Mac

    Required for compiling and running Xcode and SwiftUI target builds.

  • XcodeFree

    Integrated development environment for building native Apple ecosystem applications.

  • Apple Developer Account$99/yr

    Required to test on physical devices, enable CloudKit capabilities, and distribute native apps.

  • CursorFree tier

    AI-native code editor for writing SwiftUI views and Swift backend parsing logic.

AI coding tools

Recommended stack

FrontendSwift / SwiftUI (Native iOS, iPadOS, macOS, watchOS)
BackendLocal SwiftData persistence with CloudKit container sync
DatabaseSwiftData (Local SQLite abstraction)
AuthApple Sign-In / iCloud Account ID
PaymentsStoreKit 2 (In-App Purchases)
OtherNaturalLanguage / CoreML framework for text processing, Gemini API for web recipe scraping fallback parsing

Hosting & infrastructure

CloudKitNative Apple cloud storage and database backend for syncing user recipes and households across devices with zero server management.$0/mo

Build guide

  1. 01Project Scaffolding & Data Model Architecture

    Initialize a multi-platform SwiftUI project in Xcode and define the core SwiftData models for Recipes, Ingredients, Steps, and MealPlans.

    Create a new multiplatform SwiftUI app structure supporting iOS, iPadOS, and macOS. Set up SwiftData models for Recipe (title, sourceURL, prepTime, cookTime, servings, notes), Ingredient (name, amount, unit, category), InstructionStep (stepNumber, text), and MealPlanItem (date, mealType, recipeID). Ensure all models conform to PersistentModel with appropriate relationships. Write robust unit tests for fraction scaling logic on ingredients, ensuring qualitative units like 'pinch' or 'to taste' do not break multiplier arithmetic when scaling servings up or down.
  2. 02Recipe URL Scraper & Parsing Engine

    Implement a web scraper that fetches recipe page HTML, extracts JSON-LD recipe schema data, and falls back to an AI API parser for unstructured pages.

    Build a Swift service class called `RecipeParserService` that takes a URL string, fetches the page HTML using URLSession, and parses it. First, look for `<script type="application/ld+json">` blocks containing schema.org/Recipe data to extract title, ingredients, and instructions reliably. If JSON-LD is missing or fails, extract the raw article text and send it to the Gemini API using structured JSON output mode to extract the exact same recipe schema. Return a fully populated Recipe model object ready for local storage insertion.
  3. 03Recipe Library & Detailed SwiftUI Views

    Build the main recipe list interface, card views, search filtering, and a clean reading view with unit conversion toggles.

    Design and implement the SwiftUI views for the recipe library. Create a responsive Grid/List layout with search filtering by title and ingredient. Build a dedicated RecipeDetailView featuring an ingredient scaling stepper (dynamically recalculating amounts from base servings), a unit conversion toggle button (switching between Metric grams/ml and Imperial ounces/cups on the fly), and a clean instruction checklist view where completed steps can be ticked off.
  4. 04Guided Hands-Free Cooking & Timer Integration

    Create an immersive cooking mode view with large text, voice command placeholders, and interactive timer chips parsed from step text.

    Build a full-screen SwiftUI `CookingModeView` optimized for tablets and phones in the kitchen. The view should present one step at a time in large, legible typography with prominent Next/Previous controls. Implement a regex parser inside instruction text that automatically detects time durations (e.g., 'simmer for 20 minutes', 'bake for 15 mins') and renders interactive countdown timer pills that users can tap to start live system notifications and Live Activities.
  5. 05Meal Planner & Automated Shopping List Aggregator

    Develop a weekly calendar grid for meal planning and an aggregator engine that compiles and deduplicates shopping list items.

    Implement a weekly calendar grid view (`MealPlannerView`) allowing users to assign recipes to breakfast, lunch, or dinner slots for any day of the week. Build an accompanying `ShoppingListService` that aggregates all ingredients from recipes scheduled in the current week's meal plan, intelligently deduplicates identical ingredients (e.g., combining '2 cloves garlic' and '3 cloves garlic' into '5 cloves garlic'), groups them by supermarket category (Produce, Pantry, Dairy), and presents them in a checkable shopping list view.
  6. 06CloudKit Sync & Household Sharing

    Configure CloudKit container entitlements and background sync so recipes and meal plans sync seamlessly across user devices and shared household accounts.

    Configure SwiftData to use a CloudKit container sharing setup for multi-device synchronization. Implement a `HouseholdSharingService` that allows users to share a CloudKit share record via Apple's standard UIActivityViewController or ShareSheet. Handle incoming share invitations so that invited family members can read, edit, and add recipes and meal plans to the shared household database in real time with proper conflict resolution.
  7. 07StoreKit 2 Monetization & Paywall

    Integrate StoreKit 2 subscriptions and lifetime purchases to gate unlimited recipe storage and household features behind a paywall.

    Implement an in-app purchase manager using StoreKit 2 (`StoreKitManager`) supporting an annual subscription ($24.99/yr) and a lifetime buyout ($59.99). Build a clean SwiftUI PaywallView that triggers when free users attempt to save their 16th recipe or create a household. Handle purchase verification, trial periods, restoration of purchases, and expose an `@Observable` entitlement status across the app to unlock Pro features.

Cost vs paying for Pestle

What will you build it with?

Est. 18M in / 5M out tokens· Hobby tier includes limited Agent requests, limited Tab completions, and basic model routing.$0

Starting total with Cursor~$99 one-time

Starting costs (one-time)

  • Apple Developer Program Membership$99/yr
  • AI Coding Assistant Subscription$20

Total$119 one-time/annual

Ongoing costs (monthly)

  • Gemini API credits for fallback recipe web scraping~$2/mo

Total~$2/mo

Paying for Pestle

$2.08/mo ($24.99/yr)

Your time to build

80-120 hours

AI tool credits

$20 (1 month of Cursor/Claude Pro)

Break-even

Never (paying $24.99/yr is vastly cheaper than the $99 Apple developer fee and 100+ hours of development time)

Vibe code Pestle: FAQ

Can you vibe code Pestle yourself?
Serious undertaking — 35/100 vibecodeable. Build a simplified web or single-platform subset, or keep paying for Pestle; replicating a polished 5-platform native Apple app suite with offline ML parsing and real-time household sync requires months of platform-specific engineering.
How long does it take to vibe code Pestle?
3-6 months of focused part-time work — roughly 80-120 hours of hands-on time with an AI coding agent.
How do you build your own Pestle?
Scoped to personal use: Swift / SwiftUI (Native iOS, iPadOS, macOS, watchOS) on the front, Local SwiftData persistence with CloudKit container sync behind it, SwiftData (Local SQLite abstraction) for data. Follow the 7-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
How do you code your own Pestle without being an expert?
Use an AI coding tool (Cursor or Claude Code) and work in small steps: scaffold, data model, core screens, then deploy. Realistic effort: 3-6 months of focused part-time work. The prompts on this page are written so the AI does the heavy lifting.
How much does it cost to vibe code Pestle instead of paying?
About $119 one-time/annual to start and ~$2/mo to run, versus $2.08/mo ($24.99/yr) for Pestle. Break-even: Never (paying $24.99/yr is vastly cheaper than the $99 Apple developer fee and 100+ hours of development time).
What stack should you use to vibe code Pestle?
Swift / SwiftUI (Native iOS, iPadOS, macOS, watchOS); Local SwiftData persistence with CloudKit container sync; SwiftData (Local SQLite abstraction); plus NaturalLanguage / CoreML framework for text processing, Gemini API for web recipe scraping fallback parsing.

Sources

Alternatives & community builds

All alternatives →