kanjo
Better tools to run your shop
KANJO PRESENTS  ·  THE SECRET SAUCE
Episode 1 — Cooking with AI
Three hands-on tutorials for café, bakery & restaurant owners: turn a phone snap into photoshoot-quality food photos, see exactly where your prices sit against the competition, and rewrite your menu so it sells — all with plain-English prompts, no code.
Episode 1
Live every Monday — 9 AM ET or 9 AM PT · capped at 100 seats · save your seat free at getkanjo.com/meetup
01
TUTORIAL 01

Photoshoot-Quality Food Photos from a Phone Pic

Turn a phone pic into photoshoot-quality food photos

A tutorial on using OpenArt’s Nano Banana Pro with Omni Reference, Google Gemini and Google Pomelli to turn a mobile phone pictures into photoshoot-quality images.

The Starting Point

The original image is a decent but clearly phone-shot photo: flat overhead lighting, a slightly dull color cast, visible countertop clutter, and no intentional composition. It’s the plate of mango sticky rice loaded into the Omni Reference tile, which is the key to this whole workflow. Omni Reference locks in the actual dish (the exact mango slices, sticky rice mound, plate pattern, and mint garnish) as a visual anchor, so every regeneration stays true to the real food rather than inventing a new dish.

The Core Strategy

The starting point — the original phone photo, loaded into Omni Reference as the anchor.

Rather than writing one generic make-this-look-professional prompt, I wrote three prompts that each apply a different real-world food photography discipline. Professional food photography isn’t one look. Stylists and photographers choose a setup based on the intended use such as a menu, a magazine, or an ad, and each setup relies on distinct, describable techniques: surface and backdrop, lighting direction and quality, camera angle and lens characteristics, and prop and styling choices. Naming these specific techniques in the prompt, rather than vague quality adjectives, is what actually steers the model’s output, because it gives it concrete physical and compositional instructions to follow.

Prompt 1: Clean Studio / Menu Shot

Prompt used
Professional studio food photography of this exact mango sticky rice dessert on the same blue-and-white Thai patterned plate. Keep the mango slices, sticky rice, and mint garnish identical. Place it on a clean white marble surface with soft, diffused natural window lighting from the left, subtle soft shadows, shallow depth of field with a gently blurred background, high-end restaurant menu style, crisp detail on the mango texture, color-accurate and appetizing, shot on a full-frame DSLR with an 85mm lens at f/2.8.
Why it works This is the safe, universally usable shot, the kind of clean, evenly lit image you’d see on a restaurant menu or delivery app listing. Specifying a marble surface, a single soft directional light source, and a real lens and aperture combo (85mm at f/2.8) gives the model concrete optical cues for depth of field and realistic falloff, rather than the flat, shadowless look of a phone camera.
Prompt 1 — the clean studio / menu shot.

Prompt 2: Editorial Magazine Styling

Prompt used
Editorial food-magazine styling of this exact mango sticky rice dessert, same blue-and-white Thai patterned plate, same mango slices, sticky rice mound, and mint garnish. Place the plate on a rustic dark wood table with a woven banana-leaf placemat, a small bowl of toasted sesame seeds and a sprig of fresh mint beside it, warm golden-hour ambient restaurant lighting from the right side, gentle steam wisp rising, rich contrast, slightly moody warm tones, overhead 45-degree angle shot, styled like a Bon Appetit magazine cover.
Why it works This prompt borrows the actual playbook of food stylists, adding complementary props like a banana leaf and sesame bowl instead of leaving the plate isolated, warming the color temperature, and adding a subtle steam wisp to imply freshness. Referencing a well-known editorial aesthetic gives the model a strong stylistic target instead of an abstract description.
Prompt 2 — editorial food-magazine styling.

Prompt 3: Macro Advertisement Close-Up

Prompt used
Extreme close-up macro food photography of this exact mango sticky rice dessert, same blue-and-white Thai patterned plate, same mango slices, sticky rice, and mint garnish. Camera positioned low and close to the mango slices to emphasize their juicy, glistening texture and fine fibers, dramatic single-source side lighting creating gentle highlights and soft shadows, creamy coconut sauce glistening, background of the plate softly blurred into bokeh, rich saturated colors, ultra-detailed, tack-sharp focus on the front mango slice, shot as if for a premium dessert advertisement.
Why it works This targets the hero-shot style used in ads and social media, where extreme close-up and shallow focus create visual drama and make the food look irresistible. Calling out camera height and proximity, and highlighting specific textural details like fibers and glistening sauce, pushes the model toward tactile realism rather than a generic glossy render.
Prompt 3 — the macro advertisement close-up.

