Skip to content
Journal

DevOps

6 posts
  1. The Senior Frontend Engineering Blueprint, Part 8: Testing the App Router with Vitest, Playwright and Visual RegressionA green Vitest suite that calls render() on an async Server Component is either a compile error or a false positive. Here is the real testing pyramid for the Next.js App Router — Vitest, MSW v2, mocked Prisma, and a Playwright setup project that logs in once for the whole suite.EngineeringFrontend13 min
  2. Automating App Store and Play Submissions: What the APIs Will Do, What They Silently Refuse, and the Guideline That Punishes SuccessShipping thirty-four apps through two stores from a terminal taught me that the build is the easy fifth of the problem. The hard parts are a write that returns 200 and stores nothing, a screenshot rejected after it uploads, and a spam guideline that gets stricter the better your automation works.AutomationDevOps13 min
  3. Self-Hosted SSO: Wiring authentik to Next.js 16 and Auth.js v5, Including the Logout That Does Not Log OutPutting an identity provider you own in front of your own applications is a weekend of work and a decade of consequences. Here is the whole mechanism — the discovery document, the id_token, the encrypted session cookie — and the single logout that Auth.js cannot perform at all.EngineeringSecurity13 min
  4. Self-Hosting Coolify: Migrating Real Apps, Wiring Cloudflare and What Build-on-Push Actually DoesCoolify gives you a Heroku-shaped button on a box you own. It is worth it — but only once you understand that you have not bought a platform, you have bought a generator for Docker and Traefik configuration, and it is Docker and Traefik that will page you.EngineeringDevOps13 min
  5. Autonomous CI/CD: Letting an Agent Triage the Build Without Letting It ShipMobile release engineering is mostly the same six failures on repeat — a provisioning profile, a Gradle version, a flaky simulator. That is exactly the shape of work an agent is good at, provided you are ruthless about which half of the pipeline it can touch.AutomationCI/CD7 min
  6. Hardening Agent Sandboxes: MicroVMs, gVisor and WebAssembly for Untrusted CodeAn AI agent running shell commands is an arbitrary code execution primitive you installed on purpose. Here is the isolation ladder — container, gVisor, Firecracker, WebAssembly — what each one actually stops, and what it costs per sandbox.AIAgents7 min