My 2023 H2
๐ช 2023 H2 Retrospect
2023, especially the latter half, flew by in a whirlwind. The biggest update is undoubtedly the progress on the Over Protocol blockchain mainnet, to which my company has been contributing. In July, after nearly 700,000 pre-registrations, Over Wallet launched and quickly surpassed 5 million users, drawing significant market attention. Initially named Project P-over, the project went through two test phases and emerged as OverNode.
OverNode is the project I've invested the most time and effort into. Itโs a desktop-exclusive app that enables anyone to operate a blockchain node on their home PC and participate as a validator to contribute to the network. In October, we ran a closed beta for selected users, followed by an open beta in December, available to all Over Wallet users. With the official release planned for this year, weโre still working to make the app more robust.
Following my mid-year retrospective (2023 H1), I'm a bit late but finally wrapping up 2023 with a year-end summary. I set multiple goals, and Iโm personally proud to have achieved about half of them. I kept a lot of notes, both personally and within the company, but I regret not refining them enough to share externally. I'll try to put in more effort on that front this year.





Various notes and recordsโฆ (KO)
๐จโ๐ป As an engineer
In the first half of 2023, I focused on studying and familiarizing myself with the tools needed for frontend development. The second half, however, was about applying what Iโd learned in real-world scenarios and diving deeper. As we delivered an actual product to users, I gained experiential insights into what works well and what doesnโt, both at the code level and the infrastructure level.

The project I devoted the most time to was OverNode, as mentioned earlier. In addition, I worked on the Over Protocol landing page and the blockchain explorer, OverView. All three products have either been publicly released or are in the process of being made public, allowing us to receive real-time feedback. You can find my retrospective as a product builder below.
I think I can categorize a few key themes.
1๏ธโฃ Electron & Node.js

OverNode is a desktop app built using the Electron framework. Since it runs on a Node.js environment, I worked not only on the appโs frontend (known as the Renderer process in Electron) but also on the backend (called the Main process in Electron). In fact, I spent more time figuring out how to fetch data on the backend and manage multiple processes than on styling and creating React components.
As a result, I encountered a variety of libraries beyond the React-centric ones typically used in frontend development, and I felt I became more familiar with the JavaScript ecosystem. Some libraries I integrated include async-mutex (to resolve race conditions in asynchronous operations), find-process (for searching processes by PID, etc.), and node-cache (for memory caching).
As I became more comfortable with Node.js and JavaScript, I was able to automate tedious tasks through well-designed scripts. Itโs been personally satisfying to see JavaScript not just as a tool for UI development but as a versatile programming tool in its own right.
2๏ธโฃ Clean code
As the project grew in size and features were added, additional layers increased its complexity significantly. This led to minor bugs from hard-to-read code, and time spent re-understanding existing code to fix these bugs increased. I started thinking more about how to write clean, readable code to address these issues.
Rough notes on the thoughts and challenges encountered during development

A turning point for me was being introduced to functional programming through an in-house study group. We explored the book Grokking Simplicity, which, rather than diving into complex terms and concepts like monads and currying, emphasizes "thinking like a functional programmer" as its priority. The approach encourages dividing app layers by purpose, where functions in each layer should only call functions from the layer directly beneath them. When mapping out a call graph for functions, if a function skips layers or calls higher-level functions, these become prime targets for refactoring.
Reading this book didnโt immediately elevate my code quality, but it did change how I view thingsโbreaking the world down into layers based on purpose. It feels like Iโve gained a new framework for thinking.
3๏ธโฃ Infra
Since I've been handling deployments fairly often, I'm still learning but getting a taste of AWS and GitHub Actions. Previously, I had only simple experiences, like one-click linking a GitHub repo with Vercel for deployment. Now, setting up buckets, adding a CDN, and connecting domains within AWS has given me a better sense of the process. Iโd like to develop the ability to understand and utilize AWSโs vast range of services effectively.
I also invested considerable time in the error-logging platform Sentry. With numerous throw statements scattered throughout the code (plus the appโs increasing complexity), there was a period where we were overwhelmed with error logs. Things are more organized now, and this process has provided insights, particularly into the diverse errors occurring on various devices. Notably, there are a few obscure errors on Windows, which Iโll tackle as a challenge for 2024.
4๏ธโฃ Bleeding edge
In my last retrospective, I mentioned my interest in React's latest push towards server components. Personally, I'm very interested in the latest trends in rendering, so Iโve been consistently tracking developments in this area.
However, adopting the latest technologies often brings side effects, something we jokingly refer to as the "paradox of new tech" within our team. New solutions frequently introduce drawbacks, but articles or videos that introduce these innovations usually highlight only the advantages. This can sometimes dull our awareness of potential downsides when researching new technology. Moreover, even if something new is inherently beneficial, itโs crucial for the whole team to become familiar with and agree on its use to ensure itโs applied effectively.
It may be tempting to introduce new methodologies in a new project, but blindly replacing existing, functional code without considering why the new approach is necessary isnโt ideal.
โ๏ธ As a product builder

