Hello! This is Lei Huang
I taught myself programming and made it my career a few years ago. I have three years of fulltime working experience as a front-end developer, including one year at Alipay. Before that, I was a content marketing specialist at a sales company.
I constantly seek opportunities to learn and to hone my skills. I’m now focused on design systems and JAMstack.

Why I Quit Social Media and News Apps


Earlier this year, as I was reflecting on the recent happenings in my life, I was shocked to find out how many unresolved plans and todos I had. My planning and scheduling system was never fully functional. Often, to get the most urgent things done…

Typewriter Effect With RxJS


Background I recently rewrote my blog website from scratch in Gatsby. This time, I didn’t use a starter template, so I had to make a lot of design decisions. When I wrote the bio section on the home page, initially I put a long heading there as a one…

Implementing A Trie In JavaScript

triedata structure

Recently, I encountered a situation where I need to perform text searches in a large set of data. Normally, I would do it in a filter function, but that would be slow when the list is too long. There's a data structure for this situation. Meet the…

Introduction to Lenses in JavaScript

When I was reading Eric Elliott's article on Lenses , I was curious about how such beautiful magic can be fully implemented in JavaScript. It was a tough exploration. Many of the tutorials online are about Haskell, which cannot be easily translated…

Parabolic Curve Animation With RxJS

I came across this article (written in Chinese) the other day. It was about parabolic curve animation in vanilla JS. I wondered how RxJS can implement this. This article is the result of my investigation. Imagine we take a perspective from a slow…

How to Write Recursion Like A Pro

When I started learning programming, one of the most confusing concepts I encountered was recursion. Now, when I finally become the pro programmer who I wished I could be when I was a newbie, I feel that these confusion and struggles are unnecessary…

Understanding Blockchain By Writing One With JavaScript


Blockchain technology is widely discussed in the tech community, as well as in the mass media. The buzzwords in the media makes blockchain seem like a cutting-edge technology that only trained experts are able to understand. However, we don't need to…

Turbo Charge MongoDB Query Speed With Redis


I've been working with MongoDB for a while. For most of the part, I like it. The syntax is expressive and simple, which makes it very friendly for new developers. After working with it for a while, I gradually realized that some queries are expensive…

Understanding Nodejs Event Loop

It took me a while to understand how NodeJS achieves non-blocking IO within one single thread. The misconception about NodeJS being single-threaded is what causes my confusion. In this post, I'll demonstrate that NodeJS is not completely single…

Design and </> with ☕ by Lei Huang
© 2018 - 2020