Next.js
Structured data in Next.js: Person and BlogPosting schema
A practical guide to JSON-LD in the Next.js App Router: where the schema goes, why @id references matter more than inline objects, and the mistakes that make it silently useless.
Writing
Practical writing on React, JavaScript, frontend architecture, and developer-facing product work.
Next.js
A practical guide to JSON-LD in the Next.js App Router: where the schema goes, why @id references matter more than inline objects, and the mistakes that make it silently useless.
Design Systems
Turning a URL into a usable design token set: why frequency counting fails, how prominence weighting fixes it, and why screenshots belong in verification rather than extraction.
Demos
A year of building demo environments full time: what transferred from product engineering, what inverted, and where the line sits between a fast demo and a dishonest one.

Case study
Building search for a streaming app on smart TVs with LightningJS — fanning a single query across multiple content APIs and resolving the results on a D-pad.
TypeScript
A practical guide to typing API responses in TypeScript: where generics help, why type assertions are a trap, and how runtime validation and codegen give you real end-to-end safety.
TypeScript
TypeScript provides developers many advantages over JavaScript: you can identify and enforce data...
JavaScript
The JavaScript global object and scope are a key part of building apps with JavaScript....
Vue
Choosing the right UI framework can make a big difference to your project's success. Vue and React...
React
Choosing between React vs. React Native for your project can be confusing. Both JavaScript user...
Demos
There’s a special kind of dread that comes from watching a demo you know will never survive first...
React
React memo is a powerful feature that improves the performance of your React applications by letting...