EUREKA! I Finally Built an AI That Can Write Dad Jokes

Why this is harder than it sounds

I toiled for years. I tweaked the prompts. I tinkered with context engineering. I tastefully provided lots of training data.

Now, I think I finally have it -- an AI-powered dad joke generator that occasionally produces a not-that-awful dad joke (and sometimes the little gems are fully groan).

It's by no means perfect, but it's progress. You can try this for free at dadjoke.ai.

Today, I want to break down:

  • Why this is actually a breakthrough

  • Why dad jokes are so hard for AI to generate

  • How to try the tool for free (and help me improve it!)

The Dad-Joke Breakthrough

On a recent podcast I did with with my friend Cameron Adams from Canva, I mentioned that I've been trying to build a dad joke agent for a while now. I called it "one of the last remaining frontiers" for AI.

And I meant it.

Despite all the reasoning models and all the advancements in AI -- and if you read this newsletter actively you know I’ve tried them all -- AI still couldn't write even a decent original dad joke… until now.

See the interesting thing about AI models is that they can sometimes explain what makes a joke funny, but they can't create or even properly evaluate jokes.

Believe it or not, but I have what I call a "dadabase" -- a database of curated dad jokes I've collected over the years. When I feed these to AI and ask it to explain why they're funny, it does a very good job. It understands the mechanics: the wordplay, the misdirection, the setup and punchline structure.

But when I ask it to rate those same 100 jokes on a scale of 0 to 10? It's actually not good at that. It understands the theory but struggles with the execution and evaluation.

And generating original dad jokes? That was the holy grail. Until this weekend.

Why Dad Jokes Are So Hard for AI

I'm going to be honest: I spent a lot of time over the past few years trying to solve this “problem” (all in the interests of…umm…human advancement).

It was not an easy task. And here’s why:

  • Dad jokes require human experience. The best dad jokes come from observations about everyday life -- the quirky moments you notice and think "that's kind of funny." AI doesn't have those experiences.

  • Timing and delivery matter. A dad joke isn't just about the words, it's about the pause, the setup, the groan-worthy reveal. AI can understand this conceptually, but capturing that timing in text is difficult.

  • Cultural and contextual awareness. Dad jokes often play on cultural references, common expressions, or everyday situations. AI has access to this info, but doesn't have the intuition for what will land.

  • The paradox of trying too hard. Dad jokes work because they're simultaneously clever and stupid. They're not trying to be sophisticated humor. AI often makes jokes that are too complex, or too obvious, or just...off.

As I joked on the podcast: I share the same limitations as large language models -- limited context window, I hallucinate, and I still struggle with writing dad jokes.

But dadjoke.ai addresses this by feeding it my years-long collection of dad jokes, RAG (retrieval augmented generation) to pull relevant examples, and a whole lot of prompt fine-tuning.

To try it, simply head to the link (or find the agent on agent.ai), enter a topic, and watch your dad jokes come to life.

And don’t forget to upvote the ones you like, so we can update our “dadabase“ and make the system better for everyone.

Why Spend Time On This?

I know this seems like a trivial way to use my time, so here’s why I did it:

1) Turns out, I often need topical dad jokes so I was scratching my own itch.

2) This is implemented as an externally hosted agent on the agent.ai platform (a feature I plan to release later this year). So, this lets me be a user of the platform to test things out.

3) I’m interested in learning more about RLHF (Reenforcement Learning through Human Feedback) and this was a nice, contained example. I take the upvote/downvote data to create a “closed learning loop”. I want the system to automatically get smarter as people use it and provide feedback. This example is a nice simple way to test and learn. I’m all about the learning.

4) I think it’s OK to have fun with AI. Life is short.

Of course the app/agent is not perfect. Not everything will be perfect. Not everything will be polished. But I'd rather ship something imperfect than wait for perfection that never comes.

I know this is a playful project. But I actually use dad jokes all the time (maybe a bit too much), so this was worth spending a few weekends hacking together. And it was a ton of fun.

That's the point. AI should be fun.

The incredible thing about the time we're living in now is that you can build solutions to almost any problem you can think of. Whether that's through Claude, Cursor, ChatGPT, or Agent.ai -- there's never been a better time to build.

DadJoke.AI is not perfect, far from it. But it's progress. And sometimes progress is worth celebrating, even if the jokes still make you groan.

Let me know what you think.

And if you have ideas for how to make the app better or what I should build next, I'm all ears. Just let me know by replying to this email.

—Dharmesh (@dharmesh)

What'd you think of today's email?

Click below to let me know.

Login or Subscribe to participate in polls.