2026-05-05 · by Manuel Zamora

Why I Built Mani Instead of Using Another Tool hero image

Why I Built Mani Instead of Using Another Tool

The founder story behind mani. The 11pm BFCM moment, the tools I tried, what was missing, and why I ended up building what I needed myself.

It was 11pm on a Tuesday in November 2024. BFCM was three days away. I was running paid ads for multiple brands in the Downshift portfolio and I needed 15 fresh ad variants by morning. My designer was asleep (rightfully). My Canva templates all looked the same after the fourth iteration. And the AI tools I had tried generated beautiful ads that looked nothing like any of the brands I was managing.

That was the moment. Not a strategic insight. Not a market analysis. Just a founder at 11pm who needed ads that looked like his brands and could not get them from any tool that existed.

The tools I tried and why they fell short

I tried Canva first. Everyone tries Canva first. It is genuinely excellent for design. The templates are beautiful. But after 50 ads, every template starts to look the same. And Canva does not know my brand. I had to manually set up a brand kit for each brand, manually select colors, manually choose fonts, manually write copy. The "AI" features helped but they still generated from templates, not from my brand identity.

I tried AdCreative.ai next. The performance prediction was interesting. But the generated creative felt generic. It optimized for predicted CTR, not for brand consistency. An ad that scores high on predicted CTR but looks nothing like my brand is worse than a mediocre ad that looks right. Trust is visual. If the ad does not look like it came from my brand, the click does not convert to a sale.

I tried Midjourney and DALL-E for image generation. The output was stunning. But it had no relationship to my products. I sell real things. My customers expect to see real products in my ads. An AI-generated image of a "stylish sneaker" is not MY sneaker. It is a fictional sneaker that confuses customers when they click through to my product page and see something different.

I tried Pencil for video. Good at what it does, but video is one format. I needed image, carousel, email, and social at the same volume. Switching between three tools for three formats with three different brand setups was its own full-time job.

Each tool solved one piece of the problem. None solved the whole problem. And the whole problem is: give me 15 brand-matched ads across all formats in under 30 minutes, using my real products, my real colors, and my real voice.

The insight that became the product

I realized the missing piece was not better AI generation. The AI was already good enough. The missing piece was better GROUNDING. No tool started from my brand. They all started from a blank canvas (or a template) and expected me to add the brand identity manually. Every time. For every generation. For every brand.

What if the tool started from my brand instead? What if I pasted my URL once and the tool learned everything it needed to know about my brand? My colors, my tone, my audience, my products, my visual style. All extracted automatically. And then every generation, from that point forward, was constrained by that brand identity.

That was mani. Not the AI generation (which is a commodity). Not the templates (which every tool has). The Brand DNA scan that makes everything else brand-consistent by default. One scan. Every ad matches.

Building in public with the portfolio as the first customer

I did not build mani in a vacuum. I built it for the Downshift portfolio first. We run 10+ brands across Fair, FairStack, JamWise, Travlist, Rivalize, and more. Each brand has distinct colors, distinct tone, distinct audience. If mani could handle 10 brands with wildly different identities and produce consistent output for each, it could handle any single brand a customer brought to it.

The portfolio dogfood was brutal but necessary. When your own team is using the product daily and complaining about every rough edge, you fix things faster than any user feedback loop could produce. JamWise needed more UGC-style output. Travlist needed location-aware imagery. Rivalize needed data-heavy comparison formats. Each brand's needs pushed the product in a different direction.

By the time we opened mani to external users, it had already survived 6 months of daily use across 10 brands. The edge cases had been filed and fixed. The brand consistency had been validated against real campaigns with real ad spend.

The speed wedge

The other tool that comes closest to what mani does is Holo (tryholo.ai). I respect what they have built. Their Brand DNA concept is similar. But Holo's scan takes 5-10 minutes. Five to ten minutes of staring at a loading screen before you see your first result.

Mani's scan takes 90 seconds. Partial DNA (tone + audience) is available in under 30 seconds, which means you can start reviewing while the remaining extractors finish. The first ad shows up before you finish your coffee.

This is not a vanity metric. Speed determines whether a founder at 11pm uses the tool or closes the tab. If the result takes 10 minutes, they have opened Canva and started manually by the time it finishes. If the result takes 90 seconds, they see it, approve it, and go to bed. The speed wedge is the usage wedge.

What I got wrong at first

The first version of mani's audience extractor returned "Modern teams" for Linear.app. "Modern teams" is the most generic, useless audience description possible. It is technically not wrong and practically worthless. If you generate an ad targeting "modern teams," you get a generic ad that resonates with nobody.

We fixed this with a three-layer approach: explicit patterns, domain signals, and an LLM critic that validates every extraction against the actual page content. Now Linear.app returns "Software engineers and product managers at fast-moving startups." That is an audience you can write ads for.

The first version of the products extractor matched "Open app" and "Get started" as product names. Those are CTA button labels, not products. We spent two weeks building a shared filter with 50+ generic patterns and a verb-detection heuristic to clean up the product list. Now it correctly identifies "Issues, Projects, Roadmaps, Initiatives" as Linear's products.

Every extractor went through this cycle: ship it, watch it fail on real sites, fix the specific failure, and ship again. The extractors you see today are the 4th or 5th iteration of each. They work because they have been wrong on hundreds of real websites and been corrected each time.

Why this matters beyond mani

I built mani because I needed it for my own brands. But the problem is universal. Every founder, every small team, every solo marketer faces the same constraint: not enough creative, not enough time, not enough budget for a designer. The tools that existed solved the generation problem but ignored the brand consistency problem.

The brands that will win in 2026 are the ones that ship the most brand-consistent creative at the highest velocity. Not the most creative (AI levels the playing field there). Not the highest budget (volume beats budget when creative is good). The most consistent, at the highest velocity. That is what mani is built for.

If you are a founder at 11pm who needs ads that look like your brand by morning, try it. The Brand DNA scan is free. You will know in 90 seconds whether the extractors see your brand the way you see it. If they do, the rest of the tool follows naturally.

See what mani sees in your brand

Paste your URL. Free Brand DNA scan in 90 seconds.

Scan your brand

You might alsolike