Sprig, a meal planning app: a complete Xcode project with recipes that fit your pantry, a week plan, a grocery list, nutrition stats, cook mode, widgets and three brand presets.
A meal planning app on four tabs. First run asks about diet, allergies and household size before a StoreKit 2 paywall. For You ranks drawn recipe collections by what you need; Plan lays out the week and builds the grocery list; Pantry tracks what you have and what expires; Progress shows the week's nutrition in bubbles.
$199 once, every piece included. See how installing works · Sign in
The screens this template wires together, in the order someone meets them.
First run
Diet, allergies, household size and goals, then the StoreKit 2 paywall. Runs once, then records completion.
Tabs
For You, Plan, Pantry and Progress on a floating bar. For You is the Recipes grid; Progress is Nutrition.
From the tabs
Recipes push their detail and a step-by-step cook mode with timers; settings open from the avatar.
SwiftUI source you own, built on Apple frameworks only.
How it behaves, what it handles, and the decisions behind it.
MealApp is one root view. On first launch it asks four questions, each under a two-weight headline: how you eat, what to leave out, how many you cook for and how often you cook at home. Then it hands off to the Purchase screen's StoreKit 2 paywall. Closing, purchasing or restoring finishes first run and records it under a completion key, so the root switches to the app on its own.
The app has four tabs under a small floating bar with a solid active square. For You is the Recipes screen: drawn collection tiles that re-rank as you pick needs, opening a recipe with servings that rescale its ingredients and a full-screen cook mode with step timers that keeps the screen awake. Plan lays out the week with its meals as blocks and a grocery list grouped by aisle. Pantry takes what's in your fridge through an input pill and shows what to use soon. Progress is the Nutrition screen: the week's food groups as packed bubbles over the plan cooked so far. The avatar opens Settings, with the subscription and starting over.
productIDs. Until they exist, the paywall shows its designed "plans didn't load" state and its close button still finishes first run.SprigSample at the top of MealApp.swift. Swap them for your own catalog and store; the tabs read those types.RecipeTiles takes a rank closure when you have the recipes themselves and want exact counts.MealApp. Without a brand it wears Sprig Press; SPBrandTheme(.sprigSol) or .sprigCandy re-skin every tab, including the food drawings.The download is a complete project on Tuist: SwiftData meals, pantry items and grocery checks behind a repository protocol; a recipe catalog with ingredients, aisles, steps and food groups; pantry matching that turns "2 limes" into an ingredient and guesses its use-by date; ranking by diet, allergies and what's about to expire; a grocery list merged across the week, scaled to servings and minus what you have; a weekly nutrition breakdown; a dinner reminder; Tonight and Groceries widgets with a mark-cooked button; three presets; unit tests and a first-run UI test.
@main: put MealApp() in your own WindowGroup.Pieces that work well next to this one.