2020 Year in Review — Tech Edition
2020 was quite a chaotic year, but spending more time at home also gave me the chance to try out and explore many different technologies. Here’s a recap of everything~
YouTube Channel
I started my own YouTube channel and uploaded a few videos between February and May on topics and projects I was interested in to test the waters. Later, I put it on hold because I couldn’t find an efficient workflow for video production.
Yukihiro Matsumoto — The Inner Workings of Programming Languages (言語のしくみ)
Around January and February, before the COVID-19 outbreak hit Japan, I spent about two or three weeks reading this book during my commutes. In it, Yukihiro Matsumoto introduces the core components needed to implement a programming language and builds a language called streem using yacc/lex.
Keeping an Eye on Svelte
I started following Svelte and wrote an article introducing it on my blog. There were still very few resources about Svelte in Taiwan, so I hoped to help raise awareness of it. Around mid-April, I contributed a PR. Later, I also chose Svelte as the topic for the iThome Ironman Contest.
Animal Crossing Catalog
Other Animal Crossing catalog websites were either plastered with interstitial ads or had terrible performance. To make looking things up easier when traveling to mystery islands, I built a lightweight version of an Animal Crossing catalog.
Self-Introduction
People usually fall into one of two categories when introducing themselves: those who can do it vividly and hype up the room, and those who end up causing awkward silences where nobody remembers anything and no one gets the jokes. Unfortunately, I belong to the latter. Out of options, I had to build a webpage instead.

Promoted to Tech Lead
For more details, check out this post — Some Reflections on Becoming a Tech Lead
Due to shifts in project scope and scale this year, my role went beyond development and involved a lot more interpersonal communication and coordination. Because the product involved more teams and organizations, the cycle for pushing anything forward grew longer. On top of that, since I was the only one on the frontend team relatively fluent in Japanese, communicating with other departments fell on me. I often felt the friction of constant context switching, and over time, it left me feeling like I didn’t even know what I was busy with. Perhaps one of my goals for next year will be better time management.
Technically, I didn’t make massive leaps—mostly just taking on more complex business logic, while only passively keeping an eye on new technologies. However, I’ve gradually built the habit of writing documentation and preparing state transition diagrams before undertaking major refactors or new features. This not only makes communicating with PMs much smoother, but also allows other developers to immediately grasp the correct logic from the state diagrams. Mentally, I’ve gained a clearer understanding that technology is ultimately just a tool for solving problems.
In terms of communication, I still feel there’s a lot of room for improvement: struggling to trust team members easily, letting known issues linger until having to scramble in panic at the end, and struggling with delegation. But I think this is a two-way street—if someone isn’t delivering results, takes forever to reply to messages, and doesn’t proactively report their progress, it’s genuinely hard for me to delegate responsibilities to them.
Playing with Sonic Pi
Sonic Pi is a tool for creating music using code. Many of its APIs are designed specifically for musical composition. I made a tutorial video on YouTube if you’re interested: https://www.youtube.com/watch?v=aTA5wWhvKAQ
- Gen Hoshino + Sonic Pi + Animal Crossing: https://www.youtube.com/watch?v=sQA_07z7LJE
- Dorian scale randomized with rhythm and kick: https://soundcloud.com/justkeiyi/dorian-fast
- Shape Of You: https://soundcloud.com/justkeiyi/shape-of-you-generated-sonic-pi
Playing with Arduino
At the beginning of the year, I bought an Arduino UNO, an Arduino Nano, and an Arduino Mega, though I honestly had no idea why I bought so many…
I messed around with sensors like LCD screens, temperature sensors, and so on. Throughout the process, I tried to avoid using libraries whenever possible, choosing instead to read the datasheets directly to understand how they communicate. For example, the DHT11 datasheet isn’t too complicated to implement. You can check out my implementation, though there’s always room to dig deeper.
Mid-year, I built an air quality monitoring application. It was also because I avoided using ready-made libraries (though MQTT and Wi-Fi were more complex, so I ended up using libraries for those) that I learned about UART interfaces and SoftwareSerial.
Later, I bought an EEPROM programmer and an ATMEGA328p (the MCU used by the Arduino UNO) for less than 100 TWD each and wrote C code to flash directly onto it. I really wanted to explore further, but unfortunately, my apartment isn’t big enough to fit so much hardware.
Data Visualization — Taiwan Sexual Assault Statistics
If you’re interested, you can check out the website. It took me about two weeks of on-and-off work, mostly spent collecting and cleaning the data. Svelte turns out to be quite handy for data visualization.
Build Your Own X
https://build-your-own-x.now.sh/
Turned the build-your-own-x repository into a web version for easier browsing.
Kotlin
Kotlin is a programming language I really enjoy. For some of my personal side projects, I build the backend directly in Kotlin. I love its concise yet expressive syntax, and I wrote an article about Kotlin DSLs — Lessons Learned from Kotlin: Kotlin DSL and Annotations.
Hosting a Small Meetup in Japan — React HAKATA
I’ve always wanted to connect with the developer community in Japan. Because of the pandemic this year, offline events were completely off the table, so I decided to try hosting an online meetup. Speaking Japanese for an extended period in front of a Japanese audience for the first time inevitably made me nervous and stumble over words, so I need to keep honing my Japanese to the next level. Surprisingly, the reception was quite good (Twitter), with concurrent viewers reaching around 50 to 60 people. I hope to bridge Taiwan and Japan in the future and facilitate more cross-cultural tech exchanges.
Related Posts
- 2025 Year in Review My wish for myself in 2024 was to avoid returning to a corporate job in 2025 while still being able to support myself. Although I didn't achieve that goal, I consider 2025 to be one of the biggest years of growth in my life.
- 2024 Year in Review & 2025 Outlook Instead of forcing myself to set rigid goals this year, I want to take a different approach to reflect on my 2024 and share my hopes for 2025. Moving forward to become a better version of myself.
- 2021 Year in Review I originally planned to organize everything I did this year and write a post about it, but after gathering my thoughts, I realized there wasn't really that much worth bragging about. So I decided to just record things casually like a running journal.
- 2021 Year in Review Perhaps having accumulated more experience, my perspective on things seems to have broadened. In 2020 and 2021, I began exploring a wide range of fields—such as Arduino, tinkering with Raspberry Pi, diving into AVR, picking up STM32 dev boards to play with, and learning PCB design and 3D printing. I hoped that beyond frontend development, I could integrate with other domains to create more of what I truly want to build. Now in 2022, after two years of exploration, I hope this becomes a breakthrough year where I can produce tangible results.