Skip to content

Thinking

Technical articles on AI, development tools, cloud architecture, and software engineering.

DynamoDB single-table or Postgres? How we chose, per workload, and where we got it wrong
Development

DynamoDB single-table or Postgres? How we chose, per workload, and where we got it wrong

The DynamoDB versus Postgres debate is usually argued as a religion. One side says relational data belongs in a relational database and single-table design i...

Docker images for Node in 2026: multi-stage, distroless, and the 1.1 GB image that became 140 MB
Development

Docker images for Node in 2026: multi-stage, distroless, and the 1.1 GB image that became 140 MB

The first Dockerfile in most Node projects is eleven lines long, starts from node:20, copies the repository, runs npm install and npm run build, and ships. I...

A monorepo with three apps: how we build only what changed, and got the pipeline from eight minutes to three
Development

A monorepo with three apps: how we build only what changed, and got the pipeline from eight minutes to three

Three Next.js applications, four shared packages, one repository. That's the shape of the platform we run for a US client, and it's the right shape: shared t...

Build-time vs runtime config in Next.js on containers: the bug that took two deploys
Development

Build-time vs runtime config in Next.js on containers: the bug that took two deploys

We flipped a feature flag. The flag was an environment variable on the App Runner service, NEXT_PUBLIC_NEW_CHECKOUT=true, changed through CDK, deployed clean...

How We Rescue & Refactor — Fixing Legacy Code Without Starting Over
Development

How We Rescue & Refactor — Fixing Legacy Code Without Starting Over

Got legacy code? Slow app? We diagnose, fix, and modernize existing systems — often faster than building from scratch.

How We Build Web Applications — Fast, Full-Stack, Production-Ready
Development

How We Build Web Applications — Fast, Full-Stack, Production-Ready

Our process for building custom web applications with React, Laravel, and Next.js — from architecture and build to production deployment, end-to-end.