// Writing
Blog
Deep dives into architecture patterns, real-time systems, and the engineering decisions behind the projects I ship.
Building Scalable Systems with Domain-Driven Design
A practical, opinionated guide to using Domain-Driven Design to build scalable web systems with clear boundaries, strong domain models, and fewer framework-driven compromises.
February 15, 202610 min readdomain-driven-designcqrsevent-driven-architecturenextjsdjangoSEO with Next.js App Router
A practical guide to SEO in Next.js App Router, covering metadata, schema.org, sitemap and robots files, crawler behavior, and Core Web Vitals that actually matter in production.
August 5, 20256 min readnextjsseoapp-routercore-web-vitalstypescriptSupabase Row Level Security in Practice
A practical guide to Row Level Security in Supabase and Postgres, with opinionated patterns for policies, performance, and testing before shipping.
July 18, 20258 min readsupabasepostgresrow-level-securitysecuritytestingHandling Stripe Webhooks Reliably
A practical guide to handling Stripe webhooks reliably in a Next.js and TypeScript ecommerce app with signature verification, idempotency, retries, and production-safe event handling.
June 2, 20256 min readstripewebhooksnextjstypescriptpaymentsReal Time Features with Ably in Next.js
A practical guide to building real-time features in Next.js with Ably for live tracking, presence, and low-latency notifications without managing raw WebSocket infrastructure.
May 10, 20256 min readablynextjsrealtimeweb-socketsevent-driven-architectureCQRS in Next.js with mediatr-ts
Practical CQRS in Next.js with Server Actions, Route Handlers, and mediatr-ts, showing how commands, queries, handlers, and read models fit together in a real TypeScript app.
April 20, 20257 min readcqrsnextjsmediatr-tstypescriptevent-driven-architecture