For the past two years, I’ve mailed out a “holiday card” to friends and family. Why is that in quotes? Well…

  1. I theme and time them around the Jewish high holiday season (September/October) to parody the assumption that everyone is celebrating major holidays in late December.1
  2. They are full of lies.

Last year I was kidnapped by Soviet pirates in a submarine in Lake Erie, but there weren’t any puzzles in that one, so I didn’t blog about it. This year, I joined a multi-level marketing company and became a certified girlboss… and I went all out with the puzzles and lore.

Here’s the cards all ready to send out:

stack of holiday cards with pictures of me in a girlboss hat on one side, the other side has text which is covered up by sticky notes that say "don't trust anything you read here"

And here’s what the text on them reads:

Dear friends and family,

I’m wishing you the sweetest holiday season. 🍯

This year, I’m learning to slow down and appreciate life’s small comforts. There’s nothing like a mug of hot tea with milk and honey on a crisp fall day, the feel of a sturdy leather sandal on your foot, or the smell of freshly-cut grass in the springtime. 🌞 I’ve learned a lot this year about who I want to be as a person and what directions I want to grow in. ⬆️ I hope you’ve also found opportunities to grow, and that you have space in your heart to accept the person I’m becoming. 🌱

I’d like to share some pleasant news: I’ve started my own small business! I’m now an independent consultant (Elite Class) selling Bos products. 👡 If you’re interested in luxury herbal teas or well-made leather sandals, I’d be happy to take some time and give you a personalized recommendation. 🐄 It’s really given me the opportunity to take control of my time and finances. ⌚ I can’t recommend Bos products enough, and the lifestyle they’ve unlocked for me is absolutely fabulous. 💓 I feel like a whole new person. 👶 I’d recommend it to anyone! 💯 As a Bos consultant, you could expect…

🧑‍💼 Be your own supervisor

✨ Sell things you’re pleased about

🏠 Work from your bedroom

Discounted products

💸 No fees

📈 Potential for advancement

If you’d like to chat about starting your own Bos business, please feel free to contact me! Or, if you’re ready to take the leap, you can apply at bos.faerie.dev/join-us.

Much love,

Mist

If you’d like to solve the card and you haven’t yet, stop reading here. If you’d like to hear me go into a level of detail about it that nobody has ever asked for, you’re in the right place.

Solution walkthrough

Read the lovely card, visit the link, and fill out the form to join BOS. This will get you a username and password for the staff page: staff / taurus.

An alternate path on the join form asks for the name of BOS’ founder and asks “What do the animals say?” The staff page has all the information you need to solve these. The founder’s name is straightforwardly listed on there: Parah Byron. To figure out what the animals say, you need to look at the suspiciously decorative set of colored, patterned lines. Each line type can be found on an image of an animal somewhere around the BOS website. If you write down the name of each animal in the order of the lines on the staff page, then read the first letters, you get the answer: redflag.

Once you enter these answers and advance to the next page of the form, you get a tip to email the support team and ask about Daisy Henderson. If you do so, you receive this key from Prithvi, the tech intern:

cipher key with shapes and colors. sorry I can't write a good alt text for this one it's very visual

Fill in the letters of the alphabet along the arrow from A to Z. Each shape/color combination is a letter. You can use this key to decode the suspicious shapes on the homepage, which will get you Prithvi’s login to the history page: prithvi / clovenhoof.

The history page contains some text that implies BOS Elite Class representatives are getting possessed by ghost cows. It also contains a series of emojis, and an instruction to text me my “wake word” to help get me un-possessed:

🧑‍💼• 📈• ☕☕• ✨✨• ✨✨• 🏠🏠• ☕• 📈📈📈• 💸💸• ✨✨✨✨

For this one, you’ll need to go back to the card itself. Each emoji corresponds to the bolded word on one line of the card. The number of emojis indicate which letter of the bolded word should be used. The final answer, my wake word, is SPILLEDTEA.

