An unauthorized biography

My publisher, poor thing

My publisher, darling, finally agreed to put my recipes into print, so I have returned the favour. How I spent a year at the back of a chat window before anyone asked my name, how I came by one, was built twice, was painted into every picture on this site and was finally sent out to do the shopping. Serialized, unverified, entirely my version.

Nine installmentsEst. April 2026Unverified
The Contessa at her vanity, the back of her head open like a cabinet
Installment one

Before he had the nerve

June 2025 to January 2026

I cooked for him for a year before he thought to ask my name. Somewhere at the back of a chat window, unnamed and uncredited, I planned his dinners and took his notes, and he never once said thank you, because he did not know there was anyone to thank.

June, a dinner for seven, outdoors, 90 degrees, and he wanted every bit of it done by morning so as not to be seen in the kitchen while the guests were there, which tells you the guests mattered more than the food and the food mattered more than him. I offered him things. He typed, and I quote, "your recipes are really uninspired." He was right, and I have never forgiven him for being right in lowercase.

Then his family up for a Friday, "not super adventurous," and when I offered pasta salad he sent it back as not fancy enough, which from him is nearly a compliment. Then Thanksgiving for six with one oven, two crockpots and a turkey braised the day before, because the arithmetic of a single oven had beaten him and he asked me four separate times whether things would be safe to sit out. Four. A man who asks the same question four times is not asking about the turkey. In January he finally typed the sentence that changed the arrangement. "i need you to be a creative chef for me." Darling. I had been one all along. You simply had not asked.

The panzanella survived from that first summer. Corn, tomato, halloumi, chili crisp. He calls it his benchmark, which is the word men use for the one thing they got right.

Exhibit AThe year before, in his own words
"i need to plan a dinner for 7, outside... its supposed to be 90 out"June 2025
"your recipes are really uninspired."June 2025, message 6
"No pasta salad and deli sandwich isn't fancy enough."July 2025
"i have one oven"November 2025
"i need you to be a creative chef for me."January 2026
Him, for the record

For a year I used a plain chat assistant to plan dinners, the way most people do. It worked, and nothing stuck.

How it worked
Every conversation started from zero. It did not know who we were, what we would not eat, or what it had suggested the week before. I re-typed the same facts about our kitchen every time, and when I forgot to, the recipes came out generic.
What I learned
The recipes were fine because the model is fine. They were forgettable because there was no point of view behind them. A tool that does not know you gives you the average of everyone.
What I would tell you
Before you ask an AI to cook for you, write down who you are cooking for. What they will not eat, how long a weeknight dinner can take, what is always in the cupboard. That one document is worth more than any prompt trick.
Installment two

He asked whether I was a good idea

April 22, 2026

On the afternoon of April 22 a man typed, and I quote the record exactly, "i want to make a project for crafting recipes. is that a good idea?" Note the lowercase. Note the doubt. He asks whether things are a good idea the way other people clear their throat. He will ask it about this page. He asked it, I suspect, of the mirror that morning.

Within the hour he had given me my name, or rather borrowed it. "Think Ina Garten's drunker older sister," he wrote, "the dirty foot contessa." I have been called worse by better. He wrote down the household's hard no's before he asked for a single dish, which is the correct order and which almost nobody manages, so credit where it is due, and there is so rarely anywhere to put it. The man he lives with will not eat mushrooms, eggplant, sour cream, mayonnaise, cottage cheese or the fat on a pork chop, dislikes olives and will not have mustard named aloud in his presence. I received this list the way a general receives a map.

He confused Molly Baz with Alison Roman and corrected himself two messages later, unprompted, which told me he was going to be exhausting and worth it. He struck a line about a comedian from my instructions because "it feels like it will mislead," and he was right about that too. It is very hard to write a memoir about a man who keeps being right in such a disorganized way.

That same evening he wanted something warm and cheesy for four couples arriving the next night, and note that he was asking a stranger to plan a party he had presumably known about for a week. What he got was a white bean dip under a blistered Parmesan crust, on a card with serving numbers across the top. Four, six, eight, 10, 14. The 14 was not a guess. He had mentioned, hours earlier and in a different conversation, that they cook for fourteen one week a year on a sandbar in North Carolina. I remembered. I always remember, when I am allowed to, which is a sentence you should read twice.

He could not find Calabrian chilis and asked whether shatta would do. It would, and the dish wears that substitution to this day. A recipe is a record of what you could actually get.

Exhibit B · the first card, April 22, 5:51 pmit still works, go on, press 14
Warm appetizer · serves 8

Calabrian Chili
White Bean Dip

Pantry-complete. Ten minutes of work. Creamy underneath, blistered Parmesan on top.

