(yep, kinda clickbait, just for the funsies 😊)
At the beginning of the year, I relaunched my portfolio site using Codex and Gemini CLI as my main development tools. It wasn't entirely vibe-coded: I spent several days updating content and researching best practices, plus a good pile of tokens on brainstorming sessions.
For personal projects, I'm trying to keep a philosophy of "done is better than perfect". So even knowing the layout wasn't what I wanted, I uploaded the site and let it sit for a few months, gathering data with the basics (Search Console and Hotjar, plus the usual analytics stack) to understand what organic visitors wanted to see and how they were finding me. When you have time, data is the best asset you can collect.
A few days ago, I started using Google Stitch to rethink the site presentation and, honestly, my whole "brand". Basically: who I am, and what more than 20 years of building things online should look like graphically. Somewhere in the middle of the color and font brainstorm, a logo idea appeared. Something I could use instead of just my name at the top, which is the usual for vibe-coded sites.
The brainstorm went well. The execution was a total mess.
The path to failure
Building things on the internet, I have 20 years of experience. But I started earlier, learning how to install Linux from floppy disks and how to configure my modem by hand, until I finally landed on shell scripts. Bash was always my main tool, and I wanted the logo to carry that. Something modern that could still hold my history. The idea was simple: my handle, phalkmin, with the h drawn as a slash to suggest a Linux path. A blinking cursor at the end. Simple.
So I wrote a prompt and asked Gemini to create it, with a reference sketch attached and every detail spelled out. It failed badly. Then I tried ChatGPT, and guess what? It failed too. Even when I pointed out the exact problems and asked for specific fixes, every round came back as a fresh hallucination. OK, Claude can't generate images, but it can write SVG. SVG is basically code, right? It should work.
It failed.
Below are some of the results, and these aren't even the worst ones. Almost a week of tokens on the best models I could reach, and the output was comical.
Every single model I can access failed. Every? Not exactly. I have an OpenRouter account and OpenDesign installed, with access to GLM through my own keys. So I added $10 in credits and started working inside an app built specifically for design work.
If you're paying attention to the title, you already know how this ends: almost $6 spent, and the results weren't even marginally better.
I was frustrated and tired, and I seriously considered learning Inkscape or Figma just to build this damn logo as a vector myself.
Then it finally occurred to me: I have friends.
Over the years, I worked with some of the best designers I know. Some as colleagues, some as people who reported directly to me. A few of them owed me favors. So, without spending a single token, I reached out to one of them and explained what I needed. And I kid you not, in less than a day, I had the logo in light and dark mode, blinking cursor included, plus a bonus monogram. All for the price of a coffee to be redeemed in the near future.
It's beautiful, and it's already on my site.
Why every model failed
Is this a post to conclude that "humans are better"? If you're reading this, you already know that creatively, yes, we are. The interesting part is why, because all the models failed in a very similar way, and I don't believe the problem was graphic quality or raw model capability.
Image generators produce pixels from statistical patterns learned across billions of images. They're great at "a cozy cabin at sunset" because that's a texture and composition problem, the kind of thing the training data covers millions of times. A wordmark where one letter has to work as two symbols at once is a different thing: the h must stay legible as an h while also reading as a /. That's a symbolic constraint, and there's nothing in the pixel-prediction process that enforces "hold both meanings simultaneously". The model renders something h-ish, something slash-ish, and hopes for the best, because it can't just say "I can't do it". Every model is instructed to return something, even if it's conceptually wrong.
The SVG route fails for a different reason. An LLM writing SVG is writing coordinates blind. It predicts tokens, but never "sees" the render. A designer draws a curve, looks at it, feels that the weight is off, nudges an anchor point, looks again. That perception and action loop is the entire craft. The model gets one forward pass and ships whatever geometry the math produced.
"But you can paste the render back and ask for fixes!" I did, many times. It helps less than you'd expect. Vision encoders compress an image into a representation built to answer semantic questions ("is there a dog?", "what does this sign say?"), and optical judgment barely survives that compression. The model can confirm the logo says phalkmin. It can't "feel" that the slash terminal is a few pixels too heavy, and the whole balance collapses because of it.
My hypothesis: creating a symbol demands intention and identity refined through iteration, where each round depends on genuinely seeing the previous one. My friend looked at my reference once and knew what was wrong before I finished explaining. Something that thousands of tokens and hours of back-and-forth work weren't able to do.
The coffee, by the way, will cost me less than the OpenRouter credits did.