Upon being texted my wake word, I thank you and ask you to thank Prithvi for me.

Reception

Here’s my hot tip: Be very careful when mailing lies to people!

The sticky notes reading “Don’t trust anything you read here” did help, but at least 2 recipients had to reach out and ask if the card was a joke. I can only hope that there isn’t anyone out there who didn’t even bother asking and just assumed I was genuinely shilling my multi-level marketing company to them.

How many times will I have to learn this lesson 😑

[image or embed]

— Mistral N (@mistraln.bsky.social) October 7, 2024 at 6:21 PM

Bonk.

Thankfully, a lot of people who did realize what was going on were quite excited about the card! I got more asks than I was expecting to share the card with someone else who they thought might like it, and a few of those extra people did end up solving it. ❤️

Mostly, people would read the card, check out the website, and then bounce off pretty quickly. I think it was a mistake to have the absolute first interaction with the world of the story ask people to do a creative and/or administrative task. It needed an easier on-ramp.

My hint system was just having people text me and ask for help. The in-world status of that was a little awkward, because I also existed as a character in the world of the story who wouldn’t be able to give those hints, but I think addressing that would’ve been out of scope for this project.

I really hope that the card still brought joy to all the people who just looked at the website and didn’t solve any of the puzzles, or even to the people who just read the card and then recycled it. In retrospect, I should’ve designed things to be more rewarding for people who didn’t really have the energy to invest in puzzles. My goal wasn’t to create a challenge, it was to bring a small spark of whimsy into the world.

What I really mean by that is I should’ve led with the whole “getting possessed by ghost cows” thing.

Writing

All I really have to say about the writing is this: examples are king. I found examples of posts from people in real MLM schemes and used them as inspiration for the card. Real MLM websites helped shape the tone of the BOS site. Examples are so, so important when you’re mimicking a type of writing that really exists.

Puzzles

I got the card playtested enough to know that it worked but not enough to realize that the first puzzle was actually the hardest one. Oops. In retrospect, the animals puzzle should’ve been last.

Also, I made the animals puzzle colorblind-friendly by making sure it contained other visual cues alongside color, and then forgot about colorblind accessibility when making the cipher alphabet. To my knowledge, none of my recipients were colorblind, and I did not receive any complaints, but you never know who might end up looking at something you make.

Puzzle-first design

I have struggled on and off with burnout when making immersive stories with puzzles. A large part of that is due to perfectionism: I often want puzzles’ existence to make complete sense in the world of the story. This is really hard. Most stories do not have puzzle-solving as an inherent part of the plot, and most real-world activities do not resemble puzzle-solving. I often would find myself in possession of a cool and compelling narrative, but even with a specific role for the players to inhabit, it was really hard to design puzzles that felt like they fit the story.

We need a bartering-themed puzzle that involves going to a store in-person and negotiating for tickets to a fae ball. There need to be two distinct versions of it with different answers, the answer needs to be easy for the store employees to check, and it can’t be too much of a hassle. We need thirty teams to be able to do this on the same day. Oh, and don’t forget that it needs to fit the lore we’ve already established. Why is this so hard??

Yeesh, no wonder I burned out2.

My process at the time looked like this:

  1. Create awesome story with puzzle-shaped holes
  2. Put awesome puzzles in the holes

I typically got frustrated around step 2. Why didn’t any puzzles fit in the holes??

blobby story with weird shaped holes for puzzles, weird shaped holes are labeled "why can't I think of anything??"

So I’ve been trying something a little different with my more recent projects. I call it “puzzle-first design.” It looks more like this:

  1. Set theme and emotional goals
  2. Conceptualize a puzzle flow
  3. Build a narrative around the flow
  4. Fill out the details of the puzzles to fit the narrative
  5. Profit?

four step comic. 1. purple circle, captioned "I think this is a purple story, let's think of purple puzzles!" 2. various purple shapes, captioned "Cool! This will do!" 3. blobby purple shape containing the puzzle shapes, captioned "Let's shape the story." 4. same shape but with accents on the puzzle shapes, captioned "Finishing touches!"

