
Vibe Code Your
Ad Reporting Stack
Meta only tells you 70% of the truth. Marcus Haas and Paul Anduschus cancelled the $300-a-month dashboard their industry calls mandatory and rebuilt it themselves — three skills, one morning automation, no database and no developer.
Meet Marcus and Paul
Marcus is a mechanical engineer. He founded a company in 2019, sold it to an investor in 2023, and in the same stretch met Paul — a former event manager who studied business psychology and describes himself as “sort of a jack of all trades.”
Together they run DreamyTales, out of Cologne, selling personalised gifts in more than ten countries — Brazil, Mexico, Turkey among them. Books where the text and the illustrations are AI-generated and then printed and shipped. Personalised songs. Personalised videos.
Neither of them writes code. That is not a detail I am adding for colour — it is the thing that makes the rest of this worth your time.
"As I'm just a mechanical engineer, I'm not really a software developer. To be honest, I have no clue how to manage and program a complete backend for our shop. So from the very first beginning, we were using no-code tools or low-code tools. n8n is my best friend right now. I would call myself a vibe backend coder."
The split between them is clean: everything a customer can see belongs to Paul — the shop, the communication, the marketing. Everything a customer cannot see belongs to Marcus — the automations, the story and song generation, the servers.
They started physical, on purpose, and the reason is the best product argument in the episode: no parent wants to hold a tablet in front of their child's face. It had to be printed. Only later did they discover that the digital products — the songs, the videos — cross borders almost for free, while a physical book in Brazil means finding local partners to print and distribute it.
So why keep the hard one? Because the hard one is the moat.
"If Marcus and I are able to build those with basically just a laptop, it's pretty fair to assume that other guys with a laptop could rebuild the exact same product. So not a real moat around this. But with a physical product, this gets a lot more complicated. You need a supply chain, logistics, handle returns, shipping. So that's also some sort of a moat you build with physical products to protect yourself from just random guys with a laptop somewhere."
Three Years of Organic Didn't Work. One Euro of Paid Did.
I asked the question I always ask, because most founders never get a straight answer to it: why hand money to Mark Zuckerberg at all? Why not do the free thing?
They did the free thing. For three years.
"We tried this for the past three years and we tried really bad. There were times where we had in-house teams and all they would do is produce organic content and pump it out on our Instagram channel, trying to reach people. But no matter what we did, it didn't work. We might have generated reach, yes, and likes — but not to a scale where you would say, all right, this is a reliable channel to build a business on."
Here is the part worth stealing, and it is not “paid beats organic.” It is why paid beat organic for them. Not reach. Not cost. Feedback.
"You spend a euro and you get insights back on whether your creative is performing or not, and why it might or might not be performing. So we generated more data as to why our performance was good or bad. And this gave us a base to iterate on."
Organic gave them an outcome. Paid gave them an outcome plus the reason for it. One of those you can build a machine on top of. The other you cannot, which is the whole argument of this article arriving eight minutes into the conversation.
Marcus came at it from a different angle — the old one.
"For me it was always this magic little button. You are testing an ad and then maybe iterating on that a couple of times. But when you find the killer creative, the killer ad which performs — you just have this little button, you have to press it and spend more money every day. And then it's like a printing money machine."
I put my favourite bit of marketing folklore to them — traffic is like sex, only losers pay for it— and Marcus answered without a pause: “then I think we are the biggest losers.”
Two people running a profitable business in ten countries, happily accepting the label. If you want the honest version of the channel debate, that is it. Paid is not a compromise here. It is the channel that told them the truth.
If you have never mapped your own channels honestly, the traffic channel compass in the Codex is the same exercise, done on paper first.
Meta Only Tells You 70% of the Truth
Every direct-to-consumer brand runs roughly the same three tools: Shopify, Meta, and Triple Whale sitting in the middle doing cross-channel attribution. Paul called it the basic stack. It is what you install because everyone installs it.
They ripped the middle one out and rebuilt it themselves.
The reason is the single most useful sentence in the episode, and it is true for your business too:
"The problem is that Meta only shows you 60, 70% of the truth. Meta doesn't track all the sales of a campaign, or misattributes them. That's why solutions like Triple Whale exist in the first place. So you need a second data source, and that being Shopify."
So they compute the number twice. Meta says a campaign returned 3.5. Then they take the actual units sold — that product, that country, that window — straight from Shopify, divide by the ad spend, and get the real one.
“Because this is your actual truth.”
One campaign, one product, one country. That constraint is what makes the second number computable at all, and it is the piece most people skip. If your campaigns each sell five products across four countries, no dashboard on earth can untangle them.
Shopify comes in through a Shopify app they built and never listed — you can keep one private to your own store. I asked what it was called.
"I think it's called the Codex Shopify connector or something."
Meta comes in through the Meta Ads MCP, or the Graph API directly. Marcus's verdict on how much backend work the rebuild actually took is the part that should make you uncomfortable if you are paying a monthly subscription for this:
"Actually I did not have to change much in the backend. The data is pretty much there already. The only thing Triple Whale does for you is to collect all this data which is hidden somewhere and put it all together in a nice dashboard."
He is fair about the trade. They gave up the tracking pixel, so they gave up some visibility — and he is explicit that when you are still experimenting, still testing new angles and new products, a tool like that earns its money. They only cut it because after three years they already knew which channels work.
Buy the dashboard while you are learning. Own it once you know what you are looking at. That is a better rule than either “never pay for tools” or “always buy the standard stack,” and it only shows up if you ask people who have done both.
The Codex chapters on what to measure and how to report it are the same decision, one level up.
Write Your Judgment Down Until It's a Skill
Here is the whole machine, described by Paul in about fifteen seconds. No database. No BI tool. No engineer.
"We run the Codex desktop app that allows you to create automations. And these automations run every — in this case, morning. And this automation is built around a couple of skills. You have a skill that pulls down your data from Meta, then you have another skill that pulls down the data from Shopify, and then you have another skill that merges it all together and builds the dashboard."
Three skills and a schedule. That is the entire replacement for the tool their industry treats as mandatory. There is no stored history, either — no warehouse quietly accumulating rows. It runs, it looks at where things stand right now, it tells them what to change.
We are at a genuinely strange moment in software here, and it is worth naming: the app is now the harness, and all you do is connect it to your data. As I put it to them — give it the arms and the legs.
But a schedule is not the interesting part. This is:
"In the beginning we developed a rule set that we would use ourselves to scale campaigns, to decrease campaigns, to kill campaigns, or to create campaigns. And this rule set is basically just a long document of me talking and telling the AI: turn this into a nice document. And right now this evolved into skills."
Read that path again, because it is the most copyable thing in this article and it costs nothing to start:
Judgment you already have → spoken out loud → a document → a skill.
He did not sit down to architect an agent. He talked about how he decides, had the model tidy it up, and kept sharpening it until it was executable. The rules existed in his head for years. The only new thing is that they are now written somewhere a machine can read.
Which means the ceiling on your automation is not your technical skill. It is how much of your own judgment you have bothered to write down.
The Codex covers campaign structure and explore and scale — if you want the rules before you write them down, start there.
Where They Give It the Leash — and Where They Don't
So what has actually changed in how they spend a working day? Marcus gave the answer that made me want to publish this conversation:
"We are not really working anymore as operators. We are just the supervisors, supervising a bunch of AI agents operating our systems. One year ago I was working on all those n8n workflows in the backend by myself, digging into that and changing nodes. And right now, if some bug happens, I just give it to Codex and say: make an analysis for me, then provide a fix and do it yourself. I'm just a supervisor, supervising if the direction he steers is the right one."
"It has become less of doing work, but more of building systems that do work."
Now — the honest part, and the reason I trust the rest of it.
Neither of them has gone fully automatic. Paul lets the agent create campaigns: he says which ads, and it goes. But he still holds its hand on the thing you would most expect to be automated — moving budgets up and down day to day.
"There's so many rules that I feel like my rule set that I've tried to write down is still not as perfect. It still has blank spots here and there. But we're getting there. It's a process. You keep iterating on it until you can let it fly."
That is the cleanest definition of the approval line I have heard from anyone. The leash extends exactly as far as the rules are complete. Not as far as the model is capable, and not as far as your nerve holds — as far as you have written it down. Where there are blank spots, a human stays in the loop, and the job is to close the spots, not to summon more courage.
Marcus keeps his hand in for a different reason, and he is refreshingly blunt about the contradiction:
"For me it's trust issues. I'm really surprised at how elegant and smooth everything works. The solutions Codex comes up with are really, really good. And I figured that if I let Codex do all the work, he's making less mistakes than I'm doing. But sometimes there are these tasks where he simply steers into the wrong direction, completely wrong — where I'm getting the feeling of, why are you so stupid right now?"
He admits it makes fewer mistakes than he does — and still supervises every big step. That is not irrational. The average is better; the tail is worse, and the tail is what takes your shop down.
Paul draws the line in the most concrete way possible, and it is a good test for anyone deciding how much rope to give:
"If I break the online shop and people can't check out, we lose money. So I need an infrastructure that makes sure that this doesn't happen."
Automations that append to a Notion log can be wrong occasionally. Checkout cannot. The leash is not one setting — it is per system, and the question is always the same: what does it cost when this is wrong?
The Machine Brings Volume. You Bring Taste.
Ask most people how AI makes ads and you get: describe your product, get a video. That is not how it works here, and the difference is where all the value sits.
They start in the Meta Ad Library, looking at competitors' creatives that have been running for a long time — because an ad that has run for three years is an ad that is working.
"Say you found this one ad from your competitor in the Meta Ad Library and you know it has been running for three years or whatever, and you're like: man, this is printing. I have to build an ad that looks exactly like this."
Then comes the step that everyone building an “AI creative pipeline” gets wrong. They do not hand the winning ad to a model and ask what makes it good.
"AI is pretty good at describing the details of a video. It can tell you, alright, there's a lamp in the background, the girl is around this age, has blonde hair. But it's really bad at describing the aesthetics of it. So — why is this probably performing great? Is it because it looks weird in a certain way? Is it because it's very long or very short?"
So the humans watch the ad and break it into hypotheses — the hook, the angle, the lighting, the person, the music, the voiceover. Each one a guess at why it works.
That is the whole division of labour, and it is the opposite of the one people assume. The machine does not supply the judgment and leave you the typing. The machine supplies volume. You supply the reason to point it somewhere.
Only then does the automation start:
- An engine turns one idea into a very long, very detailed prompt for a single video scene.
- That prompt generates in bulk — around ten videos, not one — currently on Sora 2, though they swap models whenever something better lands.
- A human picks the one that survived.
- Most finished ads are several scenes stitched together, not one clip.
The stitching is the clever bit. They use Creatomate, which lets you build a video template and then export it as JSON.
"Creatomate lets you export this template of a video as JSON. And then you can replace every little piece of that video with another piece. Say you have a template and the voiceover starts exactly at second three — Creatomate lets you switch out that voiceover just by feeding that JSON into your AI agent of choice."
A video becomes a data structure. Once it is JSON, an agent can vary any slot in it — swap the hook, swap the voiceover, swap the headline — without a human touching an editor. That is how you get from one ad to a hundred variants of one ad.
They drive it two ways, and the reason for the first one is a good lesson in itself: a plain HTML page with input fields wired to n8n workflows, built “just to save on context, to save on tokens” because the process is so repeatable. When something runs the same way every time, it does not need an agent thinking about it. Marcus's alternative, for when they do want to experiment with cutting times and voiceovers, is Codex skills rendering the videos locally — voiceover, captions, the whole ad from a single prompt.
The ad creatives chapter is where we keep our own version of this.
Don't Hunt the Winner
I pitched Paul an idea I have been circling for a while: point an agent at the highest-performing videos in your niche, pull them down on a schedule, slice out the hooks, and let validated data suggest your next creative. Would it work?
His answer reframed the question, and it is the sentence I would put on the wall:
"The real superpower isn't in finding the secret ingredient, but is in building a system that can test so many things that you will inevitably find a winner just because you tested so much."
A hook that prints for one product, in one market, for one audience may do nothing for the next. So stop trying to be right up front. Build the thing that can be wrong cheaply, often, and on the record.
I told them where I am still stuck, because I am: I still think in straight lines. Campaign idea, make creatives, launch, optimise, end of line. Not a closed loop that keeps going on its own — generating the next batch, reading early signals like click-through rate, pushing further in whatever direction is working, exploring a little at the edges, round and round.
Paul's answer was the most honest moment in the hour. They already run a version of it — prove an angle in one market, then replicate the exact same ad, not roughly the same, into another language for another market. And then he graded it himself:
"I think this is some variation of that loop that you are talking about, but a primitive one. There's a way to go — and especially with testing the creative and optimising the creative, that is definitely a road to explore."
Nobody in this conversation has the closed loop. Three people who do this every day, agreeing it is the right direction and that none of us has got there yet. I would rather publish that than a tidy answer.
If you want to run the disciplined version of this while the loop is still manual, ad testing is the chapter.
Everyone Can Build. Almost Nobody Can Sell.
I asked Marcus to expand on something he had said to me before we recorded, because I think it is the most important observation either of them made:
"Right now you can build an eighty percent product pretty quickly. With the help of an AI agent you're having something solid, a prototype. But the rest of the hundred percent, the twenty percent — this is the tough nut to crack. And this is where marketing comes into place. You're still relying on this human input, this human feeling, the atmosphere, the knowledge, the experience you have as a marketer."
He does not claim that gap is permanent. He said so plainly: in twelve or twenty-four months the twenty percent might shrink to five, and then everyone can do what they are doing. Nobody knows.
Which is exactly why his conclusion is the right one — “it's worth staying at the edge of what's possible.”
And notice what this whole conversation was actually about. Two marketers learned to build, and the first thing they built was not the product. It was the machine that sells it. Every piece of this article — owning the numbers, hardening judgment into skills, the leash, the variant factory — is a marketer's instinct that finally got arms and legs.
Four moves, if you want the compressed version: own your numbers, because Meta is telling you seventy percent of the truth. Write your judgment down until it becomes a skill. Extend the leash only as far as the rules are complete. And spend your human hours on the why, never on the volume.
One ask before you go — theirs and mine. We are trying to get a small group together of people who are deep in both AI and performance marketing: analytics, creative, landing pages, the whole conversion experience. Nothing paid, nothing organised, just practitioners comparing notes. There are not many of us yet. If that is you, say so.
Paul and Marcus are on stage at Vibe Coding Cologne on 2 September — talking about exactly this, with a laptop open and the real dashboard on screen. Free, at STARTPLATZ. Come and ask them the question I didn't.
About This Conversation
About This Conversation
Marcus is a mechanical engineer who founded and sold a company before starting DreamyTales with Paul in 2023. He runs everything the customer never sees — the n8n automations, the story, song and video generation, and the servers behind them. He calls himself a vibe backend coder.
Paul is a former event manager turned business psychologist who runs everything the customer does see at DreamyTales — the shop, the communication and the paid acquisition across more than ten countries. He and Marcus speak at Vibe Coding Cologne on 2 September on agentic performance marketing.

Ben Sufiani
The Captain
Founder from Cologne with 15 years of startup experience across 9 ventures. Former marketing consultant and agency owner. Now vibe coding real products and building Pirate Skills to help others do the same.
Ready to Go Deeper?
Pirate Lab
·Wed, Sep 9 · 18:00 CESTFree weekly online workshop where we walk through the week's Captain's Insight together. Bring your project, get live feedback.
Vibe Coding Cologne
·Wed, Sep 2 · 18:30 CESTMonthly in-person meetup in Cologne. Talks from Ben and local founders, drinks, building alongside the community.
Vibe Hackathon Cologne
·Fri, Sep 4 · 14:30 CESTIntensive on-site weekend hackathon – build and ship something real in 48 hours with other founders in Cologne.
Pirate Forge
·In 30 days · Wed, Sep 306-week cohort program combining build and grow tracks. Weekly workshops, accountability, the founders you'd want to ship next to.

