A simple Madlibs-style game for the internet.


April 2017


Design & Dev




Finding a simple, fun Madlibs game on the web was suprisingly hard. So I decided to make one.

In the beginning of 2017, I was hanging out with my wife when I thought it would be fun to do something we haven't done in a while—Madlibs. After a couple minutes of searching Google, I learned that there aren't many quality, free Madlibs games on the web. So I decided to make my own.

But how was I going to make it? I have HTML, CSS, and some JS chops but this was going to be a real game! How should it work and how was I going to technically deliver it? I set out to make a fun Madlibs style game that was fast to play. No signing up or any distractions—just get to a game as fast as possible. I also wanted people to be able to play it by themselves, which if you're familiar with Madlibs, you couldn't do (at least not in a fun way).

The Solution

My biggest problem was figuring out how to render the Madlibs. I didn't want to create a database to store all the stories and templates. I wanted a simple way to show the right story with the right questions and let the user move on the next one. I ended up listing all the stories in my HTML and showing/hiding them when the user clicks the "Read Story" button. All the stories use the same variables and they all get reset when the user does another.

Ok so I had basic prototype working—now for the fun details. What was I going to name this thing? When I was testing out the functionality, I copied and pasted some short movie descriptions to give me something to work with. Turns out, those brief movie descriptions were perfect fodder for Madlibs. So I had my product angle—Pop Culture + Madlibs = Poplibs.

The main visual design choice I made was to make it kid-friendly—bright colors, fun fonts, and lots of rounded corners. I tried to actually animate some elements so they would "pop" in but this proved really time consuming with not a huge payoff so I abandoned it.

The initial release had a really simple visual design.
Some layout experiments. Trying to find a simple, fun design.
Animation is something I'm always trying to get better at so I spent a lot of time working on the details of moving from Poplib to Poplib.


I hooked up Poplibs with Heap Analytics to track events and create funnels. The main success metric is completed stories. In the first couple weeks, I found that on average people play 6 Poplibs per session which far exceeded my expectations.

I've also found through user testing that coming up with each word isn't super easy. Many people struggle with this and I find that it diminishes the fun factor. My next steps are to add some functionality to make it easy to try out words; hit a button to get a new word. Hopefully, I'll have an updated soon.