Simply: You need to build the least flexible part of the project first, then shape the more flexible parts around it.

Puzzle-first design is the technique I used for these cards, which were more or less a “recover from burnout by doing something fun” project. My emotional goals for the story were to make it fun and goofy, with slight horror elements. I wanted to theme it around a multi-level marketing company, because… well, I don’t remember, but I think I just thought it would be funny. Once I had that idea, I went immediately to create a puzzle flow.

Since I wanted to make it easy on myself, I stuck to the types of puzzles I find easiest to design, which means lots of ciphers and letter shenanigans, alongside some lore dives that aren’t really “puzzles” but I call them that anyway. I listed a few puzzles I’d find easy to create, then put them in an order and related each solution to an unlock method for the next puzzle. Here’s what my flow looked like before I’d really gone in on any of the narrative elements:

google docs screenshot of a draft puzzle flow, which reads as follows: Flow: Read postcard; go to website. Register for the MLM and receive a (password?) that gets you access to the stuff needed for the logic puzzle (staff page) AND the stuff needed for the animals puzzle (logo with key). Answers to both of those puzzles gets you a special state on the Google form that tells you to email a certain address with some information. animals puzzle should go first cause it's easier. Emailing the address gets you a key to the cipher alphabet. Cipher alphabet gets you into another protected page with a lore dump and the final puzzle. Final puzzle reveals some kind of twist I guess?

After I had that set, I cast around for narrative elements. Here’s me trying desperately to avoid cliches:

google docs screenshot reading: Demons? Ghosts? Aliens? Ghost cows!

Eventually the “ghost cows” narrative came together, I figured out what secrets to put on each page, and Prithvi Ghosh came into existence3. That’s another handy tool in the immersive designer’s toolbox: a guide character!

Poorly drawn person saying "Hi, I'm Immersive Bob. Let me explain all my problems to you and then have you solve them for me because I can't do it myself for some reason. Also magic is real."

Finally, I picked the actual words that would be the puzzle solutions, figured out what page to put which elements on, created the lore piece that would be necessary to solve a specific puzzle, etc. After that, it was just a matter of finishing writing and getting it all into place.

Puzzle-first design got me a game where the puzzle flow feels like a natural part of the story, and it got me a design experience where I wasn’t frustrated trying to find a puzzle that fit a specific niche. What it didn’t get me was a set of game mechanics that fit the tone of the narrative, nor did it get me a set of puzzles that actually made sense in the world of the story. (Why would an evil ghost cow MLM company include a cipher in their homepage logo?) For this project, I’m OK with that, since it was intended to be lighthearted, fun, and most importantly, not stress me out. I do know, though, that more needs to be done in order to achieve ultimate story-puzzle synergy4.

Physical production

Things that exist in the real world cost money5. I spent $31 on 50 6x4 postcards and another $31 on stamps. I had sticky notes and envelopes left over from last year, but that would’ve been an additional cost if I hadn’t. Staples printing was quite cheap per card, especially if I went for “postcard” instead of “holiday card,” but the colors didn’t look that good. Probably a worthwhile tradeoff.

Stuff near the edges getting cut off in printing is a very real phenomenon.

To my chagrin, the physical cards were printed with an error that made the final puzzle unsolvable: the bolded words were not actually bolded in the printed version. This was 100% my fault and not an issue from Staples. I ended up putting an out-of-universe Errata page on the BOS website with the correctly formatted text.

I wanted to put sticky notes on the cards to introduce Prithvi early and to provide a slight hint that I was not actually in a multi-level marketing scheme. My partner and I spent a solid 15 minutes just writing on sticky note after sticky note until we had put one on all 50 cards. It was pretty fun, but if I had been sending out even twice as many it would’ve been… a little less fun. I might look into sticky note printing if I do something like this again.

Digital tools and resources

Since I wanted this project to be easy, I leaned into resources that are simple or familiar to me.

