// writing
Writings
Technical writing on distributed systems, TypeScript, React, and production-grade software architecture.
Spec-Driven Development with Claude Code in Enterprise Systems
After months using Claude Code on enterprise banking infrastructure, here's the actual workflow — not the demo version. Specifications, governance, limits, and what genuinely changes when AI becomes part of your engineering process.
How We Scaled Onboarding Architecture in Enterprise Banking
Three years engineering a shared digital onboarding platform across four financial products at Scotiabank CCAU. The architecture decisions, the failure modes, and the operational lessons that don't fit in a README.
Spec-Driven Development: Writing the Blueprint Before the Build
The quality of AI-generated code is bounded by the quality of your specification. Here's the practice that changed how I use AI tools in production engineering.
Six Months with Claude Code: What Actually Changed
Not a tutorial. An honest assessment of how Claude Code changed my daily engineering workflow — what it improved, what it didn't, and the mental model shift it required.
Staff Engineering: Making Decisions That Outlast You
The hardest part of the Staff level isn't writing better code. It's making architectural decisions that remain legible and defensible after you've left the team.
Form Architecture in High-Compliance Frontends
Forms in banking aren't UI components — they're compliance interfaces with a UI layer on top. Here's the architecture that handles it without coupling business rules to your components.
Hexagonal Architecture in TypeScript + React: A practical guide
How to apply Domain-Driven Design and Hexagonal Architecture in a real React TypeScript project — ports, adapters, use cases and clean boundaries.
The Hidden Cost of Shared Components in Multi-Product Banking
Building a shared React component library for financial products sounds straightforward. After two years delivering it across four products at Scotiabank, here's what actually happens.
How to Integrate OpenGraph in React to Boost SEO and Social Sharing
A practical guide to implementing OpenGraph meta tags in React with react-helmet — improve how your pages appear on Twitter, LinkedIn, and Facebook.
How to Merge a Git Feature Branch with a Squash Commit
Keep your main branch history clean by squashing a feature branch's commits into one before merging — step by step with a reusable shell script.
Custom Hook to Manage API Requests in React
Stop repeating useEffect + fetch boilerplate in every component. Build a reusable useAPI hook that handles loading, error, and data states in one place.
Using TypeScript in a Node.js Project
Set up TypeScript in an Express project from scratch — tsconfig, type-safe request handlers, build scripts, and the patterns that make it worth the setup.