Building a CrossFit Workout-App with Node.JS and Vue

Photo by Reza Namdari on Unsplash
21-15-9 Reps for Time
- Thrusters
- Pull-Ups

The Requirements

My application consists of three main building blocks: A database that contains all available WODs. Besides name, description and excecises, each workout has to define its requirements in terms of equipment.


I started with the collection of the workouts. I currently use Google Sheets to manage them, in combination with Google App Sheets which allows me to write my own table functions in JavaScript. I use these to generate a JSON object from the workout. For example, the JSON version of the Fran-WOD above looks like this:

The Backend

As soon as I had a small database available, I started to implement the server.

The Frontend

I wanted the UI to be super simple and easy to use. The main screen should contain the details of your current workout, and there should be options to load another random workout and edit settings to customize the equipment.

What’s next?

I have a few more things I want this app to have. First off — the hosting. Right now, the app runs on a free heroku instance, just so that I can test it only and share it with my friends. I want to set up a custom domain and run a “production”-version of it, but I haven’t decided on a hosting option yet. I’m thankful for any recommendations!


Software Developer (C#, Java / Desktop, Web, Mobile, Games (VR)), Triathlete & Coach - — Sign up to my newsletter:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store