Cards Of Death
Andy Cetnarskyj
Senior UX designer
Made with

Cards Of Death

A personal project to improve my home workouts and JS skills

Family Problems

My wife and I love working out, but she hates working out at home. Until we had our son a couple of years ago we were both regulars at Crossfit but the little guy has made it tough to fit in for both of us.

I wanted to learn JavaScript programming for a while, so I took the chance to build a personal fitness app to flex my coding skills.

Although there are a number of apps like this already, I wanted to tailor this for our home kit and space.

Cards Of Death

The Workout

Cards of Death is a simple Crossfit workout and my wife’s favourite.

 The idea behind this is for you to pick a card from a deck and do the exercises and pick another. When you pick a joker, you either double or half your next card. A lot of fun if you are a sadist.

View on Codepen: https://codepen.io/andy_cet/full/Pmeyxo
View on Codepen: https://codepen.io/andy_cet/full/Pmeyxo

Version 1

Firing up Codepen I was able to knock out the first version ready for our Sunday morning workout in about an hour.

The idea was simple, load a JSON file of objects and randomise the output. This worked, and we blasted through a tough HIIT workout workout the next morning.

View Game on Codepen

Version 2

Each weekend I swapped the JSON file with new exercises, and we were able to generate such great ideas for what would make it better.

User tracking - we found it was hard to keep track on what you had done so adding unique user buttons were important.

Workout management - we found we were sending each other exercises across the week to add to the JSON file. To make things faster, I swapped the JSON file for a link to Google Sheets. That way we could add ideas as we went.

The Backlog

What started as a solution to a couple problem turned into a fun project that could grow endlessly. Next things up are to build on the joker card and gamify the workouts to make things more competitive.

The UI needs some love and definitely a timer, currently we need to use a separate timer.

Longer term I’d love to open it up to a wider community. Having completed the Wes Bos Learn NodeJS course, it gave me a solid grounding in how I could build a scalable backend to control user inputs and a leaderboard.