Going through a full product cycle, I also experienced service deployment. I expected to feel nervous, given it was my first deployment, but I was too busy handling the flood of issue reports before and after the release to even think about it!
As the app reached users, I saw a range of reactions on platforms like X, Discord, and Telegram. Many users resonated with the values we aimed to convey, which was rewarding to see. Of course, there were also plenty of complaints about bugs, but responding to every unique scenario users encounter is challenging. I learned the importance of always having a mindset of "What if this doesnโt work as expected?"
I also took on some minor planning tasks. As we transitioned from closed beta to open beta, we needed to automate bug reporting to handle the anticipated surge in user numbers. Reflecting on the closed beta experience, I defined a schema for what should be included in bug reports and shared ideas on design direction, inspired by the reporting UI in Arc, which I find incredibly useful.
Bringing a product to completion required collaboration with numerous people. Particularly with blockchain products, itโs essential to communicate complex and unfamiliar technical concepts to users in a convincing way. Working on the frontend, I often found myself bridging these concepts for others. While I enjoyed the collaboration, I also reflected on the role I can play best in this process. Even if I donโt have deep technical expertise, I seem able to quickly digest information and present it clearly, which might be my strongest contribution.
โ๏ธ As a student
At work, Iโm steadily acquiring new knowledge through a casual development study group. So far, we've skimmed through three different books.
- Design Patterns โ I got a basic overview of commonly used patterns in OOP.
- Grokking Simplicity โ This introduced me to functional programming, a topic Iโd like to explore further.
- HTTP: The Definitive Guide โ It feels like an encyclopedia of HTTP, making it a bit dry, but it helped clarify vague concepts (e.g., cookies) I previously knew only by name.
I took on the role of vice president for KAIST's blockchain society, Orakle. In the latter half of the year, work kept me busy, so I couldnโt dedicate as much time to team activities in the society as I would have liked. Iโm currently working on publishing my study of the Ethereum Beacon Chain and roadmap in the form of a Canon. (Ethereum Roadmap Canon)
The deeper I delve into Ethereumโs consensus structure, the more fascinating it becomes. You can see the thought researchers have put into how a desirable network can be formed with so many participants. The incentive structure is complex, yet itโs intriguing how each parameter (e.g., the requirement to deposit at least 32 ETH to become a validator) has a rationale behind it. However, the available study resources are limited, so I focused on thoroughly reading eth2book as my primary source.
๐คฉ Looking forward to an even more exciting 2024

2023 was a personally fulfilling year for me. Exactly a year ago, I joined a growing company at just the right time, and through a wealth of experiences, I felt significant personal growth. I'm incredibly grateful to have had these opportunities through Superblock!
Iโm excited to see what 2024 has in store. For now, Iโve extended the leave of absence Iโve been on this past year. With the recent lift on the schoolโs leave restrictions, it looks like Iโll have more time to gain practical experience in the professional world.
This year, with the launch of Over Protocolโs mainnet, several of the products Iโm responsible for are also expected to be officially released to the world.
As I enter my second year as a developer, I'm grateful that this line of work suits me better than I expected. I hope 2024 will be a year of further growth in my abilities as a developer. Like in RPG games, frontend developers need to find their niche and develop their specialty. I envision building strengths in engineering and mastering the tech needed to quickly implement high-quality products. Ideally, Iโd like to be skilled across fields, so I plan to explore and study a bit of everything.
LinkedIn | Github | X(Twitter)
Quien busque equipaciones de fรบtbol para niรฑos puede reducir dudas comprobando la correspondencia entre talla infantil y medidas reales. Como comprobaciรณn final, conviene asegurarse de que el tejido sea adecuado para uso frecuente.