When a “useless” feature becomes the delightful differentiator
It is a little pet that lives inside Codex. It does not write code, catch bugs, or make anything faster. By every rational measure of a coding agent, it is p...
When anyone can build the app, delight is what sets you apart.
Last Thursday at the Agentic Builders Collective meetup, Jensen Loke passionately demoed his favourite feature in Codex. He called it a “useless” feature. Yet, it is one that he and a lot of other builders love.
It is a little pet that lives inside Codex. It does not write code, catch bugs, or make anything faster. It just sits there and exists. By every rational measure of a coding agent, it is pointless. And yet that cosmetic little thing, serving no function, is attracting people to use Codex.

This made me recall a lecture I watched years ago while building my previous startup: “How to Build Products Users Love” by Kevin Hale, the founder of Wufoo and a former Partner at YC.
If you are building a product now, I highly recommend you watch it: How to Build Products Users Love.
Kevin is worth listening to because Wufoo was an outlier. The team raised about $118,000 in total and returned roughly 29x to their investors when SurveyMonkey acquired them in 2013. The average startup at the time raised around 2.5 million and returned about 6.7x. Ten people, no office, running the whole thing from Florida, and one of the most capital-efficient exits to come out of YC.
What Kevin Hale figured out about products people love
That talk, “How to Build Products Users Love” (YC’s How to Start a Startup, Lecture 7), is the clearest thing I have heard on why some products get loved and most just get used. A few of his points stuck with me:
Growth is conversion minus churn, but that is only the metric view. Most people, especially business-minded ones, read the formula mathematically. Hale reads it at human scale too, because behind every conversion and every cancellation is a person deciding whether they like you. He argues we form real relationships with the products we use. Humans are, in his words, relationship manufacturing creatures: we anthropomorphise the tools we touch every day, give them a personality, and expect them to behave a certain way. So the rules of human relationships apply to software. He splits it in two: acquiring a new user is like dating, keeping an existing one is like a marriage.
The split matters because the forgiveness threshold is completely different. On a first date, catch the other person picking their nose and there is no second date. Twenty years into a marriage, you catch the same thing and just shrug. A new user is on a first date with you, so one clumsy first moment can end it, while a loyal user forgives flaws that would have killed the relationship on day one. That is why first moments deserve the most care, when you have the least margin for error. And first moments are not just the landing page. They are the first email, the first login, the first error, the first support reply. Most teams only design one of them.
There is functional quality, and there is enchanting quality. Hale borrows two Japanese ideas: one word for “taken for granted” quality (it works), and one for “enchanting” quality (it delights). Wufoo’s login link had a little dinosaur on it. Hovering over it showed a tooltip with ‘RARRR!’ that did not explain anything. In usability tests it made people smile, every time. Circa, a wine social network, wrote its entire signup form as a poem. Vimeo made fart noises if you searched the word “fart.” None of it was functional. All of it made people want to talk about the product.

Wufoo’s login dinosaur. Image: Stanford University (How to Start a Startup).
The enchanting part only works on top of substance. This is the warning Hale is careful to give, and it is the part most people skip. You have to get the functionality right first. The dinosaur worked because the form builder under it actually worked. Bolt charm onto a product that does not do its job and it backfires, the same way a charming first date cannot save a marriage with nothing real underneath. A long relationship lasts on substance, not on gestures. Delight is the polish on top. It is never a substitute for the thing actually working.
Reducing churn beats increasing conversion, and almost nobody works on it. A 1% lift in conversion and a 1% drop in churn do the exact same thing to your growth curve. The churn side is cheaper and easier, yet teams put their B team on it. Wufoo’s answer was support-driven development: everyone, including engineers, did customer support. The people who built the thing felt the pain of the thing. The worst thing you can do, in Hale’s words borrowed from marriage researcher John Gottman, is stonewall: ignore the user who reached out. That silence is one of the biggest causes of early churn.
You have to keep putting energy back in. Wufoo built a “since you’ve been gone” panel that showed each user everything new since their last login. It became the most talked about feature they ever shipped, because people felt they were getting more every week for the same price. Every Friday the team also wrote handwritten thank-you cards to users. Not scalable. That was the point.
There are three ways to win a market: best price, best product, or customer intimacy. Best price is a logistics game (Walmart, Amazon). Best product is an R&D game (Apple). Customer intimacy is the only one open to anyone at any stage, and it costs almost no money. It mostly takes humility and some manners.
Five more delightful details from his talk worth stealing
The dinosaur was one. Here are five more that stuck with me. None of them add functionality. Each one made people want to talk about the product.
1. Vimeo’s pop-up-book login. The login page unfolded into a little paper landscape with a tree, hills, and a sun. Search the word “fart” inside the app and it made fart noises as you scrolled. The site felt like it was playing with you.