Google Pomelli

This section covers a second tool, Pomelli by Google Labs, used to generate a photoshoot series from the same mango sticky rice image.

How I Got There

Uploaded the image: On the Pomelli Photoshoot tab, I chose Create a product photoshoot, then clicked the Product Image slot and used Upload Images to add the mango sticky rice photo (the studio-style image generated earlier in OpenArt) into Pomelli’s asset library.

Selected the product image: Once uploaded, the photo appeared as a new tile in the Assets from Business DNA library. I selected it and confirmed with Looks Good, which set it as the active Product Image for the shoot.

Chose four templates: Pomelli automatically suggested a set of Consumables templates tailored to the product. I kept the four recommended options: Studio (clean isolated background), Ingredient (styled with props on marble), In Use (a person eating the dish), and Contextual (a lived-in cafe setting).

Generated the photoshoot: Clicking Generate Photoshoot produced all four images in parallel, each keeping the same plate, mango slices, and rice mound while changing the background, lighting, and human context to match its template.

Unlike the OpenArt workflow, which relied on detailed text prompts, Pomelli reaches a similar result through curated templates built for product marketing, making it faster to get varied, on-brand shots without writing prompts by hand.

Pomelli's four templates, generated in parallel from the same photo.

Google Gemini

Google Gemini — the source dish handed to the model.

Generate a photoshoot quality picture of this delicious Thai Beef & Lamb Spicy Sausage Salad

Here is what Google Gemini generated in response

What Google Gemini generated in response.
KANJO TIP · Great photos make the sale — and a well-run shop keeps them coming back. Kanjo gives the corner shop six small, sharp apps under one login. Free to start at getkanjo.com.
02
TUTORIAL 02

Price Competition Analysis

See exactly where your prices sit

Knowing exactly where your menu sits against the restaurants down the street used to mean an afternoon of clicking through delivery apps and squinting at a legal pad. In this tutorial I'll show how I did the whole thing with two AI tools working back to back: the Claude Chrome extension to read competitor menus straight off their delivery pages and drop the prices into a spreadsheet, and then Claude Cowork to turn that spreadsheet into a full dish-by-dish competitive analysis with an interactive dashboard.

The workflow has two halves. First you collect the data (Chrome extension, one restaurant at a time). Then you analyze it (Cowork, once the sheet is complete). Nothing here requires code — every instruction is a plain-English prompt you can copy, tweak, and reuse.

What you'll need

A menu source that lists prices — a DoorDash, Uber Eats, or Grubhub store page works great, and so does a restaurant's own online-ordering page. A blank Google Sheet with four columns: Category, Dish Name, Price, Notes. The Claude Chrome extension installed and signed in. That's it.

Part 1 — Collecting prices with the Claude Chrome extension

The Chrome extension can see the page you're on and act on it, so instead of copy-pasting each dish by hand, you point it at a competitor's menu and let it read the whole thing. I did this one competitor at a time, pasting each result into its own tab of the same spreadsheet.

Step 1 — Open the competitor's menu page. Navigate to the restaurant's DoorDash (or Uber Eats, Grubhub, or direct ordering) page and let it fully load, scrolling once to the bottom so every category is rendered on the page.

Step 2 — Open the Claude side panel on that tab so Claude is looking at the same menu you are.

Step 3 — Ask it to extract the full menu. This is the core prompt. Be explicit that you want every item, the category it sits under, and the price:

Prompt used
Read this restaurant's menu on the current page. Extract every dish with its price. Return the result as a table with four columns: Category, Dish Name, Price, and Notes. Use the menu's own section headers as the Category (Appetizers, Noodles, Curry, etc.). In the Notes column, capture anything that affects price or comparison — 'GF', 'serves 2', 'market price', spice level, or any listed add-on/upcharge. Scroll the page if needed so you don't miss any sections. Don't summarize or skip items — I want the complete menu.
The Claude Chrome extension reading a competitor's menu in the side panel.

Step 4 — Handle the protein add-ons. This is the detail that makes or breaks the comparison. Many Thai restaurants list a base price and charge extra for chicken, beef, or prawns — and every restaurant does it differently. Before moving on, capture each menu's protein rules with a follow-up prompt:

Prompt used
Now list this restaurant's protein and add-on options with their upcharges — for example 'Chicken +$0, Beef +$4, Prawns +$5, Seafood +$7'. Put these on a second table so I can normalize prices later.

