2025 in reflection
My version of 2025.
So, 2025 has almost come to an end. What a turbulent year! Lots of things going around the world, AI is still hailed as "the next big thing", and that, we are in the early phases of it, regardless of warnings of a bubble about to burst. To end the year, React give us 3 major CVEs as early Christmas presents, lovely. But this blog is not about all of that. I'm sure everyone have also experience their own version of 2025. My 2025 contains a lot of things. If I have to write a summary, it'd be:
This year has been about discovery of what I don't know; what I know but at the same time, don't really know.
A recap of my 2025
- In January, I was wrapping up a book on UX: About Face. This book help me with foundational thinking when designing. Would I recommend it? I'd rather recommend another book that I read in September more. That one is a bit concise and easier to understand than this one. I think this book delves too much on methodologies that not everybody will have the chance to apply. But again, this book'll gives you a lot of foundational thinking. And don't just trust me, trust the guy that mentions this book on StackExchange. Why did I search for this? That part isn't important, just another day working in a small company, discovering something out of the ordinary, haha.
- February starts with Lunar New Year, and I was totally learning Laravel/PHP. Why? It's just something that I've been wanting to learn for a while. Having finishing this course on Udemy made me realize something: (1) If you've grasp the basic syntax of another programming languages, you just need to learn what is difference about your current language and the new language, you don't really want to learn the basic thing again and again.
- March comes. I didn't really do anything much in this month. I was just upgrading the RAM on my PC and upgrading its BIOS (Just take a look at the RAM price in Dec 2025, this was a great choice!). I did read Why Nations Fail in this month. It was an interesting read. Given all of the politics happening in this year, I'd love to see if the idea of "an extractive institution is unsustainable" being tested in the next decades.
- In April I was making a major feature at work. Its state management is complex enough that I resorted to use "state machine", which was a fairly new concept to me at the time. Totally straight up use the class design and made a mess, haha. If I was to turn back time, I'd refactor it to be similar to the concept of a reducer as it's more inline with React's concept. Aside from that, I was researching for what would come in the following month.
- I remade my intern project in May. It's a real-time draw and guess game powered with Socket.io. I got to see how things change since then. Using AI for coding is totally a thing now and it did speed up development time: I got the basic UI from the AI, make it responsive and redo the state management (wasn't happy with what it gives me. I mean, why are you using an
useStatefor a state that is only used in functions?). I got to write some backend NestJSsocket.iocode through. The most challenging thing is deploying that thing to GCP and I got it done somehow (there is still a small issue, but that is for later me to decide). - June was for learning
three.js. I bought the three.js journey course back in March and this seem like a time to tackle it. Honestly, I still haven't even finish it yet. I got a huge chunk of it done though. While learning it, I found out that I need to build things outside out what is in the course content. Essentially, I need to build things and gain better insights on the course material. I did also build a custom HTML player (which I totally need to write on and kind of have to do a little refactor) and add ViewTransition to this page. If you ask me, ViewTransition is a pretty cool thing to add to your site. - Keeping on with the trend in June, I was keeping on learning
three.jsin July and August. Oh, and I was brushing up my fundamentals - you know - the things you learn in uni? And did you know that web.dev have courses? In August, I did a breeze though of their Accessibility and Testing course. It was really helpful. Also, I read Quiet by Susan Cain in this month - highly encourage introverts and anyone interested in introverts to read it. I also discovered new tools that I want to try: GSAP, Tanstack Query, Konva, charting libraries. Still haven't found the time for it though, haizz. - Did you remember the book in September that I promised to recommend? That book is Don't make me think by Steve Krug. This book is such a simple walkthrough of the core principles of UX. Still learning
three.jsin the first half of this month. The second half? Coding this blog, of course. - In October I release the blog, nothing much aside from that. The reason? I want to improve my English writing. I discovered that while my reading and listening English - a.k.a the passive English skills - is at least on upper intermediate level, my speaking and writing English need more work. My English could be on another level if these things didn't held me back.
- The whole November is spent working on IETLS, reading and writing. Upper intermediate isn't enough? Yes, if my speaking and writing couldn't be improved fast enough, then I want reading and listening to fill in the gap. Thus making my score band higher. It's still a second plan in case everything else fail and working on speaking and writing is still essential. Oh, I automated the deployment of the api on GCP in early November with GitHub Action. Turns out that it's really annoying to remember just the SSH command to build. While NextJS 16 and React 19.2 drop in October, everything around these wasn't stable yet, so I have to wait until late November to migrate. I built this simple comparison to see the performance benefits of Cache Component. Overall, I'm happy to see the NextJS team finally perfect their React Server Component implementation after 3 long years.
- In early December, I went to Bangkok on a company trip (the second time). Finally got to experience more of Bangkok. Their shopping malls are massive, kind of wishing their BST and MRT metro system to have the same payment method. Welp, I guess Vietnam and Ho Chi Minh City need to develop more then. I want to comment more on Bangkok buses but I just discovered that our BusMap app have Thailand buses data. Would be helpful when we were lost back then. More IETLS, a course of Performance and a breakthrough of discovering where I could improve on my soft skills. And to cap it all off, I have been trying Zed after being stuck to VSCode for forever. The performance is great, just that Search, anything Git-related and the extension ecosystem left more to be desired.
The chapter summary
Closing the 2025 chapter, it definitely left a lot of things to be desired. A lot of discovery had been made:
- Things that I knew but discovered that I need to understand deeper: React, Web Development (Performance, Accessibility, Testing,...); English; backend (System Design, Database,...)
- Things that I don't know but need to know: frontend tools (Tanstack Query, Konva, charting libraries,...); understanding soft skills in a way beyond self-help books
The next chapters
Did you see the plural form of chapter? It's not a mistake. This is a list of things I want to do in the next few years. Of course there will be some that I want to achieve in 2026, this isn't a new year resolution:
- Shifting towards more action. I want to build upon the discoveries in this year with actions, not just talks.
- Learn and clear out anything that I'm missing. That will of course includes the aforementioned things.
- Explore more tools like Expo, Rust,... Being primarily a JS dev has its merit of being able to do everything, not just the web, I can do mobile apps, desktop apps and even AR apps. I want to be able to take advantage of this fact.
- Clean up & refactor the design of this site and add more cool things to it. A little bit under the hood, this site uses a custom variable theme system that I come up with. Unfortunately, it doesn't age very well. For the moment, I am just going to strip that thing out for better development speed until I can come up with something better.
- That "HTML custom video player" look a bit out of place. I'm going to refactor it and write something about it.
- Write more blogs on tech, I originally want to write about tech stuff. Currently, the blog has too much opinions.
I didn't use any AI in writing this, not even Grammarly. Did it go well? No, this is the second rewrite of this blog. The first one is so stiff to the point that I'm not sure any human can read it. I feel very accomplished through. But like any human creations, it'll have imperfections and I think I need to acknowledge this.