I Built a Bot to Tell My Jokes for Me
Here’s a thing nobody warns you about telling a joke on the internet: the second somebody hits “like,” a small broken part of your brain lights up and says do that again.
So I posted a nerdy joke on Twitter one Friday. People liked it. And instead of doing the normal human thing — writing another joke the following Friday — I did the engineer thing.
I automated the jokes.
Let me walk back from the ledge. The whole contraption is a little Python script running on a Raspberry Pi Zero, which is a computer roughly the size of a stick of gum that costs about as much as a burrito. It sits on my desk, sips power, and does exactly one job.
Every Friday, a cron job (that’s the little Unix scheduler that runs a task on a clock so you don’t have to remember) wakes up, reaches into a SQLite database full of my jokes, pulls one out, and fires it off to Twitter. The #FridayFunny goes out whether I’m at my desk, asleep, or halfway up a trail with no signal.
That’s it. That’s the whole machine.
Was this the efficient way to tell a weekly joke? Absolutely not. I could have set a phone reminder. I could have used any of nineteen scheduling apps. I could have just… remembered it was Friday.
But none of those would’ve taught me the Twitter OAuth dance, or given me a reason to buy a Pi, or let me feel like a tiny mad scientist every time a joke landed and nobody knew a robot sent it.
And that’s the part I can’t shake. We tell ourselves we build things for serious reasons — efficiency, scale, the résumé line. But some of the best things I’ve ever made started because something was funny and I wanted to see if I could.
The bot didn’t change my life. It just makes a database laugh on a schedule.
And honestly? That’s reason enough. The healthiest excuse to build something isn’t that it’s useful. It’s that it made you grin, and you wanted the machine in on the joke.
So ship the silly thing. Mine’s free software — the license is literally the WTFPL, which stands for exactly what you think it stands for. Fork it at github.com/thatsjet/tweeter. Break it. Fill the database with your own terrible puns.