2. Circa’s signup poem. Every field label was a line of a poem. Email “has to be legit.” First name is “what mom calls you.” Last name is “what your army buddies call you.” You finished the form already liking the people behind it.

3. Hurl’s 404 page. Instead of a dead end, you got a hand-drawn unicorn spewing a rainbow, captioned “This is not the hurl you are looking for.” An error turned into something people wanted to screenshot.

4. MailChimp’s magazine-cover help guides. They redesigned their documentation to look like a rack of magazine covers. Readership went up and support tickets went down, almost overnight.

5. Stripe’s docs that fill in your own keys. When you are logged in, Stripe drops your real API credentials straight into the code samples, so you copy once instead of ten times. For an API company, the documentation is the UX.

He mentioned plenty more: Flickr’s “Get in there” login button, the Chocolat code editor that joked it would switch its font to Comic Sans, the custom battle axe Wufoo forged as the prize for an API contest. Same pattern every time. Small, human, and impossible not to tell someone about.
Why this matters more now than it did in 2014
Hale gave that talk in 2014. Watch it today and one thing hits differently.
Back then, building the product was the hard part. Shipping a working form builder, payment flow, or dashboard took a real team and real months. The difficulty of building was itself a barrier, and the function set you apart.
That is gone. With AI and vibe coding, a working CRUD app is an afternoon. The function is getting commoditised in real time. And when everyone can build the same working thing, the working thing stops being what sets you apart.
What is left is how it feels.
It is easy to forget, behind the metrics and the dashboards, that there is an actual human on the other side of the screen using your product. If you can make that person smile while they use it, you have a delightful product, not just a functional one. Hale framed it as the question his team always asked and almost nobody else does: what is the emotion on the person’s face when they interact with this?
This is what resonated with me, and I am fairly convinced of it: as building gets cheap, the advantage moves to UX and UI. Not functional UX. That is now table stakes. Delightful UX. The dinosaur. The pet. The hundred small moments where a user feels that a person built this for them, not a generator.
And this is the catch that ties back to how I think about AI generally. AI will not hand you delight by default. LLMs produce average output by design, because they synthesise everything toward the statistical mean. Ask AI to build a settings page and you get the median settings page. Delight is taste, and taste still needs an expert in the loop deciding what good feels like. Same AI, different person at the wheel, completely different product. AI builds the function. You supply the love.
Ways to make a product people actually love
Here is the practical version, pulled from Hale’s talk and from what I keep seeing work.
1. Treat every first moment like a first date. Not just the homepage. The first email, the first empty screen, the first error, the first reply from support. List every “first” a new user hits and design each one on purpose. The threshold for a first impression is brutally low, and you only get it once.
2. Design the empty state, not just the full one. Most apps look great with data and confusing with none, which is exactly the moment a new user arrives. A good empty state tells them what this is, why it matters, and the one next action to take. It is the most-seen and least-designed screen in most products.
3. Use the wait. Loading is dead time you are handing the user. Skeleton screens, a progress message that tells them what is actually happening, a bar that fills instead of a spinner that hangs. These do not make the app faster. They make it feel cared for, which is often the same thing to the person waiting.
4. Sweat the micro-interactions. This goes beyond loading. A micro-interaction is the small animation when you press a button, flip a toggle, drag a card, or pull to refresh. You barely notice it when it is there. When it is missing, people feel something is wrong but cannot explain what. The screen just snaps from one state to the next with no motion in between, the way a door would feel wrong if it went from open to shut without ever swinging. Nobody files a bug about it. They just trust the product a little less. That motion is what tells the user you heard them and are responding. Get it right and the product feels alive. Get it wrong and it feels subtly dead, even when every feature works.
5. Put personality in the copy. Circa’s signup poem added nothing functional, yet it made people like the team behind it. Your error messages, tooltips, and empty states are all places a human voice can show up. Default UI copy reads like a system talking. Written copy reads like a person.
6. Ship one “useless” delight on purpose. This is Codex’s pet. It is Wufoo’s dinosaur. It is the easter egg that does nothing for the workflow and everything for the relationship. A current example I like: Pixel Agents, a VS Code extension that turns your running Claude Code agents into little sprite office workers you can watch at their desks (Fast Company, GitHub). It is a genuinely useful monitoring tool dressed as a tiny RPG, and the dressing is most of why people talk about it. a16z’s AI Town did a similar thing earlier with agents as pixel villagers. The “useless” layer is what makes the useful layer spread.

