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.

EffectTypeScriptFunctional programmingArchitecture

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.

Spreadsheet agentsbiligWorkPaperAI systems

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.

biligSpreadsheet agentsWorkPaperTypeScript

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.

TemporalBunProtobufTypeScript

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.

TemporalBunEffectTypeScript

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.

Next.jsVercel AI SDKAITypeScript

Kubernetes Installation in Harvester

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

KubernetesHarvesterRancherGitOps

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.

RailsGraphQLRubyAPI

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.

NxMonorepoNext.jsVercel

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.

Next.jsTailwind CSSTypeScriptFrontend

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.

Tailwind CSSNext.jsStyled ComponentsArchive