I would work on the project every Sundays for a few hours: sometimes just 1 hour, sometimes as much as 6. After a few Sundays I had a local dev environment running on my computer to be able to track workouts in. At that point I started using my app: I would write my workouts in my phone and then when I got home from the gym enter them into the app running on localhost. After a few weeks of doing that I got fed up and decided I wanted to be able to enter my workouts from the gym via my phone directly, so I spent the next Sunday (or maybe 2 or 3, hard to remember) to learn how to deploy with Heroku. I did a pgdump of my local environment and used that to seed the "production" database running in heroku.
I think one thing which kept me motivated and engaged in the project was that I focused on getting as much value from my efforts ASAP, like a one person agile startup with a single customer (myself). Everything I added had to add some value immediately. I focused on the database modeling and REST APIs and didn't even worry about what the app looked like. When I first began using the app it was a simple multipage web application with basic HTML forms built in Django with no css (literally white background with blue text links and black text). Being able to actually use the app drove me to want to improve it and add new features.
For example: A feature which I wanted, which no app at the time had, was to be able to find my personal records by varying sets and reps. I wanted to answer questions like: What are the most pullups I've ever done in a single set? What's the most weight I've deadlifted for 4 sets of 2 reps? What is the heaviest weight I have ever back squatted for 8 reps? I had the data, I just had to build it into my app. So the first feature I added after being able to create workouts was the ability to look up previous bests. Every time I would workout I would look up my previous best in the app and try to beat it. Being able to track and set new personal records in the gym kept me motivated in my workouts, it was pretty thrilling seeing my project actually pay off for me personally.
An elongating hallway is a good analogy. Every time I found out there was a new thing I had to learn I would be stressed out and overwhelmed, coming up against a hard edge of my knowledge. I would then read a few articles and do some googling, and next thing I knew I was successfully doing the things which originally stressed me out! In my previous comment I mentioned that doing this project increased my confidence as an engineer, which I think was caused by repeatedly bumping up against my limits and then surpassing them.
That’s an awesome experience and I am taking the same approach. I don’t have a front end yet either.
The thing that keeps me going is looking back and feeling comfortable now with things that a month ago I thought “I have no idea where to start, the quick start guide means nothing to me, how does this work? Why is it like this?” And now I’m like “oh yeah that makes sense” and I can read other people’s code better
I think one thing which kept me motivated and engaged in the project was that I focused on getting as much value from my efforts ASAP, like a one person agile startup with a single customer (myself). Everything I added had to add some value immediately. I focused on the database modeling and REST APIs and didn't even worry about what the app looked like. When I first began using the app it was a simple multipage web application with basic HTML forms built in Django with no css (literally white background with blue text links and black text). Being able to actually use the app drove me to want to improve it and add new features.
For example: A feature which I wanted, which no app at the time had, was to be able to find my personal records by varying sets and reps. I wanted to answer questions like: What are the most pullups I've ever done in a single set? What's the most weight I've deadlifted for 4 sets of 2 reps? What is the heaviest weight I have ever back squatted for 8 reps? I had the data, I just had to build it into my app. So the first feature I added after being able to create workouts was the ability to look up previous bests. Every time I would workout I would look up my previous best in the app and try to beat it. Being able to track and set new personal records in the gym kept me motivated in my workouts, it was pretty thrilling seeing my project actually pay off for me personally.
An elongating hallway is a good analogy. Every time I found out there was a new thing I had to learn I would be stressed out and overwhelmed, coming up against a hard edge of my knowledge. I would then read a few articles and do some googling, and next thing I knew I was successfully doing the things which originally stressed me out! In my previous comment I mentioned that doing this project increased my confidence as an engineer, which I think was caused by repeatedly bumping up against my limits and then surpassing them.