Running a SPA inside ChatGPT using MCP Apps (Step-by-Step Guide)”
How to run a Single Page Application (SPA) inside ChatGPT using MCP Apps, with a step-by-step guide.
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