7. Make the boring surfaces beautiful. Teams pour design into the marketing site and skimp on docs, settings, and error pages, which is backwards, because those are where real users live. MailChimp redesigned its help guides to look like magazine covers, and support tickets dropped. Stripe auto-fills your real API keys into its code examples so you copy once instead of ten times. Hurl made its 404 page worth screenshotting. The unglamorous screens are where loyalty is actually won.
8. Keep showing up after launch. Wufoo’s “since you’ve been gone” panel worked because it made invisible effort visible. If you ship improvements weekly but never surface them, most users have no idea. A simple changelog on login, or a note that says “here is what we built for you since your last visit,” turns your work into something the user feels.
If you are a founder or builder shipping with AI, here is a reminder. Stop competing just on the feature, because the feature is what AI made cheap. Compete on the thing AI cannot fake by default: taste, and the small moments that make a product feel made by a person who cared.
I want to be precise about what delight is and is not. It is not a moat. A dinosaur on a login screen is trivially copyable. A pet in your coding agent can be cloned in a week. Any single delightful detail can be lifted by a competitor who notices it working. So delight does not lock anyone in.
What delight does is differentiate. When five products do the same job, it is the one that made you smile that you pick, that you stick with, that you tell people about. That is worth a lot, even if it is not defensible on its own.
The closest thing to durable here is not the dinosaur. It is the taste and the habit of caring that keep producing dinosaurs, long after the function stopped being interesting. Features are easy to copy. A team that consistently notices the human on the other side of the screen is much harder to copy.
The function is now the price of entry. Delight is what sets you apart. And the cheapest path to it, as Hale said, is not money. It is a little humility, some manners, and the willingness to put a dinosaur where a dinosaur has no business being.
#ProductDesign #UX #VibeCoding #AI #StartupLessons
Enjoyed this? Subscribe for more.
Practical insights on AI, growth, and independent learning. No spam.
More in Tech & Startup
11 Frameworks Every Marketer Should Know
I've seen marketers drown in tactics while missing the fundamentals.
If you are building an AI startup, be aware of this existential risk.
The AI startup world is buzzing with new ideas, especially those centered around Large Language Models (LLMs). However, a significant, often overlooked, risk...
UX/UI and naming matter more than capability for adoption.
Recently, everyone on LinkedIn is talking about learning Claude after the demo of Claude Cowork.
Google is steadily expanding its moats for GenAI again.
Google started as a laughing stock in the GenAI arms race with the failed Bard demo.
A common question I get from my Foundations of Claude Code workshop learners:
"Is the website we built SEO and GEO optimised?"
Zuckerberg: Better to Overspend on AI Than Miss It
I actually respect Mark Zuckerberg for his gut as a technopreneur and innovator.
11 Frameworks Every Marketer Should Know
I've seen marketers drown in tactics while missing the fundamentals.
Google is steadily expanding its moats for GenAI again.
Google started as a laughing stock in the GenAI arms race with the failed Bard demo.
Zuckerberg: Better to Overspend on AI Than Miss It
I actually respect Mark Zuckerberg for his gut as a technopreneur and innovator.
If you are building an AI startup, be aware of this existential risk.
The AI startup world is buzzing with new ideas, especially those centered around Large Language Models (LLMs). However, a significant, often overlooked, risk...
UX/UI and naming matter more than capability for adoption.
Recently, everyone on LinkedIn is talking about learning Claude after the demo of Claude Cowork.
A common question I get from my Foundations of Claude Code workshop learners:
"Is the website we built SEO and GEO optimised?"