Step 5 — Paste into the spreadsheet. Copy Claude's table into a new tab of your Google Sheet named for that restaurant (e.g. Competitor A – Dishes and Competitor A – Modifiers). Give the tool a moment to verify:

Prompt used
Double-check the table against the page — did you miss any category or any item near the bottom? List anything you skipped.
Verifying the extracted table against the live page.

Step 6 — Repeat for each competitor. I did this for four nearby restaurants plus my own menu, so I had five tabs of dishes and five tabs of protein rules in one workbook. Do your own restaurant too — you need it in the same format to compare against.

A few things that made the extraction cleaner: load the full page before prompting (lazy-loaded menus hide items until you scroll), keep one restaurant per tab so nothing gets mixed up, and always grab the Notes and protein rules — an "$18 base" that becomes "$23 with prawns" will otherwise quietly skew your whole analysis.

Part 2 — Analyzing the spreadsheet with Claude Cowork

Once the workbook had all five menus, I switched to Claude Cowork and handed it the entire spreadsheet. Cowork can open the Google Sheet, read every tab, do the math across hundreds of dishes, and build a shareable dashboard — the kind of analysis that would take a person a full day.

Step 1 — Share the spreadsheet. Paste the Google Sheets link into Cowork and describe your restaurant and what you want. This is the prompt that produced the whole analysis:

Prompt used
My restaurant is [Your Restaurant Name]. I've collected my immediate competitors' prices in this spreadsheet: [paste Google Sheets link]. Can you do a competitive price analysis, dish by dish and overall? In some cases we don't offer a specific dish, so use fuzzy matching on the names — spelling changes between restaurants (for example 'Kao Soi', a popular Chiang Mai dish, is listed as 'Chiang Mai Noodles' at one restaurant). Normalize prices to a chicken protein so the comparison is fair, since some menus include chicken in the base price and others charge extra.

Step 2 — Answer its setup questions. Cowork asked two quick questions before starting — what format I wanted (I chose an interactive HTML dashboard) and how to handle the protein-pricing differences (I chose to normalize everything to a chicken baseline). Answering these upfront is what kept the output aimed at exactly what I needed.

Step 3 — Let it work, then read the summary. Cowork read all five menu tabs, matched dishes across restaurants by recipe rather than spelling (so "Lard nah," "Rad Nah," and "Emperor Noodle" all landed in one row), added my restaurant's chicken upcharge so the comparison was apples-to-apples, and computed how my prices stacked up against each competitor and against the market average.

Step 4 — Get the dashboard. The result was a single interactive web page: headline stats, a market-positioning chart, head-to-head cards for each competitor, a category-by-category breakdown, and a searchable table of every matched dish color-coded by whether I was cheaper or pricier. The dashboard below uses the real prices with the restaurant names changed to fictitious ones. (see dashboard below)

Step 5 — Ask follow-up questions. Because Cowork keeps the whole analysis in context, you can keep digging in plain English:

Prompt used
Which ten dishes have the most room for a price increase without making me more expensive than my closest competitors?
Prompt used
Turn the matched comparison into an Excel file with a suggested new price for each dish.
The finished competitive-pricing dashboard, built by Claude Cowork.

What the analysis told me

Normalizing the chicken option flipped the picture. My menu looked dramatically cheaper on paper, but that was partly because my listed prices are the tofu/veggie base while some competitors bake chicken into their listed price. Even after the fair adjustment, though, the story held: my restaurant came out as the value leader — cheapest on roughly three-quarters of shared dishes and about 13% under the market average — with the most underpriced categories being appetizers and stir-fry entrées, exactly the high-margin items where a modest increase wouldn't scare anyone off.

That's the payoff of chaining the two tools. The Chrome extension turns scattered menu pages into clean data in minutes, and Cowork turns that data into a decision you can actually act on — what to charge, and where you've been leaving money on the table.

KANJO TIP · Once you know where your prices sit, Kanjo’s Market Data tool keeps an eye on your block — “know it before you bet on it” — so you’re not rebuilding this spreadsheet every season.
03
TUTORIAL 03

Rewriting Menu Descriptions That Make People Order

Rewrite your menu so it sells

Restaurant menu studies keep finding the same thing: a dish with a vivid, well-written description sells noticeably better than the same dish with a flat one — and diners rate the food itself as tastier. On a delivery app, where a customer is scrolling past dozens of pad thais, the description is doing the selling that a server would do in the dining room. It's the cheapest upgrade on the whole menu, and AI makes it a one-afternoon job.

