Articles

2025: I Shipped 3 OSS Projects — “This Was Actually Fine”

Introduce is-kit, changelog-bot, and divider as my open source projects in 2025.

I Tried Reading React's Source Code and Flow Beat Me Up. So Let's Learn 🚀

Flow basics and type checking for reading React source code. Such as mixed, empty, and more.

Generate CHANGELOG.md Automatically 🤖

Introduce changelog-bot, a tool that automatically generates a polished CHANGELOG.md from your release notes! 🚀

Understanding Variance in TypeScript: Flow, Covariant, Contravariant, Invariant, Bivariant

A deep dive into variance concepts in TypeScript and their practical implications

Escaping the Forest of if Statements🌲

Building Logical Type Guards with is-kit

Compose Type Guards Like Building LEGO Blocks: Reusable Logic with is-kit

Design TypeScript type guards as reusable, composable building blocks using is-kit

Introduce my favorite frontend library: mise / Typedoc / tsd

An introduction to my favorite frontend libraries and their use cases

Introduce is-kit

An introduction to the is-kit library and its features

Technical Debt Grows from “Just for Now” — A Real-World Code Walkthrough

Understanding the fundamentals of technical debt

How Does Technical Debt Pile Up? — Looking at “Just for Now” Examples (Structure Edition)

Analyzing the structure of technical debt in software projects

What the Heck is Technical Debt?

Examining code-level technical debt and its implications

Introducing `divider`

A handy utility to split strings and arrays

FSD * LangChain * Remix * AI portfolio site

How to build a portfolio site using FSD, LangChain, Remix, and AI

FSD (Feature-Sliced Design) overview

An overview of Feature-Sliced Design principles