Type something to search...

Dev

Zod, OpenAPI, and Swagger for API Contracts

A public API is not just backend code. It is a product surface for another developer. That means the contract has to be readable. It also has to be enforced at runtime. Types in the app are useful, b

read more

pg-boss for Durable Background Jobs

The customer problem was not "we need a queue". The problem was that a slow operation made the user wait with no clear answer. That distinction matters. A queue is an implementation detail. The produ

read more

Prisma and PostgreSQL as the Product Source of Truth

I do not think of PostgreSQL as only infrastructure. In a product app, it is where the product remembers what happened. That makes database design a product decision. I

read more

React Router for Full-Stack Product Workflows

A route is not only a URL. In a product app, a route often represents a task the user is trying to finish. That sounds obvious, but it changes how I design the code. A settings page that starts an im

read more

Input Chinese pinyin with tones on Linux with fcitx

The goal is to type pinyin with tone marks directly from the Linux input method: nǐ hǎoThe schema I used is [rime-lumen-pinyin](https://github.com/williampan/rime-lumen-pinyin/tree/mast

read more

Use Pocket (read it later) on KOReader

Pocket does not integrate with KOReader directly, but news2reader can expose Pocket articles as an OPDS catalog. Useful links:[MobileRea

read more