2025 Recap

So 2025 wrapped up recently with a lot of challenges, changes, and grace from God. As I enter 2026, as oft the general population does, a look back seems necessary for evaluation and direction for the tech and development related things that I will aim for this year 2026.

I’m a person with terrible memory when it comes to dates. Somehow when days were past, yesterday and last months, it became jumbled in my mind vault.

This year I’m aiming to be more of a note taker person (traditional instead of digital as the latter proved to be ineffective for me). Let’s hope I can keep up with this goal and publish more articles or blogs for this website.

First of all, when it comes to professional career, I’ve decided to leave my first job at SM as one of the tech backend leads to pursue a more challenging area in my dev skills – which is fullstack engineering at OpenSolar. I will always be grateful for the skills, opportunities, learnings, camaraderie, and everything that I gained from SM. I know that I’ve done my best there and left the backend to capable juniors and leads.


Now as for the side projects, most of the readers and people who know me, know me for the indie game development stuff I do. So let’s talk about that:

  • Release of Going Home: Revisited for desktop and mobile
  • Remembering Home: went through a lot of reiterations from using lua2p, to new lua project (repo deleted unfortunately), to ebitengine, and finally back to the original repo. Sigh the danger of over engineering and project hell.
  • Slab: I’m still amazed how it continually gets stars from GitHub and often see posts in creation-showcase using it. It’s in a stable state right now and new features are so few. Also the refactoring is cancelled now. Maybe it’s time to hand it down to another developer? For anyone interested in it, please contact me.
  • C-Choice: this side project is finally released! From scratch to everything involving backend in Go, frontend via SSR, HTMX and Hyperscript, manual deployment in a VPS, metrics and alerts via Prometheus and Grafana, integrating PayMongo as payment gateway, and so on. This project is really a good learning and up skill for a solo dev. Repo
  • Zion English Admin Tool: a simple project that benefited a lot from the emergence of LLMs. It’s a simple tool to automate a process of dealing with xlsx into a report needed by the client. Repo
  • CodeNect: from time to time I get emails about purchase for this project that has been by far the most profitable for me LOL. Then I got anxiety if this is still working on latest Windows (because you know, Windows). I’m glad I kept a zip file of the executable. Wow! it ran smoothly on Windows 11. Good thing C++ promises compatibility, right? Repo

If there’s one thing that 2025 would be known for, I think it would be the big leap when it comes to LLMs. I know that this topic is sort of a blessing and a curse for developers. I’m more on the side of using it as a tool. I’ve had my time with experiencing its potential and benefits as well as fighting teeth to teeth with its nuisances and absurdities. I’ll share some of the points from my experience with LLMs:

  • Great tool for refactoring, more of a beefed up version of rename symbol.
  • Great tool for code review as it can see potential bugs and silly developer mistakes especially with interpreted and dynamic languages.
  • Good when paired with compiled languages like Go as the compiler intrinsic and output increases the feedback loop.
  • Good with understanding new, large, and unfamiliar codebase.
  • Cursor’s Plan mode is great because the developer can see what the LLM will do in a larger scale than go with the prompt-review-test cycle.
  • Good if you will prompt small things and go with little steps than to prompt a very large change as it’s more prone to mistakes.
  • Good with quickly getting a simple project from the ground up like the Zion English Admin Tool.
  • Terrible when it comes to sort of new languages and tools like HTMX and Hyperscript as the LLMs hallucinate a lot of syntax and semantics.
  • Bad in implementing newer/recent code styles like it always do the traditional for-loop in Go instead of the shorter for-loop.
  • Terrible for learning. I believe that to effectively learn, one must research, try, experience failures, and experience success. Using LLM just to get a result, like completing a task in work, is not ideal in learning.
  • Terrible in the long run especially if one relies too much on the output of LLMs, the solution one learn and stick is narrowed down to what the LLM suggested. The curiosity, room for exploration, and thought process become obsolete.
  • Paid model is far reliable and better (?) than free ones. I experienced a lot of back and forths with debugging a React error with ChatGPT that lead nowhere while it was quickly addressed by Claude code. I also happen to feel nowhere with free models from OpenCode.

Soli Deo Gloria