I've been working on a workout/fitness app called WOTT that's almost ready for release after 3 years of development. After release there are still many features to be added, so I thought I'd start a thread here to share what I'm doing, what I've done, get some feedback and learn from you guys. Website: WOTT.club Twitter: twitter.com/WOTTclub I'm really eager for people to help with testing. If you're interested, please sign up for early release at the website. Some of the stuff I'm eager to discuss here includes: Playables for the animation (see some earlier discussion here). Firebase for the backend - including facebook/twitter/google sign in. Lots of things I've learned about Unity UI. Some stuff I'm eager to do, and share as I go includes: More playables (including animation C# jobs) More AI, path navigation, etc Character customization Some History Today marks 3 years since I started working on the first prototype for WOTT. At the time I was doing a progression based bodyweight workout program that uses tempo training, called Convict Conditioning. I wanted an app that could keep my tempo, save my progress and show me what progression I was up to. I created a protoype using Unity 5.1 and Playmaker, because I'd already used Playmaker to make a game and, well... I knew next to nothing about coding. I'd dabbled with learning programming a few times over the years, but hadn't got very far. That first prototype was really little more than a metronome, but it kept my tempo, and stored my reps for the workout so I could wait until the end to write them down. Here is the prototype with an early concept pic. The next step was to get a workout routine into the app. I wanted to know what exercise to do each day, and what the target sets & reps were for each progression. I'd had some experience working with XML files in Playmaker, but what I needed to do this time was significantly more complex. Between this, my struggle with getting the indicator dials working, and having no idea how I was going to accomplish some of the other features I had planned, I realized that I was going to have to learn programming. So I started learning C#. After a couple of months of learning, I'd figured out enough linq to process the XML routines, choose a routine, a program and a progression, and show the target reps. Another project meant I wasn't able to get anything done for a few months. I didn't even have time to continue my coding training. But as soon as I could, I got back into it. I started figuring out Unity UI and working on a menu system to view and edit routines. I designed a database structure for routines, switched from XML to json and got saving and loading to the device working. After a few more months I was making progress. The routine menus weren't fully functional, but the basic ideas were coming together using accordion style menus (although using a different method than I'm using now). But I was still manually editing json files and using the original method of choosing a workout, so the next major milestone was to get the routine menu functional enough for me to be able to create and load routines. Also the main workout timer was still using Playmaker, so almost a year after starting I finally replaced it with code and was able to remove Playmaker from the project. During the refactor of the workout screen I finally figured out what to use the 3rd dial for. Initially it was going to show what progression you were up to, and it changed a few times along the way until it ended up as a tabata style visual representation of the total time for the workout. The rest of 2016 was just getting it all working together, a lot of refactoring, adding inheritance for routine options, and making sure they all worked. I redesigned the accordions, which initially used scaling to open and close, to just moving up and down (which solved a few problems but created a few more). By the end of 2016 it was working pretty well. I could create, save and load routines, user data and user progress, but it was all on the device. There were 2 big things to do: add the character, and get online. I started to work on the character, but then another project ended up taking a huge chunk out of 2017 (plus my wife broke her ankle to I was running after her and 3 kids for a few months) so I didn't get much done until getting back onto it in September. I then created a 3 month plan to be testing by Christmas 2017. (Narrator: Testing didn't start until July 2018) Thanks so much for reading this far, I'll continue the story real soon. In the mean time I'd love to know what you think and please ask me anything.