Dev
Zod, OpenAPI, and Swagger for API Contracts
- Jiyu Yan
- Engineering
- 13 Jun, 2025
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 morepg-boss for Durable Background Jobs
- Jiyu Yan
- Engineering
- 09 May, 2025
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 morePrisma and PostgreSQL as the Product Source of Truth
- Jiyu Yan
- Engineering
- 04 Apr, 2025
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 moreReact Router for Full-Stack Product Workflows
- Jiyu Yan
- Engineering
- 28 Feb, 2025
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 moreInput 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 moreUse 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 moreCategories
Tags
- Astro
- Documentation
- Writing
- Codex
- Tmux
- Ssh
- Tailscale
- Termius
- Java
- Design patterns
- Python
- Array
- Leetcode summary
- Backtracking
- Dfs
- Bfs
- Binary search
- Bit
- Dp
- Graph
- Linked list
- Hash table
- String
- Trie
- Localization
- Product engineering
- Ux
- Ai
- Mcp
- Product safety
- Api
- Openapi
- Zod
- Postgresql
- Background jobs
- Ui
- Drag and drop
- Prisma
- Data modeling
- Ai agents
- Typescript
- Automation
- React router
- Full stack
- Design system
- Tables
- Linux
- Input methods
- Rime
- Trackball
- Xorg
- Koreader
- Self hosting
- Vercel ai sdk
- Architecture
- Dependency cruiser
- Testing
- Vitest
- Playwright
- Warwick
- Hpc
- Data mining
- Data analysis
- Sensor networks
- Nlp