The Builder's Log

Devlogs, technical deep-dives, and lessons learned from building software and running Ball Lightning AB.

A Playwright test runner dashboard showing smoke test results for core routes: home, learn track hubs, lesson flow, arena, wiki, and directory

Issue #17 added a minimal Playwright smoke suite to complement unit/integration coverage. I built a cost-efficient browser test layer for checkpoint validation and future mirror sites.

April 22, 20266 min read
A validation dashboard showing deterministic seed behavior, shuffle helpers test results, and the content-family compatibility adapter pattern

Issue #8 implemented a proof of concept for minimum viable randomization and content families. I validated MCQ shuffling, lesson drill ordering, scenario sequencing, and SSR-safe behavior under TanStack Start.

April 21, 20266 min read
An infrastructure diagram showing Better Auth integration, Creem billing setup, Resend email configuration, and the shipping.apidojo.app domain foundation

Issue #11 completed the auth, entitlements, billing, email, and domain foundation for Shipping API Dojo v2. Better Auth, Creem, Resend, and the shipping.apidojo.app domain came together.

April 17, 20267 min read
A technical blueprint document showing content-family data models, seeded randomization strategy, and the auth/billing/email/domain architecture stack

Before building Shipping API Dojo v2, I needed a complete technical blueprint. I scoped content families, seeded randomization, auth/billing/email/domain strategy, and the decisions that shaped the architecture.

April 16, 20268 min read
A clean architectural diagram showing the v2 stack with TanStack Start, Neon Postgres, Better Auth, Creem billing, and content-family data models

The massive v2 rebuild of Shipping API Dojo introduces content families, seeded randomization, and a full auth/billing foundation. Here's the architecture and vision behind the 20/20/20 curriculum expansion.

April 13, 20267 min read
A workflow audit board with dependency PRs, a terminal, a lockfile diff, and a JSON-to-JSONL migration note

A day that started with routine dependency PRs turned into a workflow audit: lockfile repair, sandbox debugging, MCP memory migration, and a stronger rule to avoid user-specific installs and hidden local state.

March 16, 20268 min read
AI coding assistant with skills files flowing into multiple IDE icons

How I reviewed my AI skill library, archived the overlap, refreshed the keepers, and standardized rules and workflows between Windsurf and Codex.

March 10, 20267 min read
Layered cards showing technology stacks connected across projects

How I shipped the new Technologies page, wired services → technologies → portfolio links, and folded in the latest performance audit fixes for Ball Lightning.

February 28, 20266 min read
Portfolio case study pages showing project galleries and navigation

How I launched six portfolio case studies, refined typography, and cut mobile LCP without breaking SSR or fonts.

February 27, 20267 min read
A terminal window showing a stack trace with TanStack Store error, overlaid with code snippets

A TanStack Store implementation that looked correct, compiled without errors, and crashed spectacularly in the browser. The story of fixing `atom?.get is not a function` and learning to read documentation carefully.

February 23, 20267 min read
A map with quest markers, tools, and a glowing terminal window

A freelance client engagement told as an RPG quest — from planning in the tavern, to grabbing tools from the merchant, to a multi-day adventure of content, automation, and debugging. Plus: how this becomes a Chronomation workflow.

February 18, 20269 min read
AI coding assistant with skills files flowing into multiple IDE icons

Why AI skill management matters for indie makers and small teams — the design thinking behind Agent Skills Updater and its place in Chronomation.

February 16, 20268 min read
Terminal window showing the agent-skills-update CLI in action

How a PowerShell script for managing AI skills became a Python CLI on PyPI in two days — my first open-source release from Ball Lightning AB.

February 12, 20267 min read
Content workflow diagram showing the journey from blog post to multi-platform distribution

Even with AI, doing content well is still hard. Here's my actual workflow for creating and distributing content across platforms, the formatting challenges I encountered, and why this matters for Chronomation.

January 28, 20266 min read
Documentation as the foundation of modern software development
documentationai-developmentsystems-design

Documentation: The Unsung Hero of Modern Software Development

Why clear documentation matters MORE in the age of AI-assisted development, not less. Drawing from Systems Design and IT Project Management experience to build better documentation for both humans and AI agents.

January 27, 20268 min read
Restructuring Documentation for a Multi-Brand Ecosystem
documentationarchitecturedesign-systems

Restructuring Documentation for a Multi-Brand Ecosystem

How I refactored scattered documentation into a cohesive brand system repository to prepare for rebuilding my company site while maintaining consistency across three brands.

January 22, 20268 min readUpdated
Clean TypeScript code transforming with Biome's automated formatting

My routine for maintaining code quality with AI assistance: using Biome and Ultracite to ensure consistent TypeScript patterns in my agentic development workflow.

January 6, 20266 min read
A grimoire-like knowledge system rendered as a technical blueprint

A practical spec system for working with AI coding agents: why I built a memory-bank, how it works day-to-day, and why The Builder Coil version is the template moving forward.

December 15, 20257 min read
Viewing fonts in Fontbase

How I’m designing a shared typography and layout system that unifies The Builder Coil, Chronomation and Ball Lightning—starting from body text, a modular scale, and consistent vertical rhythm.

December 10, 20256 min read
Chronomation Media Hosting Strategy

How I’m designing media hosting for The Builder Coil and Chronomation: from simple file-based images to multi-tenant media for future clients.

December 5, 20255 min read
Chronomation Architecture Decisions
chronomationarchitectureneon

Chronomation: Key Architecture Decisions

A deep dive into the architecture decisions behind Chronomation – our multi-tenant content engine. Why we chose Neon, Drizzle, and a tenant-first data model.

December 4, 20254 min read
Building with TanStack Start: First Impressions

My experience setting up The Builder Coil with TanStack Start, TanStack Router, and the modern React 19 stack. What I learned and what surprised me.

December 3, 20253 min read