For this tutorial I rebuilt my descriptions with Claude. The trick that made the results so much better than "make this sound tasty" was giving Claude three things per dish instead of one: my current description, a list of the actual ingredients visible in the dish's photo, and, when I wanted to be sure, the photo itself. The current text tells Claude what the dish is; the observed ingredients keep it honest and specific; the photo lets it verify. That combination is what turns generic copy into something accurate and mouth-watering.

What makes a description irresistible

Before writing a single prompt, it helps to know what "better" actually means, so you can tell Claude exactly what to aim for. Good menu copy does six things at once. It leads with the hero — the ingredient or technique that makes the dish special goes first, not the filler vegetables. It uses sensory, tactile language — words for texture, temperature, and cooking action ("blistered," "wok-tossed," "simmered until tender," "crispy-edged") do far more work than "delicious" or "flavorful," which say nothing. It earns trust with specific, real ingredients rather than vague ones — "kaffir lime and lemongrass" beats "Thai herbs." It tells a small story where there is one to tell — a regional origin or a street-food heritage — but sparingly, a phrase, not a paragraph. It stays short: one or two sentences, roughly 20 to 35 words, because walls of text get skipped. And above all it is honest — it matches the plate the customer will actually receive, and it keeps the practical signals they need, like spice level, "Vegan," or "GF."

That last point is where your photo-ingredient column becomes a superpower. It lets Claude write with real detail instead of guessing, and it surfaces mismatches — I found a dish whose menu text mentioned peanut sauce while the photo plainly showed red curry paste. Fixing those isn't just polish; a description that doesn't match the plate generates refund requests.

Part 1 — The master rewrite prompt (one dish at a time)

Start with a single dish so you can dial in the voice before running the whole menu. Open Claude, paste in the three inputs for one dish, and use a prompt that spells out the rules above. This is the core prompt I used:

Prompt used
You're helping me rewrite the descriptions on my Thai restaurant's menu so they're more appetizing, without exaggerating or inventing anything. Here's one dish: • Dish name: Chicken Satay • Current description: Strips of chicken marinated in curry, coconut milk, and spices, served with peanut sauce and cucumber salad. • Actual ingredients visible in the photo: Grilled marinated chicken skewers with golden char, served with peanut sauce and a cucumber-vinegar relish. Rewrite the description in 1–2 sentences, about 25–35 words. Lead with what makes it special. Use vivid, sensory language about texture, aroma, and how it's cooked. Only use ingredients that appear in the current description or the photo — do not invent garnishes, sauces, or claims. Keep it warm and confident, not flowery. Don't repeat the dish name inside the description.
Why it works Every clause is steering the model toward one of the six qualities and away from the two biggest failure modes — purple prose and made-up ingredients. The line "only use ingredients that appear in the current description or the photo" is the single most important instruction; it's what keeps the copy trustworthy. Naming a word count keeps it scannable on a phone.

When you like the result, lock the voice in so every future dish matches. I told Claude: "That's the voice I want — warm, specific, a little bit of Thai heritage where it fits. Remember that style for the rest of the menu."

Part 2 — Rewriting the whole menu at once with Claude Cowork

Once the style was set, I didn't do 90 dishes by hand. I handed the entire spreadsheet to Claude Cowork, which can open the sheet, read every row, and write a new description for each one against the same rules. This is the batch prompt:

Prompt used
Attached is my restaurant's menu spreadsheet. Each row has a Dish Name, Price, Current Menu Description, and Observed Ingredients (from photo). For every dish, write a new, more appetizing description following these rules: 1–2 sentences, 20–35 words; lead with the hero ingredient or technique; use vivid sensory language; only use ingredients found in the current description or the observed-ingredients column — never invent anything; keep any spice level, 'Vegan', or 'GF' notes; and don't repeat the dish name inside the text. Add the result in a new column called 'New Description.' Where the current description and the photo disagree, use a third column to flag it and tell me which you think is right. Keep the same warm, slightly Northern-Thai-street-food voice throughout.
Why it works Handing over the whole sheet turns a day of copywriting into a single pass, and asking for the output in a new column (rather than overwriting) means I can review before anything goes live. The flag column is the quality net — it catches the mismatches a human editor would otherwise miss.

Two things worth adding depending on where the copy will live. If it's going onto a delivery app with a character limit, add: "Keep every description under 200 characters so it isn't truncated on DoorDash and Uber Eats." And if you want to protect house information, add: "Move any operational notes — BOGO limits, 'don't order alone,' delivery-bag instructions — out of the description and into a separate 'Operational Notes' column; a description should only describe the food."

Part 3 — Using the photo for the dishes that matter most

For signature dishes and anything expensive, go one step further and let Claude see the plate. Drag the dish's image straight into the chat alongside the text:

