Okay, hear me out. Web development is actually kind of fun. I mentioned that I worked through The Joy of React recently and while the course managed to transfer a lot of valuable knowledge, it didn’t do a great job at keeping me motivated.
I’m not one of those people waiting for motivation to magically hit me. I know that it’s something you create by actually sitting down and doing the work. Nevertheless, something about the course constantly trying to trick me into working on something it hasn’t taught me before, made me just watch the solution videos before actually trying to solve the problems. I knew that I could not possibly know the “right” solution, so I stopped trying. That resulted in me finishing the course without applying most of the things it covered.
100 Days of SwiftUI‘s approach worked far better for me. It covered a couple of concepts, then gave me a challenge and told me that I already know everything needed to solve it properly. I knew that it’s completely my fault if I don’t manage to come up with a solution and I also knew that I only had to re-watch the previous lessons to stumble upon the answer at some point. That’s motivating! Telling me that I’m theoretically able to solve the challenges gave me enough confidence to sit down and try until something worked.
So here’s how I got over my disgruntled and unmotivated “Web dev sucks” state:
I forced myself to build something.
At first my goal was to set up a project. Hard enough with all the tooling involved. That worked more or less smoothly. Then I started playing around with a button that puts something into an array, which led to an input element that allows to customize what to put in there and so on and so forth. I didn’t plan on building a shitty to-do list app but it happened because motivation came as soon as I started experimenting.
I wandered from “Oh, I wonder if I could…” to “What if I try to…” and grew increasingly more excited. Our brains are hilariously easy to manipulate. Create a few achievable moments of success and you can string yourself along until something exists that previously didn’t.
Nobody is in need of a to-do app called “Your Plate” but it exists now. I’m a bit proud of that.
So, here’s what I did:
- Set up Visual Studio Code in a way that’s acceptable.
- Learned how to deploy something through Vercel and the Terminal. This was a huge “Wow, this is so easy and cool” moment for me.
- Played around with objects and destructuring.
- Added a few libraries for random stuff like playing sounds (and added a setting to turn sound off!), throwing confetti and animating the list.
- Figured out what TailwindCSS is and how to use it. Another “Oh wow” moment.
- Added local storage capabilities.
- None of this was very hard, I built far more complicated things in Swift and SwiftUI already. It’s something though and it managed to drag me out of my “Ugh, where to start?” rut.
Next up: Upgrading to Typescript. I want types. Type me up, baby.