Introduction
Alright, folks, it’s the end of 2024, and what a ride it has been. Looking back, this year was packed with projects, challenges, and late nights (shoutout to my two-job lifestyle, or maybe more?). Somehow, I survived it all, and here I am, writing this blog with a mix of exhaustion, pride, and a tiny bit of sleep deprivation. Let’s dive into the highlights, shall we?
Leveling Up Professionally
This year, I leveled up big time in the world of software engineering. Between juggling my two jobs, I managed to grow as a developer and expand my skillset.
At Komunal Indonesia, the projects got meatier, and I dove deeper into TypeScript, SQL wizardry, and improving our Business Intelligence processes. Working full-time as an associate after graduating last year was a different vibe altogether, but it was rewarding to see my contributions driving results.
On the other side, I continued to focus on building my side hustle empire. Let’s just say there’s something exciting about creating things you’re passionate about—whether it’s coding utilities, experimenting with creative software, or just messing around with frameworks like React Native and Flutter.
Tech debts and Unit Testing
This year, I also tackled tech debts head-on. I learned the importance of writing clean, maintainable code and the value of unit testing. It was a challenging but rewarding journey that taught me the power of testing and how it can save you from headaches down the road. I wrote the code using Jest for unit testing the Nest.js backend. The coverage was reaching 80%, and I was proud of it. Because it was a big project, I had to refactor some parts of the code to make it more testable. It was a great learning experience, and I will continue to improve my testing skills in 2025.
Sharing Text, Shortening Links, and Compressing URLs
Another cool project I worked on was a text-sharing website that embedded the data directly in the URL. It involved some neat tricks with compression and decompression to keep things efficient. Pairing that with a link-shortener service turned out to be a great combo, and I might even expand it further in 2025. I wrote the code using SvelteKit, and its architecture was a refreshing change from my usual React projects. I will explain more about it in a separate blog post, so stay tuned!
MobX and State Management
State management took center stage in my projects. Using MobX in a scalable React app taught me how to balance reactivity with simplicity. Breaking down complex data flows into observable stores helped streamline development and debugging.
Angular Projects
Revisiting Angular for a project this year was like catching up with an old friend. I implemented a dynamic navigation system using Route Guards and optimized lazy-loading for better performance. Working with SonarCloud also taught me the importance of clean, maintainable code.
Day.js and Time Management
Replacing Moment.js with Day.js became a personal mission this year. Calculating countdowns, formatting dates, and maintaining compatibility across apps was a rewarding challenge that deepened my understanding of libraries and their ecosystems.
React Native Adventures
I spent a significant chunk of this year tackling complex animations and UI transitions in React Native. A standout project was replicating the smooth expanding card effect from the App Store, using react-native-reanimated and react-navigation. Debugging those intricate animations taught me patience—and how crucial timing functions are.
I also worked on an editable FlatList with drag-and-drop features, implementing smooth item reordering and deletion. It was a masterclass in managing state and optimizing performance.
Game and Social Media: Creating Social Experiences with Socles
This year, I also dipped my toes into social game development. Inspired by games like “Truth or Dare,” I wanted to bring a modern twist to the classic concept. It’s incredible how something as simple as a game can spark connections between people. Developing the app pushed me to explore React Native deeper, including animations with react-native-reanimated and react-navigation for seamless transitions.
One of the features I’m most proud of was an expanding card effect—yes, like the App Store animations! It added a layer of polish to the app that really stood out. Working on this reminded me why I love coding: the ability to take an idea and bring it to life. Although it still has lots of room for improvement, I’m excited to see where it goes in 2025.
Balancing Work, Life, and Ambition
Juggling two jobs and personal projects this year hasn’t been easy. Late nights coding, editing YouTube videos, and planning the next big thing have become my routine. Sure, sleep took a hit (working on it!), but the rewards—a growing portfolio and invaluable experience—made it all worth it (is it?).
Special Thanks
This year wouldn’t have been the same without the unwavering support of my girlfriend, Tia. Through late-night debugging sessions, countless cups of coffee, and the occasional tech rant, she’s been my anchor. Her encouragement and belief in me kept me going even when things got overwhelming. Thank you for being my biggest cheerleader and for always reminding me to take a break (even if I didn’t listen every time). ❤️
Looking Ahead
As 2024 ends, I’m filled with excitement for what’s to come. I want to create a game, write more blogs, create more videos, and maybe even launch a full-fledged product. Whether it’s refining my skills in React Native, exploring Flutter Web further, or taking on something completely new, I’m ready.
So here’s to another year of growth, sleepless nights, and, of course, code. See you in 2025, folks. Let’s make it legendary.