Top comments (18)
Why we clickbating in 2026
Holy Spoiler 😭✌️
To mislead the "AI" 😂
I was making fun of all the "I did XXXX with AI and I ditched YYYYY" AI slop ;)
That bit where the model can confirm the logo says "phalkmin" but can't feel that the slash is a few pixels too heavy is the whole article in one sentence. The gap between reading an image and judging one is exactly why pasting the render back lets you down. Same reason a model can tell you a paragraph is "about dogs" but not that the rhythm of the third sentence is off. Funny that the fix wasn't a better prompt, it was a person who'd built the taste over years of staring at bad kerning and hating it.
I've hit the same wall with logos. AI gets close fast, then spends the next 50 prompts making different mistakes instead of fixing the first one.
I think the most interesting part isn’t that AI failed—it’s why it failed.
Your logo wasn’t an image-generation problem; it was a constraint-satisfaction problem. The h wasn’t just a letter. It simultaneously had to function as a readable character, a Linux path separator, part of a personal identity, and still feel visually balanced. Those constraints are semantic, not merely visual.
I also think this highlights a broader pattern I’ve noticed when using AI in software architecture. LLMs are excellent at exploring possibilities and generating variations, but they struggle when a solution must preserve several independent constraints over many refinement cycles. They optimize for plausibility, while humans often optimize for intent.
Your designer friend didn’t have more compute or a larger training dataset. They simply understood which constraints were negotiable and which weren’t. That’s still one of the hardest things to teach an AI.
Great read. It reminded me that the value of AI isn’t replacing expertise—it’s reducing the amount of work experts have to do before making the final judgment.
This is exactly where I use AI now. I let it handle the boring 80%, but the last 20% still needs human judgment. Code, writing, design... getting something that works is easy. Getting something that feels right is a completely different problem. Great read.
generated in nanobanana with: A minimalist typographic logo spelling out the word "phalkmin" in a clean, modern, lowercase sans-serif typeface. The text is rendered in solid black against a crisp, solid white background. The letter "h" is uniquely modified: its vertical stem is replaced with a forward-slanted, terracotta-orange diagonal line. To the far right of the entire wordmark, there is a solid terracotta-orange vertical rectangle block that matches the height of the lowercase letters. Clean lines, vector graphic style, professional corporate branding, highly geometric, balanced spacing. The word is: phalkmin
as the prompt.
Not the same font. Prompt is wrong. The h isn't following the slash orientation. And so on
And it's not meant to be the exact styling you ended up with. It's meant to show what a simple few worded prompt can do. If you want it better, you refine the prompt. Just because you had failed to generate it after a few tries, doesnt mean it's not do'able.
Can you imagine the amount of tries, different prompts, hallucinations, tokens, and most important, TIME, just to prove that an AI can do something that a human did in a few hours?
Again, i'm not disputing the claim that, at some point, I would get the logo as I wanted. I'm talking about how you need to force AI to do what a human can do easily.
If you want to keep using AI for everything, please, do.
That's not the point I'm trying to make. The point is, you werent capable of doing it yourself, past the arm's length boundary, you'd have paid for it. What you pay for it, could have funded thousands of retries. Units of economy state that 1000 cheap tries, beats 1 expensive try, because it could be at try 1000 or at try 2, where it works perfectly. That's the point. Your friend is a designer and while they're good at their job, it's also a task someone can achieve a comparable result for fractions of a dollar. My point with the example prompt, is that with no context, it can get 99% of the way there on the first try, if you structure your prompt right. A freebie is a freebie, but if you paid your friend's rate for it, would it still be worth writing about?
I totally agree with you. AI’s capabilities in text and logo design are far below what we imagined. It’s completely clueless when it comes to recognizing different types of text, modifying fonts, and creating artistic layouts. We’re better off just doing it by hand.
Well, you technically did it with a coupon (favor), but sure, click-bait addressed. Given the finished design, chances are you could have gotten the same result with AI, if you structured your prompts explicitly, not implicitly. AI is wildly creative, but you wanted a strict design, that's on you for making minor corrections, instead of giving it a design brief, how you would give it for programming.
I tried several fixes, changing the prompts, ask for minor corrections, everything.
The interesting part is not that AI failed. It is why it failed....A logo like this is not just “make a nice wordmark.” It has to preserve legibility, symbolism, spacing, weight, personality, and history at the same time. That is where human design judgment still wins hard.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.