Skip to content
Magenta Ong.

Notes since March 2026

/devlog

Devlog

Side projects and what I got distracted by that week.

A development log which is updated if I remember about it :O

  1. 013
    Project
    Unfiled
    Mood
    Stuck

    I'm continuing my mission to redo this portfolio design direction.

    Technically, it doesn't make sense for me to keep going back to my portfolio page and redoing or refactoring the code just cause I feel like it, and I also shouldn't be too bothered about this and spend more time doing leetcode and focus more on other projects. But like I was having interviews and got a bit embarrassed when interviewers mention that they visited my portfolio page, cause I know that it was done in a 'get it done an over with' manner.. I guess it works but somehow it didn't feel right?

    Tags

    • Portfolio
  2. 012
    Project
    Portfolio
    Mood
    Breakthrough

    Food for thought: Writing bad code is good for job security

    Literally what the title says, if the code is so bad only you understand and AI can't decode it then the company has to keep you.. no?

    Tags

    • Portfolio
  3. 011
    Project
    Learning
    Mood
    Good

    Why does Go not have a framework?

    This was something that I've been asking myself while migrating the backend system for TaskSnipe, from Javascript (Which i now realised was a bad idea cause it made me just want to get things working) to Go, initially I thought that Javascript was just the easiest way to go around it, I can just get features working without caring too much about the lower-level structure of backend.

    But now I realise that a lot of complexity hides behind frameworks, which isn't exactly the best for developer growth, even though it is definitely a stepping stone in trying to understand the higher level works of how things are connected. However, I believe that in order to truly understanding what is happening, we have to dive deeper. To be fair, this isn't exactly a rant about Javascript being bad, it's more like Javascript provides frameworks which makes developer life easier, but as engineers, something that's quite important as well is the understanding of what's happening under the hood.

    Stumbling into Go pretty much helped with that. At first, I kept searching for a Go equivalent framework, but over time I've come to realise that it's simply Go's (haha simplyGo) design philosophy. While Go does provide certain frameworks like Gin or Chi, it doesn't really feel like the language depends on them?

    Instead of everything being "Magic" something built to work, I get to define the rules and structure, which is something I really enjoy. Everything doesn't feel as much like a Blackbox, and it started feeling like something I own. Also Go packages are amazing man.

    All in all, I think the question to be asking is not "Why does Go not have a framework", but instead "How do I move from just getting features to work to understanding the architecture behind them?"

    Tags

    • Go
    • Backend
  4. 010
    Project
    Portfolio
    Mood
    Breakthrough

    Started making this portfolio less template-ish

    After staring at the homepage for too long, I realised some parts just felt a bit lacklustre? The devlogs felt more like me, so I started using that as the north star I guess.. anyways React Doctor gave this portfolio code a score of 60 so I thought it'll be good for me to improve it.

    Tags

    • Portfolio
    • Content
    • Refactor
  5. 009
    Project
    Portfolio
    Mood
    Good

    Found this tool called React Doctor

    I was scrolling Instagram and found this CI tool called React Doctor. I got intrigued, got distracted from my main task, and side quested again by running it on this portfolio repo. Unfortunately it only runs on new PRs in CI, but you can also run it in terminal. It gave me a 60-something score, so I am not too happy about that and will be spending some time cleaning the code up.

    Tags

    • React Doctor
    • CI/CD
    • React
  6. 008
    Project
    Obby
    Mood
    Grind

    Went down another rabbit hole

    I developed yet another mini project instead of focusing on the main ones. It is a terminal-based Python app that reads markdown notes and generates a TODO list from what is written there. The design philosophy is deterministic tasks first, LLMs only as a last resort. Initially I built it to explore MCP servers and local LLMs, but somehow I ended up deep in customisation, making the script run exactly how I like it while keeping it modular enough for others. Long-term goal: local MCP server, write-back support, and maybe rewriting it in Go if installation becomes annoying.

  7. 007
    Project
    Portfolio
    Mood
    Good

    Updated Portfolio after neglect

    Updating my portfolio again after leaving it neglected for about 2 months, cleaned up skills section, added BefriendersCircle, added more devlogs that were here, but I never got around to committing them, and.. would get around to adding my other mini projects here soon.. when they're at least more presentable .-. Oh also another TODO: add icons to skills so they look less basic.

    Tags

    • Next.js
    • TypeScript
  8. 006
    Project
    Backend Notebook
    Mood
    Grind

    Trying to rebuild foundations for Go backend

    Started building a small Go backend project to understand how APIs are structured outside of the usual JavaScript/TypeScript comfort zone. I worked on simple restaurant and menu endpoints, played around with Gin, and slowly got used to handlers, structs, JSON responses, and route parameters. It's a really tiny project, but I plan to expand it while I build my fundamentals. Also, while doing this I stumbled upon docs for Effective Go, its very useful.

    Tags

    • Go
    • Gin
    • REST API
    • Backend
  9. 005
    Project
    Learning
    Mood
    Grind

    Finally understood(?) Raft and how it works

    I spent the past week trying to catch up with Distributed Systems module here at CUHK, and for my final assignment I'm supposed to build Raft using Go. Tbh, I thought Raft was super scary initially, until my professor started talking about leader elections and how to decide if we're going to McDonald's or KFC, and using analogies like this to make things more approachable. I will say I think I understand it more now, and that I've managed to pass the test cases in the Raft assignment. Unforuntately due to policies I'm unable to show the code out here, but all in all, my main takeaway is 'Everything is simple as long as there's no failure' and that sendHeartBeats() needs very specific timing and can't be sent at random.

    Tags

    • Raft
    • Go
    • Distributed Systems
  10. 004
    Project
    Portfolio
    Mood
    Grind

    Made minor fixes and changes to the photo section and navbar.

    Was told that the cat is annoying, so i made it so when you click on it it goes to the bottom right corner. Click it again and it'll start following your cursor again. Also made the photo section have 2 columsn on mobile phone so it isn't as flat, added more photos while I'm at it, and made the navbar a hamburger menu on phone so people visiting this website on phone can navigate without cluttering the top of the screen. TODO: dig out my other mini projects and photos when i have time T^T

    Tags

    • Next.js
    • TypeScript
    • Refactor
  11. 003
    Project
    Portfolio
    Mood
    Grind

    Added a photos section to this portfolio, and a cat :)

    Added a photo section as well as a few of the photos I've taken in Japan, Taiwan and Hong Kong, this section was inspired by pinterest, so the grid layout followed the masonry grid layout that pinterest has as well. Referenced code from oneko.js, and added a cat that follows ur cursor (which is a fish I drew), you can also drag and drop the cat and the cat will fall to the end of the page. Really fun

    Tags

    • Next.js
    • TypeScript
  12. 002
    Project
    Portfolio
    Mood
    Grind

    Refactored the entire portfolio

    Spent the day finally getting rid of my 1400++ line page.tsx by refactoring them into proper components. Also extracted all hardcoded data into data/ files so I never have to touch component files just to update content yayy!! This took forever, and should've been done wayy earlier, past me was insane for writing the code all in one page T^T. Also I added devlogs and mini projects yay!! FUTURE ME: ADD BLOG AND PHOTO(?) SECTIONN

    Tags

    • Next.js
    • TypeScript
    • Refactor
  13. 001
    Project
    isItVegetarian
    Mood
    Good

    Added barcode scanning to isItVegetarian?

    Started out my afternoon by finishing up the weekend project, yes its Tuesday so its not really a weekend project anymore, but I managed to finish and deploy it so it works on mobile! Next weekend (hopefully) it'll be time to add feedback and adding of food items to OpenFoodFacts

    Tags

    • React
    • TypeScript