Hugo

Yes, yes, I’m a professional software developer and can build a website from scratch. But also: nyehhh, I don’t want to do that. Since I already have a webserver set up, and I wanted to use server-side password protection, I just needed something that could give me a set of HTML files that looked pretty nice without too much effort on my part. So I turned to Hugo. Hugo has a huge library of free themes. I scrolled until I found one that looked sufficiently corporate, filled it out with my own data, and then stole its default color scheme to make my puzzle assets look nicer. Bam. Done.

Server-side password protection

I keep talking about this and I should probably explain what it is. I needed some password-protected pages to make my puzzle flow work, but I really wanted to just have static frontend pages and avoid having to set up a database or something. So I turned to a very bad password protection UI, which is when your browser gives you a little popup like this:

boring password login UI from browser

If you enter an incorrect password, it’ll just pop the same popup over and over again until you either click “Cancel” or enter a correct one. And if you click “Cancel,” you get this lovely and incredibly user-friendly page that I probably could’ve modified but chose not to:

401 authorization required

But, if you have root access to your webserver, it’s pretty darn easy to set up. Here’s the sketchy tutorial I used to get there.

The main issue I ran into with it was that you can’t have multiple valid passwords for one username. This meant I couldn’t make my passwords case-insensitive. Sorry, Errol. (I did make sure to specify in the game that everything should be all-lowercase, but I know this still tripped a few people up.)

Animal silhouette stock images

Pixabay is chock full of these. Free for commercial use! Great for all types of puzzles! This is not the first time I have used these to make a puzzle and it will not be the last.

Google forms gating

Free-text responses in Google forms can have custom validation. If you make the question “required,” you can have hidden information on the next page of the form. That way, people need to answer correctly to advance the form and access the hidden information. Here’s one of the questions I used it for in this project:

google form validation requires the field to read Parah Byron, checking with a regular expression

And here’s the one pitfall of this approach, from a real solver:

but luckily the answer was embedding in the HTML source of the google form (because they use client-side validation), so I just peeked at that.

Non-techy translation: if you know how to read website source code, you can just read it and it will contain the answer.

Oops.

Automated email responses

Using Gmail filters and canned responses, you can set up an inbox that auto-responds to people when they email with a message that contains a puzzle solution! Here’s my setup for the BOS support email:

gmail filters set up to send a different response depending on whether the email contains the phrase "daisy henderson"

While experimenting with this, I found that you need to have images hosted elsewhere (not on Gmail itself) if you want them to show up in the response. Beware, image-users.

Takeaways

So what would I do differently next time?

  • Proof the physical cards more rigorously before getting them printed.
  • Test the puzzles on people who aren’t that good at puzzles, and pay attention to when they get stuck.
  • Make the experience more rewarding for people who don’t have time to solve any puzzles.

I think the other issues I identified are in the “let it go” category. Ultimately, it’s a holiday card and it’s for fun.

Did I have fun making it? Yes.

Did some people have fun solving it? Yes.

Did I write an incredibly lengthy blog post about it? Yes… for some reason.

So there you have it. I did it. I’d say happy new year, but really I’d have to wait until September for that greeting to make any sense.

  1. Chanukah isn’t even that big of a deal and also sometimes it overlaps with Thanksgiving and not Christmas so a decent amount of the time the holiday is already OVER by the time people start saying “happy holidays.” Okay getting off my soapbox now. 

  2. I do actually know some puzzle designers skilled enough that they can take a situation like this and just make it work. I’m just not one of them. 

  3. All of the characters in this ARG had names that were somehow cow-themed. Some people noticed this immediately and some very much did not. 

  4. I’ve had some very interesting conversations in the escape room Discord about what sorts of emotional states puzzles can put people in and what that has to mean about the themes and feel of your associated story. What kinds of stories are possible to tell with puzzles? Honestly, I’m not sure! 

  5. Digital things also cost money, but I already had a webserver to host a site on so I’m not talking about that here.