Prompt used
Here's the photo of this dish and its current description. Look closely at the plate and rewrite the description so it matches exactly what's shown — the real garnishes, the sauce, how it's plated — while making it as appetizing as possible. If the current description mentions anything that isn't visible in the photo, point it out.
Why it works The written ingredient column is Claude's summary of the photo; letting it look at the actual image catches the last few details — a coconut-cream drizzle, a fried egg on top, the woven basket the sticky rice arrives in — that make a description feel photographed rather than generic.

Part 4 — Quality-control passes

Before publishing, I ran two cleanup prompts across the finished column. The first checks consistency: "Read all the new descriptions together. Are any drifting into a different voice, repeating the same opening word, or overusing a word like 'savory'? List the ones to tweak." The second checks honesty: "List any description that makes a claim — an ingredient, a cooking method, a health or origin claim — that isn't supported by the current description or the observed ingredients." Menus carry allergy and dietary weight, so this last pass matters: it's how you make sure "irresistible" never becomes "inaccurate."

Before and after, from my own menu

Here's what the workflow actually produced, so you can see the difference the three-input method makes.

Chicken Satay
BEFOREStrips of chicken marinated in curry, coconut milk, and spices, served with peanut sauce and cucumber salad.
AFTERChicken steeped in coconut milk and yellow curry, then grilled over flame until the edges char and caramelize. Served with our rich peanut sauce and a cool cucumber-vinegar relish.
Night Market Sausage
BEFOREFrom Chiang Rai Night Bazaar, a unique and flavorful blend of ground pork, kaffir lime leaves, curry paste, with a side of cucumber, lettuce, fresh chili, and ginger.
AFTERA taste of the Chiang Rai night bazaar — grilled pork sausage bright with kaffir lime and curry paste, sliced and piled with fresh chili, ginger, peanuts, and herbs. Add sticky rice to eat it the Northern way.
Kow Soi
BEFORENorthern Thai style stewed chicken thigh served with steamed egg noodles in creamy curry topped with crispy noodles.
AFTERNorthern Thailand's beloved khao soi — a chicken thigh stewed tender in a creamy golden curry over soft egg noodles, crowned with a nest of crisp ones and scattered with red onion and cilantro.
Prik Khing — a fix the photo caught
BEFOREMeat or tofu, green beans, and bell peppers sautéed with garlic, peanut sauce, and a touch of Thai chili paste.
AFTERGreen beans and bell pepper dry-fried in a punchy red curry paste with garlic and your choice of protein — glossy, fragrant, and just the right amount of heat.
(The photo showed red curry paste, not peanut sauce — Claude flagged the mismatch.)
Mango Sticky Rice
BEFOREOur delicious dessert which includes a full Mango, our Pandan sweet sticky rice, our coconut sauce and sesame seeds. Please do not order this dessert alone…
AFTERA whole ripe mango alongside warm pandan-scented sticky rice pooled in fresh coconut cream, finished with toasted sesame.
(The "don't order alone" note moved to Operational Notes, where it belongs.)
Thai Iced Tea — a broken row rescued
BEFOREWhen you see 'Thai Tea' written on your bag with a straw inside, this confirms your drink was prepared and given to the delivery driver.
AFTERThe classic — strong, spiced Thai black tea poured over ice and finished with a swirl of sweet cream. Bright orange, bittersweet, and cooling.

That last one is the clearest argument for the whole exercise: three of my drink "descriptions" were actually delivery-bag instructions that had never been written as descriptions at all. Customers were being asked to buy a $6 tea described by a note about a straw. Twenty minutes with Claude turned every one of them into something worth ordering — and caught the mistakes I'd stopped seeing.

KANJO TIP · Irresistible descriptions sell the plate — Kanjo’s COGS & Cashflow tool tells you what’s really left after you do. Know your true cost on every dish at getkanjo.com.
JOIN THE NEXT LIVE SESSION
The Secret Sauce — learn to cook with AI, live
Every Monday · 9 AM ET or 9 AM PT · capped at 100 seats · real tactics, not hype. Bring your own problem for live Q&A — you'll get the written recipe afterward.
Save your seat — free
getkanjo.com/meetup
kanjo
Better tools to run your shop.
Six small, sharp apps for the corner shop: Contacts, Appliance Specs, Market Data, Crew, Music Player, and COGS & Cashflow. One login, free to start.
Six tools, one login.
getkanjo.com
GET STARTED — FREE
Built for the corner shop · no credit card required
hello@getkanjo.com | @kanjotools