Posts tagged with #TypeScript
14 posts

TypeScript Intersection Types: When They're Your Best Friend, and When They're Quietly Lying to You
Intersection types in TypeScript seem simple: combine two types. But what happens when those types have overlapping properties with different definitions? TypeScript won't always warn you, leading to silent failures that can be incredibly hard to debug. I'll show you when they work perfectly, when t

ElectricSQL: When Your Database Needs to Live on the Edge, Offline-First
Building a truly offline-first application that feels instant, even with complex data, is a monumental task. ElectricSQL promises to make this a reality by extending your Postgres database directly to the client, keeping everything in sync and highly available.

When Your API Contract Becomes Your Type System
Schema validation is often an afterthought, bolted on at the edge of your application. But what if your validation library could deeply integrate with TypeScript, generating types directly from your schemas? Zod changes the game by making your runtime validation the source of truth for your static t

When Your Database Needs a Type-Safe, Object-Oriented Interface
Working with raw SQL or query builders in TypeScript projects often feels like a constant battle against type mismatches and runtime errors. TypeORM offers a robust solution, providing a type-safe, object-oriented way to interact with your database, bridging the gap between your application's domain

TypeBox: Type-Safe APIs Without the Boilerplate
I've always found schema validation to be a necessary evil. You need it for data integrity, but writing and maintaining it often feels like a chore, especially when you're also defining TypeScript types for the same data. TypeBox aims to solve this by letting you define JSON Schemas and get TypeScri

TypeScript Type Challenges: Beyond the Basics, Training Your Type-Level Brain
TypeScript type challenges aren't just for showing off; they're a powerful way to truly understand and master the TypeScript type system. Stop copy-pasting utility types and start building them yourself.

Playwright: Beyond E2E Tests, Automating the Browser for Real Work
Playwright is often seen as just a testing tool, but its true power lies in its robust API for general browser automation. I'll show you how to leverage Playwright for tasks far beyond QA, from data extraction to complex user workflows.

Form Validation: Treat Rules as Domain Logic, Not Framework Magic
We've all been there: another form, another npm install for a form library. But what if we're overcomplicating something that's fundamentally just business logic?

Form Validation: Back to Basics, Beyond the Framework
We've all been there: a new form appears, and the first instinct is to pull in a heavy validation library. But what if we treated validation as core domain logic, independent of our UI framework? It turns out, that's often a simpler, more robust path.

TypeScript and ESLint: Stop Guessing, Start Enforcing
It's easy to assume TypeScript catches everything, but ESLint still plays a crucial role. Learn how typescript-eslint supercharges your linting with type-aware rules, preventing subtle bugs and enforcing better patterns.

Taming the Monolith: Refactoring a 7,558-Line Constants File
We've all been there: a codebase where a single file grows into an unmanageable monster. This post digs into the 'why' and 'how' of refactoring a colossal constants file, moving beyond just splitting it up to genuinely improving maintainability and developer experience.

Ink: When Your CLI Needs a UI, But You Still Want React
Building interactive command-line applications often means wrestling with low-level terminal escape codes or brittle libraries. Ink offers a fascinating alternative, letting you leverage your React skills to build rich, dynamic CLIs.

Plate: A Modern Rich-Text Editor That Doesn't Make You Want to Scream
Integrating rich-text editing into web applications has always been a painful experience. Plate aims to change that by providing a powerful, extensible, and beautifully integrated solution, especially when paired with modern UI libraries and AI.

Zod: Type-Safe Runtime Validation Without the Boilerplate
We've all been there: meticulous TypeScript definitions, only for runtime data to betray them. Zod bridges this gap, giving you powerful, type-inferred runtime validation with minimal fuss. This isn't just about catching errors; it's about simplifying data contracts across your stack.


















