Posts
All the articles I've posted.
Booleans Lie: Modeling State with Discriminated Unions in TypeScript
Updated:Three booleans give you eight states when you only meant four. Discriminated unions make the illegal ones unrepresentable — model a value as exactly one of a fixed set of shapes and let TypeScript hold you to it.
Errors Are Values: Functional Error Handling in TypeScript
Updated:Stop throwing, start returning. Model failure as a value with Result, compose fallible steps on a railway, make illegal states unrepresentable, and let TypeScript force you to handle every error — no try/catch required.
Parse, Don't Validate: Making Bad Input Impossible in TypeScript
Updated:Stop checking the same field in fifteen places. Parse untrusted input once at the boundary into a type that can't be invalid — validation forgets what it learned, parsing keeps the proof in the type — and every downstream check disappears.
Six Functional Patterns to Stop Writing Java in JavaScript
Updated:Six concrete moves that turn functional thinking into TypeScript you can ship on Monday — pipelines over loops, expressions over statements, immutable updates, higher-order functions, composition, and closures over classes — refactored on a real orders view.