Zain Fathoni - Navigating the web in a world full of constraints
The world is not ideal. Sometimes, we have all the best JavaScript weaponry at our disposal, with the pressure of deploying a working MVP in a handful of days before we broadcast it in a nationwide TV show. Sometimes, we may take our time to build a performant app while being stranded on a client-side-only island, forbidding us to set our feet in the server-side rendering realm that has been the famous mantra for performant websites. This talk is about how I architected multiple websites using various sets of technologies to meet the objectives at hand with the given constraints at the time. I will walk through my journey of building various websites in the past few years. Some are what I did at work, and others are open-source projects I did on the side. They have different technical and time constraints, hence the varying tech stack choices. For instance, I led a team of volunteers to develop the initial version of https://www.wargabantuwarga.com using Google Docs because we had to launch it in a nationwide TV show within three days. Afterwards, we incrementally replace the Google Docs sections with a proper CMS for better UX and SEO. We also progressively build a better mobile experience to show data from public Google Sheets on the same website. In other instances, I had a blast building my open-source projects using a particular SSR framework. However, due to valid technical constraints, I couldn't use the same tech stacks in my workplace. Fortunately, I found a way to maintain the good parts of that developer experience while complying with the technical limitations of keeping the app as a client-side rendered SPA. Reflecting on those stories, I have some key takeaways to share with the JavaScript community about building meaningful solutions for our users.
Zain Fathoni