Recipes
Learn how to create, import, and manage recipes tied to your products. This guide covers using the Recipe Builder app to publish searchable recipe portals.
Recipe Builder — User & Admin Guide
A friendly guide for brand managers, marketing teams, and admins who use the Recipe Builder app to publish recipes alongside SmartLinks products.
What this app does
The Recipe Builder lets you publish a beautiful, searchable recipe portal connected to your products. You can:
- Create recipes from scratch in a guided 5‑tab editor
- Import a recipe from any URL — we'll extract the title, ingredients, steps, photo, and nutrition automatically
- Attach recipes to the whole collection (every product) or to a specific product
- Show recipes only on products that share certain tags or facets (e.g. "show this pasta recipe on every red wine")
- Translate everything (UI labels and recipe content) into the customer's language automatically
- Embed a featured-recipe widget on product pages
Customers visit the public portal, browse and filter recipes, and view full recipes with ingredients, step photos, nutrition, and dietary badges. They can print or share any recipe.
Getting started
- Open the SmartLinks admin console for your collection.
- Add the Recipe Builder app — you'll be asked two questions during setup:
| Setting | What it does | Default |
|---|---|---|
| App Title | Display name shown on the recipe section in the parent app. | Recipes |
| Show Nutrition Info | Whether nutritional info appears on recipe cards and the detail page. | On |
- Once installed, open the recipe admin to start adding content. Two tabs are available at the top:
- Collection Recipes — visible across the whole brand
- Product Recipes — only visible on the currently-opened product (this tab is disabled if you opened the admin without a product context)
Creating a recipe
You have two ways to create a recipe: manually or import from URL.
Option A — Import from URL
Click Import from URL, paste a link to any recipe webpage, and click Parse. The app:
- Scrapes the page (Firecrawl)
- Looks for structured data (schema.org/Recipe) — fast, free, near-perfect accuracy
- Falls back to AI extraction (Gemini) if no structured data exists
A preview shows the extracted title, image, ingredients, steps, nutrition, and tags. Click Import Recipe to save it as a draft you can edit further.
💡 Tip: imported recipes always start as drafts — review them before publishing.
Option B — Create manually
Click Add Recipe to open the editor. The editor has 5 tabs:
1. Basics
| Field | Required | Notes |
|---|---|---|
| Recipe Name | ✅ | Title shown everywhere. |
| Author | – | E.g. "Chef Maria". |
| Description | – | One or two sentences shown on cards and detail. |
| Recipe Image | – | Use the asset picker to upload, browse, or import by URL. |
| Category | ✅ | Choose from: Appetizer, Starter, Main Course, Side Dish, Dessert, Drink, Cocktail, Snack, Breakfast, Brunch, Lunch, Dinner, Other. |
| Cuisine | – | Free text (e.g. "Italian", "Thai"). |
| Difficulty | – | Easy, Medium, or Hard. |
| Keywords | – | Comma-separated, used in search (e.g. quick, summer, vegetarian). |
| Prep Time | – | Minutes. |
| Cook Time | – | Minutes. Total time is auto-calculated. |
| Yield | – | Free text (e.g. "12 cookies"). |
| Servings | – | Numeric, used in nutrition labels. |
| Dietary Information | – | Toggle any of: Vegetarian, Vegan, Gluten-Free, Dairy-Free, Nut-Free, Low-Carb, Keto, Paleo, Halal, Kosher. |
2. Ingredients
Click Add Ingredient for each line. Each ingredient has an amount, unit, name, and optional notes (e.g. "finely chopped"). Re-order is coming soon.
⚠️ A recipe must have at least one ingredient with a name to save.
3. Instructions
Click Add Step to add a step. Each step has:
- A step number (auto-managed)
- The instruction text
- An optional step image (asset picker)
- An optional tip (shown as a callout under the step)
⚠️ A recipe must have at least one instruction step with text to save.
4. Nutrition
Per-serving values for Calories, Protein (g), Carbs (g), and Fat (g). All optional. Hidden on the public site if "Show Nutrition Info" is off in app settings.
5. Settings
| Setting | What it does |
|---|---|
| Published | Off = draft (only you see it). On = visible to customers. |
| Featured | Pinned to the top of lists and used by the widget. |
| Show this recipe on… (collection recipes only) | Choose: All products in collection, Products matching facets, or Specific products (coming soon). |
| Tags | Free-form lowercase tags. Recipes can be matched to products that share the same tags. |
| Source URL | If you adapted this from somewhere else, link it here — shown as a button on the public detail page. |
"Show this recipe on…" explained
For collection recipes, you decide which products in the collection display the recipe:
- All products in collection — the recipe appears on every product. Use for general brand recipes.
- Products matching facets — pick one or more facet values (e.g. Pairs with → Beef, Region → Tuscany). The recipe shows on any product that has at least one matching value. Requires facets defined on your collection.
- Specific products — pick exact products to attach to (rolling out soon).
What customers see (day-to-day usage)
When a customer scans a SmartLinks code or opens a product page that includes the Recipe Builder, they see:
- A recipe portal with all published recipes for their context
- A search bar (matches title, description, cuisine, ingredients, keywords, tags)
- A filter panel with Category and Dietary filters (only shows filters that have results)
- Recipe cards with image, title, time, servings, difficulty, and a few badges
- Tap a card → full recipe detail page with:
- Hero image
- Prep / Cook / Total time and servings
- Print and Share buttons (Share uses native OS share if available)
- Source button if a Source URL was provided
- Ingredients list (with amounts and notes)
- Numbered, illustrated step-by-step instructions
- Nutrition panel (if enabled)
- Dietary badges and keywords
Recipe content is auto-translated into the customer's language (currently English, German, French) — names, descriptions, ingredients, and steps included. Translations are cached, so subsequent loads are instant.
Widgets
The Recipe Builder ships with one embeddable widget, RecipeWidget, which shows the featured recipe on a product page.
| Size | What it shows |
|---|---|
| Compact | Minimal card with title and a button to open the recipe portal. |
| Standard | Card with hero image, title, description, time, servings. |
| Large | Full featured card — adds "+N more recipes" hint when you have several. |
Pick the size in the parent app's widget settings. The widget always shows your Featured recipe first; if none is featured, it shows the most recently updated one.
Managing recipes
From the recipe list (Collection or Product tab):
- Search by name, description, cuisine, or keyword
- Hover any card to see quick actions:
- Eye icon — publish/unpublish without opening the editor
- Pencil icon — open the full editor
- Trash icon — delete (with confirmation)
- A status strip at the top shows total recipes, how many are published, and the current scope (collection-wide or product-specific)
- Featured recipes always sort to the top, then alphabetical
💡 Switching the Published toggle off temporarily hides a recipe from customers without losing any data — perfect for seasonal items.
FAQ & troubleshooting
Why can't I see the Product Recipes tab? The Product Recipes tab only activates when you opened the admin from a specific product. If you came in from collection-level admin, switch to a product first.
My import failed — what now? The import tool tries structured data first (works on most major recipe sites), then falls back to AI. If both fail, the page may be JavaScript-rendered, blocked, or have no recognisable recipe content. Try a different source, or click Add Recipe to enter it manually.
Can I edit an imported recipe? Yes — imported recipes save as drafts. Open them in the editor and tweak anything before publishing.
A recipe shows the wrong category emoji. Each category has a fixed emoji (🥗 Appetizer, 🍝 Dinner, etc.). Change the Category in the Basics tab to update it.
Customers see English text even though their browser is in French.
The portal language is driven by the ?lang=fr URL parameter set by the SmartLinks platform. Make sure the parent app passes the customer's language. Static labels are pre-translated; recipe content is auto-translated on first view and then cached.
I changed a recipe but customers still see the old version. Translations are cached locally for performance. Customers will pick up updates within a few minutes, or immediately on a hard refresh.
Can I show a recipe on only certain products? Yes — open the recipe, go to Settings → Show this recipe on…, choose Products matching facets, and tick the values that should match. The recipe appears on any product that has at least one of those values.
A recipe won't save — the Save button is greyed out. You need three things: a Recipe Name, at least one ingredient, and at least one instruction step.
Where do uploaded photos live? All recipe and step images go through the SmartLinks asset library. You can re-use any previously uploaded asset, upload a new one, or import from a URL — all from the same dialog inside the editor.
Does deleting a recipe remove its images? No — images stay in the asset library so other recipes can use them. Remove them from the asset library directly if you want them gone.
Future surfaces
This app does not currently ship a MobileAdminContainer. If a field/operator workflow is added later (NFC tap, QR scan, in-the-field check-in, on-device camera capture by an admin), follow migration step 12.