Simpleton is a Vue based web-application that provides at-home workouts for free with a simple UI intended for use on a mounted iPad. You can start using today with no coding knowledge, just click here to start using it now.


The Problem

After months of deliberation, I finally jumped on a spin bike for at-home use inspired by James Montemagno's Sunny Health & Fitness SF-B1002 DIY Peloton post.

After getting it all set up, I found that there was more or less no apps offering free and simple workouts. Although I have Apple Fitness+, I prefer listening to music/radio while doing workouts and find them a bit much at points... So really wanted something to eliminate that and sit on my iPad nicely

I tried out the CycleGo app on iPad and thought this was great - but really not looking to pick up any more subscriptions and didn't find the 3d element particularly motivating... I figured digging far into app choices would just end up in creating heaps of dead accounts - so I set out to create something of my own and solve the problem.


Introducing Simpleton

Shamelessly inspired by Peloton and similar apps, but simple! There were a few important points that I had in mind when starting the project:

  • Bluetooth RPM connectivity - I have been using the MyCadence (also by James Montemagno, big up!) and loving it but really wanted to simplify it into one app as the iPad is limited to 2 open apps at once.
  • Open to contributions workout database so that hopefully we can all benefit from workouts added by community heroes (that could be you...!)
  • Web based as I don't want much upkeep outside of workouts - as well as just needed a quick and easy solution to develop
  • Theming to match designs on physical devices as well as more creative ideas

Developed as a side project in Vue.JS using Tailwind.css for styling - it's just a basic web app deployed on GitHub pages - ideal for my use case here.

Sadly, I found Bluetooth support in browsers to be extremely lacking. Although I've had success in development on Chrome - I didn't get Opera working at all. On Apple iOS - things only get worse for BLE support as I tried out:

  • Bluefy
  • Safari
  • WebBLE (PAID)

And had absolutely no success. Bluefy had me the most optimistic as it seemed to connect - just not receive the updates thereafter. WebBLE provided helpful logs, but the GATT server failed to connect at all which was disappointing. I'd appreciate any insight available to this as currently either keeping 2 apps open, in need of an Android tablet or most likely looking towards MyCadence Arduino as a solution.

More optimistically - I have found success with generating workouts with ChatGPT and will be working on improving prompts to add a lot more to the app, it feels refreshing to find a new use-case for AI. Perhaps in the future they could be generated on the fly based on variables (if this doesn't already exist...)

In terms of theming - I went ahead with using Tailwind variations which felt like the right thing to do in orde to keep things slim. I set out with the first Dark theme, then got inspired by the Fallout show and did something a bit more creative and added a pip-boy styled interface theme:

Simpleton Fallout theme - Spin Bike UI based on Pip-boy design from Fallout series
I also found the design of real fitness computers to be very effective, as you'd expect. I took inspiration from the SIGMA ROX 11.1 EVO for the Sigma Sport Evo style theme.
Inspiration behind the Sigma theme
Screenshot 2024-05-28 at 15.34.14.png 202.54 KB
I got carried away and added bunch more themes in - which you can try out for yourself and find which you prefer. It'll remember which you chose - so you can jump straight in without messing around with settings.

As a disclaimer: I am not in any way trained to create workouts. Happily take improvements and advice from anybody who is!