Hello friends,
Given my current goal of putting more effort into learning German, I decided it was time to make this project I've had in mind for the past few months.
While that might sound counter-intuitive, I promise, the project is to learn German, not code. That being said, I went into this project with this one mindset: "It just has to do what I need it to do.". If it can achieve that, I'm happy. I don't need anything flashy, I don't need to flex my coding prowess, I just need an app that works- so that's what I made.
ChatGPT Trial
I saw that there is a current one month free trial to use the pro version of ChatGPT, the LLM I mainly use for my coding endeavours. So I thought, why not, let's sign up, and try to make something with it. I started by just outlining every detail I could conjure about the project.
-
I want a web app that can help teach me German words. It does so by prompting me with words, then based on how well I know them I rate them. Then I can review the words I rate as harder more often, and the easier ones less.
-
The app will pair React and NextJS, deployed on Vercel, and all data will be stored on a Google sheet.
-
I want simple, copy pastable responses separated step by step so as to not overwhelm. Once a step is completed to it's end, I will indicate when we move on.
With these prompts in place I also spent a bit of time brainstorming the less clear aspects of the project. Cooldown for when I see words, how will the ratings average out, how will I edit words, delete, and add... We went back and forth for a few minutes then took off, step by step like directed.
We initialized the Next project and started creating files left and right. I played the role as "Senior" dev, just reviewing the code and assessing it's general quality and purpose. I would push back when given useless files. Push forward to add more tests (since bugs are a plenty). All the while making sure the general project reflected what I intended in the first place.
Coding like this was very interesting. Once again I'm not making this to prove any coding skill, but instead just to create something I need, quick. I knew this was quite amazing when I got the website up and running in just a few hours. I could already rate words, add new ones, edit old ones, view them all, and had a pretty simple and nice lookin UI.
I spent the next few days bug fixing and improving where I could, and after just 3 days, I had a working web app with enough auth for me to deploy online and use personally.
What's Next?
I can see an endless road of improvements on this project. It by no means is perfect, but the joy is that if I do want to change anything, I can, easily. A lot of doors open up when you let go of the pressure of making the perfect product. Of course there are situations where you do need to polish things and make them actually well. But in this case, this is all I need, and I'm happy with it.
So conclusion, get out there, make something, it's easy now. Much like how the digital camera revolutionized filmmaking, the entry requirements just lowered, everyone can create, just be patient, and willing to learn a thing or two.