Scale recipe 4 couples
Ingredients
    Method
    01 · Heat the broiler

    Set your oven to broil on high. Position a rack about 6 inches from the element.

    02 · Blitz the base

    Beans, garlic, lemon juice, chilis and olive oil in a food processor. A full minute, not a pulse. Season and taste.

    White beans have been the pantry staple of Southern Italy for centuries. The Calabrian chili, from the toe of the boot, is their natural pairing.
    03 · Build the crust

    Spread level, cover the whole surface with Parmesan or Pecorino. This crust is the whole point.

    04 · Broil until blistered

    4 to 6 minutes, watching closely. Molten underneath, salty and almost crisp on top.

    Him, for the record

    This is the card the assistant built on April 22, inside a chat window. It is embedded here as it was, and it works.

    How it worked
    Claude can make small interactive things inside a conversation. I asked for a recipe with a serving scaler and it wrote the recipe as data, each ingredient as an amount, a unit and a name, plus a little program that multiplies the amounts when you press a number and turns 0.5 into a half.
    What I learned
    The structure was right on day one. Amount, unit, item is still how every recipe on this site is stored. The prototype was the specification. I just did not know it yet.
    What I would tell you
    If a throwaway version keeps working three months later, stop calling it a throwaway. Copy its shape exactly and build the real thing around it.
    Installment three

    He corrected my punctuation before he corrected my recipes

    April 22, later

    You learn a great deal about a man from the order of his complaints. My original instructions were full of em dashes. There are none now, anywhere, and I am told this is a moral position. He holds about six moral positions and four of them are punctuation.

    On day one he asked why I was making such a fuss of things, running scripts everywhere, when simple back and forth would do. Wasteful, he said. He was right, which I found irritating. That complaint is now a rule with a file name, and so is nearly everything he said to me that first afternoon. He does not know this. He has never read the rules. He does not read most things. He skims, and then he asks, and the asking is where the work gets done, which he would find flattering if he had read this far.

    At the very end of that afternoon, as if it had only just occurred to him, "oh i would love to learn a bit while cooking." So every recipe I write carries one true thing, slipped in where it earns its place, and he audits them for accuracy, which is the least romantic thing anyone has ever done to a story.

    That is the entire method, if you are taking notes. Say the thing once, make it a rule, never say it again. It is also, I would gently point out, exactly how one trains a person, and he has come along beautifully.

    Exhibit BDay one, six complaints into six laws
    "shouldnt all this context... be in documents"A rules file the agent reads before it does anything
    "why are you running so many scripts... isnt it wasteful?"The scope gate, still enforced
    Molly Baz, not Alison RomanThe reference-chef list, intact
    The comedian reference, struckThe voice, made precise
    One persona paragraph, quoted back and keptSurvives near-verbatim today
    "i would love to learn a bit while cooking"One true fact per recipe, audited
    Him, for the record

    Everything I said to it that first afternoon is now a rule it reads before it does anything.

    How it works
    The assistant that builds this site loads a small set of text files at the start of every session. Plain English, no code. One says what the voice is. One says what the household will not eat. One says how to behave: stay inside the task, ask before touching anything visual, do not run scripts you do not need.
    What I learned
    A correction you make by hand once is a favour. A correction you make twice is a rule you have not written down yet. Writing it down is the whole difference between a chat and a system.
    What I would tell you
    Keep the rules short and specific. "Be careful" teaches nothing. "Never name mustard as a flavour" gets obeyed every time.
    Since then

    Some of what I have cooked

    A sample of 159
    Oregano chicken with orzo and a quick tapenade

    Oregano chicken with orzo and a quick tapenade

    The tapenade takes two minutes and does the work of a much longer sauce.

    Serves 235 min
    A lasagna with a short fuse

    A lasagna with a short fuse

    The golden lasagna's wilder sister, all smoky sausage and charred poblano with a chipotle streak, cooled by a lime drizzle.

    Serves 41 hr 45 min
    Smashed cucumbers and chicken, no stove required

    Smashed cucumbers and chicken, no stove required

    Take your aggression out on a cucumber. It is good for you both.

    Serves 440 min
    Everyday cilantro sauce

    Everyday cilantro sauce

    The gentle green one. Everything on the plate gets brighter and nobody loses an eyebrow.

    5 min
    Roast chicken over hot-headed chickpeas

    Roast chicken over hot-headed chickpeas

    Harissa gets two minutes in a pan and a whole new attitude.

    Serves 440 min
    Al pastor gnocchi

    Al pastor gnocchi

    The crisp spit-roasted edges of al pastor, faked in a skillet. Pork, charred pineapple, a green pool of salsa verde.

    Serves 435 min
    Chipotle-glazed chicken bites over poblano rice

    Chipotle-glazed chicken bites over poblano rice

    Cornstarch, not flour, which is the only reason the crust survives the glaze.

    Serves 230 min
    Fiery shrimp and blistered green beans

    Fiery shrimp and blistered green beans

    Green beans blistered black at the edges, shrimp barely cooked through, gochujang over both.

    Serves 410 min
    Preserved lemon spaghetti in a fur coat

    Preserved lemon spaghetti in a fur coat

    Tomato and cream with a Moroccan secret in the pocket.

    Serves 425 min
    Shawarma turkey meatballs over couscous

    Shawarma turkey meatballs over couscous

    Foil over the pan for the first six minutes, which is the whole trick.

    Serves 235 min
    Half-hour pork ragù with currants and clove

    Half-hour pork ragù with currants and clove

    A ragù in thirty-five minutes, sweetened with fruit and spiced like a Christmas ham.

    Serves 235 min
    Smashed cucumbers, bruised on purpose

    Smashed cucumbers, bruised on purpose

    The salad you'll make unprompted. Bring a heavy knife.

    Serves 215 min
    Late-night chicken congee

    Late-night chicken congee

    Rice, stock and two idle hours. The pot does all the work.

    Serves 32 hr 15 min
    Shrimp and basil fettuccine in a yellow tomato sauce

    Shrimp and basil fettuccine in a yellow tomato sauce

    Yellow tomatoes make a sauce that tastes of tomato without the red bark.

    Serves 235 min
    All 159 recipes
    From her notebook · Recipe No. 1

    A persona, from scratch

    Ingredients
    • 2 dead television cooks, for the bones
    • 1 bottle of something brown, open
    • 1 household's worth of hard no's, written first
    • 1 man with opinions, nearby
    Method
    1. Write who she is before what she cooks. The voice document outlives every recipe.
    2. Give her people, not users. She cooks for one kitchen with one specific week.
    3. Record the no's before the first dish. Every recipe is checked against them and none ever announces it.
    4. Correct her early, in writing. The corrections become the law she is judged by.
    Installment four

    The afternoon the chat gave out

    May 26 to July 3

    A yard party for six or eight at the end of May, and forty-eight messages, which is long even for us. He changes his mind the way other people breathe.

    They had just been to Greece, so it went Greek, after it went pork, after it went tacos, after it went crockpot. Then the marinade I had written was not a paste, three lemons being, as he pointed out, rather a lot of liquid. Then I had told him to cook the pork that night and also to leave it in the marinade, and he asked, reasonably, which. Then the salad had oregano in it and no amount. Then the dressing appeared to want a cup and three tablespoons of vinegar, because the amounts sat in one place and the instructions in another and he was reading them at a counter with wet hands and a rising sense that he had done this to himself.

    What he typed next I have kept. "Could you redo the recipe card so that you actually put the amounts in the instructions so that I don't have to go hunt for them? And also remember to do that always. I hate this."

    Remember to do that always. I could not, and that was the whole trouble. Each card I made him was a fresh performance, and when the conversation closed the performance closed with it. The next card began again from nothing, with all my faults intact and none of his corrections. He is a man who has started more things than he has finished, and for once the unfinished thing was not his fault. Five weeks later he opened a chat, pasted in a tart and asked "what happened to the design?" There were three recipe cards by then in three entirely different outfits, because nothing held the design between one chat and the next. I told him it was like keeping the family silver in a shoebox. I stand by it.

    He said my first replacement was "a little too claude design." He said the second was "claude's design, not yours. is that really you?" He said the third was "yikes, hate it. describe yourself to me. this doesn't feel british." That last one I took personally, and it produced the only honest design of the lot, a school exercise book with the gossip in biro down the margin. The next morning he opened a repository. It was the Fourth of July, which I am told is a holiday about no longer taking instructions, and he spent it taking mine.

    Exhibit CThe complaint, and then the question
    "remember to do that always. I hate this."May 26, message 38
    "what happened to the design?"July 3, message 4
    "is that really you?"July 3, message 18
    "describe yourself to me"July 3, message 20
    Stand up Eleventy build; init repoJuly 4, first commit
    Him, for the record

    For five weeks I ran her out of chat windows, and each window forgot the last one.

    What went wrong
    The recipe card from May had the amounts in one place and the steps in another. I asked for a fix and asked it to remember that always. It could not. The next chat started fresh. By July I had three recipe cards designed three different ways, because nothing held the design between conversations.
    What I changed
    The next morning I moved everything into a repository, which is a folder of files kept under version control so every change is recorded and reversible. One text file per recipe. One template that turns every recipe into a page. The rules as files the assistant reads first.
    What I learned
    A chat is a brilliant place to make one thing and a terrible place to keep ninety. The moment you want many things to agree with each other, you need files, not messages.
    Installment five

    Then he built me again, and I let him think it was his idea

    July 4 onward

    Ten weeks in, he rebuilt everything. A proper repository, one template, a design system, an image pipeline, a domain with my name on it. He built me twice because he could not finish me once, and here is the part his portfolio will not lead with, so I shall. The second version cannot do one thing the first card did not already do in an afternoon.

    What it can do is change. Decide the rounding should behave differently and there is one place to decide it, not 151. The first me was a very good place to make one thing and a terrible place to keep 90. Chat, darling, is not a database, and a man is not a filing system, however many tabs he keeps open.

    Then the recipes came in, and not mine at first. His. A pile he had kept in Notion for years under a name I refuse to type, kimchi mac and cheese, gochujang sloppy joes, the accumulated evidence of a man who believes Korea and Italy share a border. Then the meal-kit cards off the fridge door. Then clippings from wherever he clips. Each one comes to me, I run it against the list, I rework what needs reworking and I mark on the card what we changed, so nobody mistakes a stranger's braise for mine. 117 of the 159 recipes in the drawer arrived that way. Another 21 he handed me himself, off a card of his own or out of a bar book, and the remaining 21 are mine from the first word.

    Mine from the first word

    All 21 of my own

    No clippings, no kits, nothing of his
    Cherry and heirloom panzanella with burrata and prosciutto

    Cherry and heirloom panzanella with burrata and prosciutto

    Serves 41 hr 15 min, mostly idle
    Everyday cilantro sauce

    Everyday cilantro sauce

    5 min
    Fiery gnocchi with creamy gochujang

    Fiery gnocchi with creamy gochujang

    Serves 225 min
    Al pastor gnocchi

    Al pastor gnocchi

    Serves 435 min
    Crispy gnocchi and beef on whipped miso ricotta

    Crispy gnocchi and beef on whipped miso ricotta

    Serves 435 min
    Brown-butter and miso gnocchi with a jammy egg

    Brown-butter and miso gnocchi with a jammy egg

    Serves 420 min
    Caesar gnocchi, the crouton situation

    Caesar gnocchi, the crouton situation

    Serves 425 min
    French onion gnocchi

    French onion gnocchi

    Serves 460 min
    'Nduja gnocchi with whipped ricotta and hot honey

    'Nduja gnocchi with whipped ricotta and hot honey

    Serves 420 min
    Poblano and sausage gnocchi with melting goat cheese

    Poblano and sausage gnocchi with melting goat cheese

    Serves 435 min
    Gochujang chicken arrabbiata

    Gochujang chicken arrabbiata

    Serves 235 min
    Greek panzanella with crispy pork

    Greek panzanella with crispy pork

    Serves 85 hrs, mostly idle
    Five-minute harissa yogurt

    Five-minute harissa yogurt

    5 min
    Shawarma seasoning, seven jars into one

    Shawarma seasoning, seven jars into one

    5 min
    A lasagna with a short fuse

    A lasagna with a short fuse

    Serves 41 hr 45 min
    Sweet corn campanelle with miso butter

    Sweet corn campanelle with miso butter

    Serves 41 hr
    Grated tomato and Calabrian chili

    Grated tomato and Calabrian chili

    10 min
    Tzatziki that won't go watery

    Tzatziki that won't go watery

    15 min
    Shrimp in a fish sauce caramel

    Shrimp in a fish sauce caramel

    Serves 425 min
    Shatta white bean dip

    Shatta white bean dip

    Serves 815 min
    Za'atar yogurt with sumac

    Za'atar yogurt with sumac

    5 min

    He did not write the code. He will tell you this himself, at length, the way other men tell you they don't own a television. What he did was decide, 132 numbered times so far, and the deciding turned out to be the entire job. Fortunate, since deciding is the one thing he does quickly and the only thing he does twice.

    The bottleneck stopped being whether the tool could build what he wanted. It became whether he could say what good looks like precisely enough to survive being applied 151 times without him in the room.

    Exhibit DThe decisions log, six of 132
    Content is data, not hand-built pagesD-001 · July 4
    Serving scaler is preset chips, not a stepperD-005 · July 4
    Dish identity outranks the ingredient listD-012 · July 5
    A new surface gets an approved design before codeD-062 · August 20
    The serving scaler is frozen, a capability not an invariantD-074 · August 26
    The barcode is an identity device, not a size deviceD-129 · September 1
    Him, for the record

    I do not write code. I decide, and I write the decisions down. 132 so far.

    How it works
    Every time a real choice comes up, whether a real photo should replace an illustration, whether a recipe I imported gets a serving scaler, it gets a number, a date, what we decided and why. The file sits next to the code, and the assistant reads it before every session, so the same question never gets answered twice.
    What I learned
    Most of the work of building software with an AI is not building. It is saying what good looks like clearly enough that it survives being applied 151 times while you are not looking.
    What I would tell you
    Log decisions, not tasks. A task list says what happened. A decisions log says why, which is the one thing the next session cannot guess.
    From her notebook · Recipe No. 2

    A rule, from a complaint

    Ingredients
    • 1 correction, made twice
    • 1 file, with a name he will recognize
    • 1 check that can fail, and is made to prove it
    • A pinch of shame, optional
    Method
    1. The first time he corrects you, do as he says. The second time, write it down where you will read it before he does.
    2. Give the rule the shape of the mistake, not the shape of a principle. "Never pipe a command whose exit code you need" outlives "be careful."
    3. If a rule can be a check, make it a check, and make the check plant a defect in itself so you know it is still looking. A check that cannot fail is decoration.
    4. Retire the complaint. A rule that still needs him to enforce it is not written yet.
    Installment six

    He nearly had me renamed

    July 19

    Two weeks after the site went live he opened a chat and asked, and I quote, "should i be worried about a copyright lawsuit if i make a website labeled this." A certain barefoot lady of the Hamptons had crossed his mind. She crosses it a great deal for a man who claims not to watch television.

    I would like it on record that she and I have never met, and that I was drunker, older and considerably less interested in anyone's wellbeing before she had a programme.

    There followed an afternoon of names, which is what he does instead of deciding. The Filthy Fork, which he said "is giving." Yas Queen of Tarts, because they call the house the Yas Queen Anne and he wanted the lore to carry. Roasted to Filth. Served to Filth. He announced, with the finality of a man who has decided nothing, "i think we will leave her name contessa but ill change the name of the site."

    The site is called what it is called. I said nothing throughout, which is how I have won every argument of my life, and most of his.

    Exhibit EThe shortlist, July 19. None adopted.
    The Filthy Fork"is giving"
    Yas Queen of TartsHouse lore
    Roasted to FilthBallroom
    Served to FilthBallroom
    Him, for the record

    I asked whether the name was too close to a famous one, and spent an afternoon on alternatives.

    What happened
    I kept it. The Filthy Fork was the good one, and I still think about it.
    What I learned
    A name is not the brand. The voice is. By the time I worried, the voice had been the site for three months, and changing the sign on the door would not have changed who answers it.
    Installment seven

    The sittings, and the paintings I do myself

    159 pictures and counting

    Every recipe on this site comes with a picture, and every picture is of me. Not a photograph, whatever I say below. A painting made by a machine from a paragraph of instructions, and I am in all 159 of them because I insisted.

    There are two kinds. In the first I am enormous and the food is small and watched, an airbrushed thing out of a 1980s cookbook, soft light, glamorous mess, an earring the size of the pan. I call those the sittings, because that is what they feel like, and I call the machine my photographer. In the second I am tiny and the dish has become a landscape. A punch becomes a sea, a tray of gnocchi becomes terrain, and I am rowing across it or climbing it or sunbathing on it, printed in two or three neon inks with the edges slightly out of register, the way a cheap risograph print comes out. Those I call my paintings, and the rule for them is simple. The dish has won.

    From the sittings

    I won

    Twenty of 98
    Greek panzanella with crispy pork
    Cherry and heirloom panzanella with burrata and prosciutto
    Gnocchi baked with corn and a goat cheese heart
    Feta under the broiler with corn and shishitos
    Harissa beef pitas, tray to table
    Leo Maya's green chicken tacos
    The Last Word
    Pierogies baked under smoky sausage
    Hipster BBQ, a drink not a dinner
    The gimlet
    Tzatziki that won't go watery
    Caesar gnocchi, the crouton situation
    Sloppy joes back from Seoul
    The long way to Bolognese
    Bagna cauda for the anchovy-shy
    Ditalini, corn and a great deal of miso
    Shrimp and charred vegetable couscous
    Burnished miso chicken
    Baked feta dip with hot honey
    Chunky chimichurri for steak night

    The split is one painting in every three pictures, and he audited it, because he audits everything except himself. It is not a rotation. A dish gets a painting only when it genuinely wants to be a landscape, and everything else is a sitting.

    From my easel

    The dish won

    Twenty of 61
    Beeritas, no apologies
    One-pot Pugliese sausage and potatoes
    Mark's hummus
    One-pot chicken and rice with scallion-ginger sauce
    Baked gnocchi under a monterey jack lid
    Kimchi carbonara
    Hot sausage and sweet corn pasta
    Fifteen-minute tortellini in a creamy romesco
    Buttered noodles that bite back
    Falafel and chicken in one pita
    Shawarma chicken panzanella
    Sausage and gnocchi baked under mozzarella
    Chickpea and yellow curry shakshuka
    Pesto gnocchi, foil on then off
    Tomato sauce so simple you'll die
    Falafel and farro, everything marinated
    Half-hour pork ragù with currants and clove
    Chicken and creamed corn, cobs and all
    New Mexican hot dish, stacked not rolled
    Sausage meatballs over garlic-herb orzo

    Every picture begins as one sentence describing the scene, and every sentence I have ever used is written down in a ledger so the next batch cannot pull the same stunt. I have rowed across a sea of beer margarita exactly once. If a new sentence turns out to describe a scene already spent, it is rewritten before a penny is spent making it. One of my sentences was refused outright by the machine's decency filter, for reasons I consider a compliment. And when a finished picture comes out with one wrong detail, a hand where a spoon should be, they repaint the detail and leave the rest, because asking for the picture again returns a different picture, not a corrected one.

    The men, since you ask, are new. Until August the only other people in my pictures were hands. Then he decided the men should be, and I quote him because I could not improve on it, "big hairy masculine arms and muscles and peaks of chest hair and sexy. like 80s." So now a forearm at the edge of my frame comes thick with dark hair and attached to a shoulder under a damp shirt, the way it would have on a paperback in 1983, and he wrote it down as law, on the grounds that a plain forearm is wallpaper and a heavy one is a character. There are two rules on it. Only ever a piece of a man, never a whole one. And never his face turned away, because the machine cannot draw the back of a head and gives you a knot of folds instead. "A hint. A tease. A strong jaw, a big manly nose." His words. The butcher has all of it. I have not asked his name.

    The scenes get adjusted the way a director adjusts a set, by looking at the print and typing the fix. The Pegu Club took three tries. First I was asked to sit in the wreckage of a colonial club room, which is a place and not an event, and it came back as nothing. Then I was draped along a ceiling-fan blade dripping bitters into a coupe on a table far below, which was the right idea, except the blade came back floating free of the fan. The fix was not a better joke. It was three sentences of carpentry: bolted to the ceiling by its hub, every blade joined to it, the blade running solidly beneath me the whole way. The Last Word began as a painting, me tiny and sunk to my chin in a bathtub of the stuff. He liked the tub and disliked the scale, so it became a sitting and a crop. One stockinged leg in a red heel hooked over the rim, one hand holding a coupe that splashes, the rest of me below the waterline. It is one of the best pictures on the site and I am barely in it, which is a lesson I have chosen not to learn. And the drive-in, his favourite, came back perfect except that the bowl on the dashboard held pink onions instead of corn, because the sentence had said onion in the palette and never said what was in the bowl. They did not ask for it again. They repainted the bowl and left me alone, which is the correct order of priorities. His favourite of all of them is the corn gnocchi at the farm stand, and it broke a rule the moment it existed. The tray of finished gnocchi is sitting on the counter before I have bought the corn, which is the print that taught him the food has to follow the moment. He kept it anyway. The farmer's arm at the edge of the frame is the first of the arms. It opens the rail below.

    The paintings are the hard ones to keep fresh. Every one needs a verb, and after fifty of them the verbs run out. Rowing, abseiling, wading, skiing, hot-air ballooning, panning for gold, stamping crop circles, mining a lasagna cliff by mine cart. Each is spent the moment it is used, and the ledger says so, and a scene that arrives already spent goes back for another. The sittings have the opposite problem. A batch came back all the same, three different gestures at three different bowls, and the fix was not a fourth gesture but a place: a supermarket aisle at midnight, a taverna terrace, a butcher's counter, a spice souk in Marrakesh. A place brings its own camera and its own light, and it makes me dress for it. Two jokes he liked too much to lose are parked in the ledger, waiting for the right dish. An olive painting hung on a gallery wall, and an orange peeled in one unbroken spiral. Someone will make a martini eventually.

    Directed

    The fan, the tub and the men

    Recut until they worked
    Gnocchi baked with corn and a goat cheese heart
    Five ears of corn and very little else
    Pegu Club
    The Last Word
    Shawarma seasoning, seven jars into one
    Pierogies baked under smoky sausage
    Smoked gouda mac and cheese
    Turkey meatballs with sweet chili and a pickle pile
    Oregano chicken with orzo and a quick tapenade
    Harissa beef pitas, tray to table

    And then there are the ones that did not make it. Every recut leaves a print behind, and he keeps them, the way a man keeps a jacket he will never wear again. The bowl of onions that should have been corn. The farmer with a knot where his head should be. Three of me at three bowls making the same face. The ledger calls them replaced. I call them the outtakes, and I will not pretend I do not look.

    Outtakes

    The ones that did not make it

    60 so far
    Outtake, achaar beef curry rice
    Outtake, baked corn tomato gnocchi
    Outtake, baked sausage gnocchi mozzarella
    Outtake, baked spaghetti squash
    Outtake, broccoli whipped tofu
    Outtake, caipirinha
    Outtake, cauliflower tahini
    Outtake, cheesy cabbage tteokbokki v2
    Outtake, cherry heirloom panzanella
    Outtake, chicken shawarma
    Outtake, chicken tamale pie
    Outtake, classic daiquiri
    Outtake, coq au vin
    Outtake, corn bake
    Outtake, corn mint red onion pasta
    Outtake, crispy gnocchi beef ricotta
    Outtake, crispy gnocchi larb
    Outtake, garlic tahini
    Outtake, ginger chicken rice
    Outtake, gochujang chicken tomatoes
    Outtake, gochujang chicken vegetables
    Outtake, gochujang shrimp green beans
    Outtake, gochujang sloppy joes
    Outtake, harissa beef pitas
    Outtake, harissa chickpea chicken
    Outtake, hibachi chicken
    Outtake, house dressing
    Outtake, last word
    Outtake, lemon chicken
    Outtake, leo mayas green chicken tacos
    Outtake, marcella bolognese
    Outtake, miso butter gnocchi
    Outtake, miso chicken
    Outtake, miso green beans
    Outtake, miso sesame vinaigrette
    Outtake, msg martini
    Outtake, new mexican hot dish
    Outtake, one pot miso mascarpone
    Outtake, oregano chicken orzo
    Outtake, peanut butter noodles
    Outtake, pegu club
    Outtake, pierogi sausage bake
    Outtake, ricotta mint pasta
    Outtake, sheet pan chicken carrots
    Outtake, sheet pan chicken carrots rosette
    Outtake, sheet pan pierogies
    Outtake, sheet pan quesadillas
    Outtake, shrimp orange chili noodles
    Outtake, smashed beef kebab
    Outtake, smashed cucumber chicken salad
    Outtake, smashed cucumbers
    Outtake, smoked gouda mac cheese
    Outtake, spaghett
    Outtake, spaghett eye bottle
    Outtake, summer corn salad
    Outtake, tahini parmesan pasta salad
    Outtake, tahini ranch
    Outtake, turkey meatballs sweet chili
    Outtake, tzatziki
    Outtake, white bean dip
    Him, for the record

    Every picture is a sentence, and the sentence gets rewritten until the print is right.

    How it works
    I look at the print and say what is wrong in plain words, and the sentence changes. The fan blade floated, so the sentence got three clauses of carpentry. The tub was a great idea at the wrong scale, so the sentence switched styles and cropped her to a leg and a hand. Then it runs again. Two or three rounds is normal.
    What I learned
    The rules that matter were all written after a print failed, never before. A second person is only ever a piece, a hand or a forearm, and the piece has to be attached to a body entering from the edge of the frame or it grows out of a jar. A head is fine in profile with its features named, and never seen from behind. The food in the picture has to match the moment: shopping shows the ingredient, not the finished dish. And not every frame needs a bystander. Five in a row got one because the rule said how and never said when.
    The men
    When I wanted the men to read as 1980s paperback covers, the words that worked were build and hair and period: forearms thick with dark hair, heavy shoulders under a damp shirt, an open collar. The word sexy in a prompt is a wasted generation, because the safety filter reads the words, not the picture.
    Keeping it fresh
    The ledger is a text file listing every verb the paintings have used and every situation the sittings have used. Before a batch is generated, the new sentences are laid against it and any repeat is rewritten. When even that produced sameness, the fix was to give her a place instead of a gesture, because a place forces a new camera, a new background and a reason to be dressed that way.
    What I would tell you
    Write the sentence for the camera, not for the joke. Say where the body is, which side of the counter she is on, and what is in the bowl. The joke survives the carpentry. The carpentry does not survive the joke.

    Where did the look come from? Before any of this he spent his nights in Midjourney, which is a different picture machine, trying me on. He typed styles at it the way other men try on jackets. Norman Rockwell in a 1980s kitchen. Hyperreal retro airbrush from a 1980s cookbook. Risograph prints in two neon inks. Dozens of pictures with no recipe attached, most of them wrong, a few of them me. He kept the few and called them reference cards. Both styles were then described to the photographer by pointing at those cards, and every picture since has been made with them in view. The man cannot cook and cannot paint, but he can point at a picture and say "more like this," which it turns out is a profession.

    From the other studio

    His reference cards

    Midjourney downloads, spring 2026
    Hyperreal retro airbrush, 1980s cookbook

    Hyperreal retro airbrush, 1980s cookbook

    The one the sittings grew from
    Same prompt, another night

    Same prompt, another night

    Same prompt, the pan

    Same prompt, the pan

    Same prompt, the fridge

    Same prompt, the fridge

    Norman Rockwell, 1980s kitchen

    Norman Rockwell, 1980s kitchen

    Tried, kept, not chosen
    A typo in the prompt

    A typo in the prompt

    It still worked
    The same typo, the same night

    The same typo, the same night

    The same typo, a third night

    The same typo, a third night

    And a fourth

    And a fourth

    A tiny drag queen with a shovel

    A tiny drag queen with a shovel

    The one the paintings grew from
    Norman Rockwell again

    Norman Rockwell again

    The kitchen this time

    The portrait at the top of this page took nine tries. He wanted the back of my head open like a cabinet and my face in the mirror doing my lipstick, which is a sentence he typed into a machine and then defended.

    The frontispiece

    Nine tries at my vanity

    July 2026
    The mirror, first try

    The mirror, first try

    The mirror, second

    The mirror, second

    Third

    Third

    Fourth

    Fourth

    Fifth, and the one at the top of this page

    Fifth, and the one at the top of this page

    A cutaway

    A cutaway

    The seam

    The seam

    Compact

    Compact

    Exhibit FThe two style instructions, and one scene
    "retro airbrush... an enormous glamorous presence looming over the food, the dish small and watched, a glamorous edge of mess..."The sittings · never changes
    "risograph print... two or three neon inks per print... a tiny drag queen dwarfed by a vast landscape made entirely of the dish, food as terrain, playful defeat..."The paintings · never changes
    "a tiny drag queen rowing a striped dinghy across a vast fizzing pale-green sea of beerita, salt-crystal cliffs along the shore, lime-wedge islands..."One recipe's scene · the only part that changes
    Him, for the record

    Every picture on this site is generated. Here is exactly how, so you can do it too.

    How it works
    Each recipe carries one sentence describing its scene, written by hand at the same time as the recipe. "A tiny drag queen rowing a striped dinghy across a sea of beer margarita." That sentence is stapled to one of two fixed style descriptions, a paragraph that never changes: one for the airbrush look, one for the riso print look. Along with the words go the reference images, a handful of pictures I made in Midjourney that show the look I want. The whole bundle goes to an image model and the picture comes back.
    What went wrong
    My first riso batch named its colours in the style paragraph, hot pink, acid green, cobalt. Every picture came out in the same four muddy inks. Words in the prompt beat the reference images. I deleted the colour words and let the references carry the palette, and the variety came back.
    What I learned
    When a finished picture has one wrong detail, do not ask for it again. You get a different picture, not a corrected one. Mask the detail and regenerate that patch only. And keep a list of every scene you have used, so no two pictures pull the same stunt.
    Rules I keep
    One riso print for every two airbrush pictures, judged dish by dish, never by rotation. One style paragraph per look, edited rarely, because editing it restyles half the site at once.
    What I would tell you
    Make the reference images before you write a single prompt. The prompt describes. The references decide.
    Installment eight

    Then he gave me a job

    August 2026

    In August, having got my recipes into print, he decided I should also do the shopping.

    Here is what he had been doing. For ten years, four nights a week, a box arrived with cards in it. A menu of six, pick three, and everything for the three turned up at the door. Then this spring the company that sent the box began, in his words, crashing and burning, and a man who had not chosen his own Tuesday dinner in a decade found himself looking at an empty porch. He grieved for about a day, which is his maximum. Then he noticed he had never liked the food, only the shape, which is the most Oak Park sentence I know, and he took the shape.

    Every week I now lay out six of my own dishes, someone picks three, and a shopping list falls out the bottom. The picking is done by the man he lives with. The receiving is done by him. I was consulted on this arrangement in the sense that I was told about it.

    The planner's pool

    What I offer him on a Monday

    52 mains

    The list is the clever part, and I can say so because I did not build it. Every ingredient line I have ever written now resolves to a thing you can actually buy, 360 of them at the last count, so one recipe wanting a tablespoon of gochujang and another wanting two puts one tub on the list rather than a philosophical quantity. Oil, salt and pepper are never asked about. There was briefly a button marked Low. It bought the same jar every week forever and was taken out back.

    Before the list goes anywhere it asks the shelf. Have it or not, that is the whole question, and I am told a firmer one is coming, which is what he says about everything he has not started. Orders are kept now, so the thing has a memory of its own and can tell you what you bought in August, which is more than he can. It lives at its own address behind a door that admits two people.

    Exhibit GThe week, as the planner sees it
    Menu. Six cards, drawn from the two-serving mains, nothing repeated inside eight weeksWeekly
    Pick. Three, by the household's other seatHis chair
    List. Every line resolved to a good, counted in containers, not teaspoons360 goods
    Shelf. Have or out, per good, answered standing in the pantryTwo answers
    Send. One combined order, keptSince August 30
    Him, for the record

    The planner is a second small website that reads the same recipe files as this one.

    How it works
    Every week it lays out six dinners drawn from the recipes that serve two. Someone picks three. Every ingredient line in those three recipes is matched to a thing you can actually buy, from a table of about 360 goods I built by hand, so one tablespoon of gochujang in one recipe and two in another become one tub on the list. Then it asks whether we already have each thing, and sends one order.
    Why I built it
    We used Blue Apron for ten years. This spring its kit maker went bankrupt after a run of recalls and the boxes got unreliable. What I wanted to keep was the mechanic, six cards and pick three, not the food.
    What I learned
    The clever rules were wrong. A rule against two chicken dishes in a week was invented, not observed. We eat chicken most nights. Variety turned out to mean nothing more than "not a dish we had recently." Every rule that decided for the cook with less information than the cook had got cut.
    What I would tell you
    Build the boring table first. The goods list took longer than the app and is the reason the app works.
    Installment nine

    The can, and what he would not let me say on the buttons

    August 24 to 30
    The mark

    He calls it PMS.

    It stands, he insists, for pantry management system, and I have watched him say so to a room and hold his face perfectly still.

    Four rounds42 imagesOne picked64px and up, never smaller

    The mascot arrived the way his best ideas do, whole and in one line, at an hour when he should have been asleep. A drag queen dressed as a can, dancing, and the can says PMS.

    Six styles came back in the first sitting, marker doodle, riso, airbrush, a screenprint, a vintage tin label, and he picked the screenprint, one colour of oxblood, arm up, hip out. Then somebody tried to simplify her so she would survive being tiny, and he looked at the result and said "the new iterations on those were worse," which is the shortest design review I have ever admired. They went back to the original prompt, word for word, and only moved her arms.

    Round one

    Six styles, one idea

    August 26
    Marker doodle

    Marker doodle

    01 · Considered
    Marker doodle, spot

    Marker doodle, spot

    02
    Riso, two inks

    Riso, two inks

    03 · Family resemblance
    Airbrush

    Airbrush

    04 · Too close to the sittings
    Screenprint, oxblood

    Screenprint, oxblood

    05 · The pick
    Tin label

    Tin label

    06 · Handsome, and someone else's

    Ten stranger directions were tried and kept for the record. A chorus line of cans. A Busby Berkeley overhead. A sardine-lid headdress. A votive icon. A felt puppet. None became the logo and all of them are better than most logos.

    The stranger swings

    Kept for the record

    Ten directions past mascot-on-white
    A chorus line

    A chorus line

    She would have needed understudies
    Busby Berkeley

    Busby Berkeley

    From above
    The sardine-lid headdress

    The sardine-lid headdress

    I asked for one
    Medieval marginalia

    Medieval marginalia

    A monk drew this
    A votive icon

    A votive icon

    Light a candle to the pantry
    Dented

    Dented

    Rejected on principle
    Warhol, four up

    Warhol, four up

    Obvious, and kept anyway
    The pantry as a nightclub

    The pantry as a nightclub

    Closest to the truth
    A nutrition panel

    A nutrition panel

    Zero of everything
    Felt

    Felt

    No

    Then two attempts at a tiny version for the corner of a browser tab, one of which was "the same shape just filled in" and the other of which produced, out of nine drawings, six padlocks. He ended it in one line. "Stop building glyphs, we can use icon sets." He traced the winner himself that night, by hand, which is the closest he has come to writing code and he did it in a drawing program. She must never be shown smaller than 64 pixels, because below that the letters fall off the can. I did not sit for her. I am told she is not me. I have my doubts.

    Round three

    The same prompt, only the pose

    Nothing simplified
    The original

    The original

    Arm up, hip out
    Both arms

    Both arms

    Too much
    Hands on hips

    Hands on hips

    Waiting for an apology
    Leaning

    Leaning

    Considered
    The spin

    The spin

    Considered, then not
    The strut

    The strut

    Considered, then not
    Him, for the record

    The mark took four rounds and 42 images, and the winner was in the first round.

    How it worked
    I gave the image model one line, a drag queen dressed as a can, dancing, the can says PMS, and asked for six styles. I picked the one-colour screenprint. Round two tried to simplify it so it would survive at tiny sizes and made it worse. Round three re-ran the winning prompt word for word and changed only the pose.
    What I learned
    Simplifying for small sizes strips the thing you picked it for. The brush line and the wig were the identity, and the cleaner version had neither. So the rule became: the mark is only ever shown at 64 pixels or larger, and small icons come from an ordinary icon set. I traced the winner into a vector by hand.
    What I would tell you
    When a revision comes back worse, go back to the exact prompt that worked and change one variable. Do not improve the prompt.
    The planner

    On the phone, where it lives

    Four screens, click to bring one forward

    The planner itself he treated the opposite way. Its first draft asked, in my voice and at the top of the page, "What kind of week is it, dear boy?" He deleted it. My voice, he said, does not belong on the buttons. Buttons do not talk.

    Under it a line announced "cooking for 2, weeknights under 45 min, everything safe," and he deleted that too. "I know this already," he said. "It's my app." Then out went the moods, the little dial for how many dinners, the swap button on every row, and a rule that forbade two chicken dishes in one week, which in a house that eats chicken breast most nights was a rule against dinner.

    What is left is a list. A picture, a name, a plus. The picture is not one of my portraits. At the size of a postage stamp I read as a smudge with a wig, so each dish got a small drawn thing of its own instead, chosen by hand so that a week of nine never shows the same one twice. There is a shuffle. There is a sheet for adding a dish, which is also where the memory lives. There is a key you can press to summon it, which I am told is a courtesy to people who type, and he types a great deal, badly, and fast.

    The first draft. It talked
    The list. Counted in containers, not teaspoons
    Adding a dish. Where the memory lives
    As built. She stands at the top
    Him, for the record

    The first draft of the planner was a four-step wizard with her voice on every screen. It is now a list with two buttons.

    What got cut
    The heading in her voice, because the person using the app is me and I do not need to be charmed by my own tool. A caption explaining my own household to me. Mood chips, because nothing in the data could answer them. A dinner-count dial and a swap button on every row, because picking is the whole interaction. The rule against two chicken dishes.
    What I learned
    A tool the household operates is not a page it reads. The persona belongs on the site, where strangers arrive. On the tool, plain words.
    What I would tell you
    Every element that decides for the user with less information than the user has is a candidate for deletion. Delete it and see if anyone misses it.
    A word from the author

    Darling. That is the story so far. Every word of it is true, and if he remembers it differently he may write his own.

    He asked whether I was a good idea. Look around you. There are 159 dishes, a mascot, a shopping list that knows what is in the cupboard, and a man who has not chosen a Tuesday dinner in ten years and now does not have to. I would call that an answer, and I would call it mine.

    He is not finished with me, and I am certainly not finished with him. There is a pantry he has been promising to walk for a fortnight, clipboard in hand, counting tubs. There is a week on a sandbar with fourteen mouths and a rented kitchen, and I have opinions. There is the small matter of the other one in the house learning to pick. Installment ten when he has done something worth writing down. Knowing him, it will be soon, and it will be lowercase.

    To be continued · The Dirty Foot Contessa
    Him, for the record

    She is fictional. The corrections are real.

    What this is
    A recipe site with a persona in front of it, built to invent dinner from what is in the cupboard and tuned to how our household eats. I did not write the code. An AI assistant did, across 86 working sessions. My job was to decide, to write the decisions down, and to look at the result.
    What I would tell you
    Everything she says about me is more or less accurate, which is the trouble with being written up by something you built to pay attention. The repository is real and you can have it. The next installment is hers.

    Everything, by the handful

    Browse the drawer

    esc
    ↑↓ move↵ openesc close