Engineering notes
Writing on resilient platforms, AI workflows, and product-minded engineering.
Practical notes from building cloud platforms, developer tools, and applied AI systems for startups and enterprise teams.

Idiomatic Effect in TypeScript
How to structure idiomatic Effect code with pure domain decisions, typed failures, focused services, Layers, retries, and one runtime boundary.

Spreadsheet agents need a transaction log, not a screenshot
Why spreadsheet agents need operation logs, authoritative readback, rendered proof, and undo receipts before their edits can be trusted.

Inside Bilig’s verification path for spreadsheet agents
How Bilig verifies spreadsheet-agent edits with typed workbook operations, authoritative readback, persistence, rendered freshness, and corpus tests.

Why the Temporal Bun SDK uses Bun and protobufs directly
Why the Temporal Bun SDK moved away from the old Zig bridge experiment and toward Bun, generated Temporal protobufs, replay evidence, and production gates.

Temporal Bun SDK reaches 0.10.0
A dated release narrative for @proompteng/temporal-bun-sdk 0.10.0, including its Bun-native worker, replay gates, readiness evidence, and support tradeoffs.

Vercel AI SDK with Next.js
A version-pinned AI SDK 6 and Next.js App Router setup for streaming chat, schema-validated output, server-only keys, and explicit failure states.

Kubernetes Installation in Harvester
A Harvester v1.8 homelab guide covering bare-metal installation, Rancher import, RKE2 provisioning, smoke tests, storage, and troubleshooting.

Rails with GraphQL
A version-pinned Rails 8.1 API setup with PostgreSQL and GraphQL Ruby 2.6, from the generator through one complete query and production limits.

Nx and Next.js: the deployment edge I hit in a monorepo
A field note on using Nx for React and Next.js monorepos, including the Vercel project-root and generated-config tradeoffs.

A small Tailwind CSS 4 setup for Next.js
A practical Tailwind CSS 4 and Next.js App Router setup with PostCSS, theme variables, source detection, typography, and a complete starter page.

Tailwind CSS with Next.js and Styled Components: an archived setup
A June 2021 walkthrough of Tailwind CSS 2, twin.macro, Next.js, and Styled Components, preserved for maintainers of older projects.