This website (hungrybluedev.in) is one of the biggest projects that I’ve undertaken. In 2019, I decided to spend some money, buy a domain, and guilt-trip myself into working on a website. I’ve learned so much about the internet and how web technologies work. I’m sure that I wouldn’t have learned as much if I hadn’t decided to publish my work.
Here are some posts on my journey (I’ll be adding more eventually):
- Why Won’t My Images Load - I briefly describe the process of redesigning my website and struggling with Cloudflare’s aggressive caching policy.
I’ve learned so much through this endeavour and I’m glad that I forced an investment. I urged me to leave my comfort zone and start working with Web Technologies. I am now motivated to leverage my learnings and continue to create software that is beneficial to everyone and also, open and accessible.
My First Progressive Web App
I wanted to see how viable Progressive Web Apps really are. As it turns out, they can do quite a lot! If you do not need to access specific native controls of a device, you can get away with a PWA.
I made this as an experiment to see how far I can go. The project is complete enough as a proof of concept. It is not finished. And I don’t think I need to complete it. I’ve learned a lot from this project. Some of these things include:
- Converting a website into a Progressive Web App.
- Allowing a website to work offline using Service Workers.
- Adding an image to the link preview for a website.
- Creating icons for the installable versions of the website/app.
- Using modules properly in TypeScript.
I’ll Revisit It Later
I’m not done with this project yet. I am a bit fatigued though, so I will return to it in the future. The reasons to do so are manyfold:
- I have to implement an AI player. I have some ideas in mind but I’m not motivated right now.
- Currently the UI is event-based. I plan to make the main thread poll for event changes. Otherwise, it would be tedious to incorporate player versus CPU functionality into the app.
- The current end screen for a player win is too dull. I have the basic canvas in place. I have to add animations to it.
It was a really satisfying experience for me. I was absolutely thrilled to be able to install my app on my phone as a (near-)native app! This proved to me that PWAs are definitely a viable way to ship software. Despite the limitations, I plan to proceed in this direction and I plan to make more apps eventually.