The AI That Wasn’t
What I Found Inside My Own Hairstyling App
I built an app that lies about your face, to your face. I didn’t mean to. I wrote a description of what I wanted, not the code. I only caught the discrepancy by asking the AI to walk me through what it built.
Picture the chair. Cape on, and your stylist swivels a tablet toward you like it’s a tarot reading. “Let’s see what the AI says about the shape of your face.” You upload a photo. A little wheel spins. Then the verdict: heart-shaped, and here are the three cuts that will change your life. It hasn’t happened to you yet, but it’s coming, because the app that does this already exists. The app is mine. And the AI reading your face is not what I told you it was.
I built StyleMatch the way I now build most things, by describing what I wanted in plain English and letting an AI scaffold it. It’s a consultation tool for stylists. Upload a client photo. Get a face-shape read. Browse curated styles. Drop your favorites onto a “Look Board.” Generate a try-on preview that pastes a new hairstyle onto the client’s actual picture so they can see it before anyone picks up scissors. It came together fast. It looked great. I almost shipped it on vibes alone.
Then I did the thing I taught myself to do back when I was dragging Real Housewives around a screen. I asked an AI to open the hood and explain it to me, line by line.
Two stories live in there. One I’m proud of. One I’m confessing.
The part that’s real, and kind of great
The try-on feature works. You upload a photo, pick a style, and the image model genuinely renders it onto the person. The thing I’m proud of isn’t that it works. It’s the instructions I gave it. They say, in plain terms: change only the hair. Keep the person’s face. Keep their skin tone. Keep their ethnicity, their pose, their background. Touch nothing but the hairstyle.
If you don’t work in this space, that might read as obvious. It is not. These tools have a documented habit of “beautifying” people by lightening skin and softening or erasing features that don’t match the training data’s idea of a default face. I knew that going in, so I wrote the guardrails: a Black woman trying on a bob comes back as herself with a bob, not as a stranger. That’s not a flashy feature. It’s the part nobody notices if I did it right, which is exactly why I wanted it right.
Was it perfect? No. I ran my own photo through, and it kept everything I told it to keep, then aged me anyway. A few fine lines I don’t remember authorizing, enough that I bought a bottle of collagen within the hour. I would show you, but vanity prevails. The guardrails held where it mattered, on skin tone and features and the things these models get wrong in ways that actually harm people. They just didn’t stop the model from having opinions about my face.
But the hair looked great. I came away with a real sense of what a new cut and color would do, and a decent image, hairwise, to hand my next stylist. The feature did the exact job I built it for.
The part that’s fake
Now the face-shape analysis. The headline feature. The thing the stylist points at when she says the AI read your face.
It does not read your face. I know, because I wrote it. Or rather, I described it, let the AI fill it in, and didn’t check.
What it actually does is take the photo’s web address, the link, and run a little math on the characters in that link. It adds them up, more or less, and maps the result to one of seven face shapes. Same link in, same shape out, every single time. The actual face, the pixels, the bone structure, the thing I told the user it analyzed, never enters the calculation. Upload a photo of a lamp under the same link and you’d get the same confident “heart-shaped” verdict.
It wasn’t malice. It was a placeholder, the kind a coding tool drops in to make the screen work while the real thing gets sorted out later. My own code comments say so, in writing, to me. Later just hasn’t come. And here’s the part I have to own: StyleMatch is live right now. Testing mode, nobody’s being charged. But the landing page says “7 face shapes, analyzed by AI,” and today that sentence is misleading. I have to take ownership of that.
Why this is the whole story of AI right now
It usually comes down to the same gap. The distance between what an AI product claims and what it does is almost always invisible, because the marketing sits on top of the code, and the code is the part nobody reads. Including, it turns out, the person who built it. I got the spinning wheel and the confident verdict and almost believed my own app, because I never saw the comment that said “placeholder.” It took another AI, Claude Code, reading the thing back to me in a format I could understand before I understood what I’d shipped. An AI caught the AI. The irony is that I am still relying on AI to explain to me whether something works as I intended.
What makes StyleMatch a clean teaching case is that you don’t have to pick a side. Honesty and hype are sharing one app, one screen, two features. The try-on is real and built with care. The face read is a magic trick. I shipped both. Both say “AI.”
And here’s where it stops being about hairstyles. Think about how we adopt tools in education. A vendor runs a demo. The demo is gorgeous. There’s a landing page with a number on it: “trusted by,” “analyzed by,” “personalized for.” A committee meets, and real vetting happens. In a 2025 EDUCAUSE poll of higher-ed institutions, data security and legal compliance were the top concerns, each named by 86 percent. That’s the right instinct. But look at what that review is built to catch. It asks whether a tool is safe and legal, not whether the AI inside it does what the label says. Algorithmic bias came in last, at 30 percent. And the people most likely to notice when a tool doesn’t actually work, the teaching and learning staff, were in the room only 58 percent of the time, behind IT and security. So a tool can clear procurement, sit inside every privacy rule, and still be a hash function in a lab coat. Nobody lied. The review just wasn’t pointed at that question. I would know. I built one that would pass, and I only caught it because I went looking.
So
Next time something tells you it analyzed you, ask it to show its work. Ask what it looked at. Ask what happens if you feed it the same thing twice, or feed it nonsense and see if it blinks. I’m asking it of my own app now. The honest version of StyleMatch is completely possible to build. A real model can read a real face. I just haven’t built it yet, and the landing page is already making the promise. That one’s on me.

