Blog
Blog
Engineering notes, design decisions, and lessons from building in public.

Every AI Brand We Generate Sells the Next One
We had a gallery full of beautiful brands. Clicking any of them showed 'Not found.' Every output was a conversion opportunity we were wasting.
Read β
Why Hardcoded Prompts Per Industry Don't Work
We wrote 40 industry-specific scene descriptions. Then we deleted all of them.
Read β
Why Our Emails Never Worked: 4 Root Causes in One Debug Session
We shipped 17 React Email templates, a BullMQ queue, and Resend integration. Tests passed. Build was clean. 41 emails failed.
Read β
11 Bugs in One Checkout Flow: What We Learned Pricing an AI Product
We implemented 3-tier pricing. Then we ran the debugger and found 11 bugs in a single payment flow. The worst one was a single if-statement.
Read β
We Shipped a Full SaaS in 30 Sessions with One Developer and One AI
One founder. One AI. Thirty sessions. From empty repo to live production SaaS with payments, emails, and AI-generated brand identities.
Read β
How We Killed AI Slop in Image Generation
We compared two lifestyle photos. One looked real. One looked AI-generated. Both came from the same model with the same settings.
Read β
Why AI Logos Look Worse Than AI Product Photos
Product photos had beautiful type. Logos looked amateur. Same AI, same prompt. The difference was the task.
Read β
680 Keywords, 49 Archetypes: How We Made Every AI Brand Look Expensive
A skincare brand got motorcycle photographers because 'skincare' contains 'car'. That's how we learned keyword matching needs boundaries.
Read β
How 6 AI Images Stay in the Same Visual World
Logo, two products, lifestyle, store interior. Five images that look like the same brand. One system connects them.
Read β
The Anti-Slop Design System: 20 AI Tells and How to Fix Them
AI-generated UI has tells. So do AI-generated photos and logos. We documented 20 of them and built a system to fix each one.
Read β