nyaomaru cursor

Articles

Handling `unknown` in TypeScript… isn't it painful?

Handling the `unknown` type in TypeScript can be challenging. This article explores the difficulties and provides insights on how to effectively work with `unknown` using is-kit.

is-kit vs Zod: A Practical Comparison from 3 Perspectives

A practical comparison of is-kit and Zod from three different perspectives, highlighting their strengths and weaknesses. Where do you enforce type safety in your design?

Building a Browser Game with React: What Doesn’t work well (Run Away From Work)

I built a browser game called “Run Away From Work” using React. In this article, I share the challenges I faced and what did not work well during the development process.

Run Away From Work — Stopped Using React for the Game Loop

Run Away From Work is a browser game built with React. This article shares the journey of optimizing the game loop by moving away from React, and the lessons learned along the way.

I Built a “Run Away From Work” Browser Game with React and TypeScript

A browser game where you play as a character trying to escape from work, built using React and TypeScript.

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