Aug 28, 2026 • 7 min read
What Game Development Taught Me About Shipping Software
Games make software feedback immediate. Building five of them sharpened how I think about iteration, device realities, content quality, and the difference between correct and genuinely enjoyable.
Game DevelopmentProductDelivery
Aug 27, 2026 • 6 min read
Building Five Party Games on One Platform
Five party games can share a platform without becoming the same game. The useful architecture keeps sessions, delivery, and operations common while leaving each rule system explicit.
Game DevelopmentArchitectureDelivery
Aug 14, 2026 • 5 min read
The Work Behind Two New Client Recommendations
Two new public recommendations describe the same kind of delivery I value: listen carefully, take ownership, translate ambiguity, improve the underlying system, and leave a team with something maintainable.
Client WorkCareersDelivery
Aug 12, 2026 • 6 min read
Timed Lyrics Are a Data Engineering Problem
Synchronized lyrics look simple in a player, but trustworthy line timing depends on identity, source text, alignment, validation, export, and a local QA gate.
DataAudioDelivery
Aug 8, 2026 • 5 min read
The Living Room Is a Different Computing Environment
A television app has different input, distance, attention, and release constraints than a web page. Designing for it means treating the device as its own computing environment.
ProductRokuDelivery
Aug 1, 2026 • 6 min read
AI Evaluations Are Product Requirements
If an AI feature can change a customer decision, an operator workflow, or a safety boundary, its evaluation plan is part of the product requirement.
AIProductDelivery
Jul 28, 2026 • 6 min read
Feature Flags Are Operational Controls
Feature flags are not just a way to hide unfinished UI. They are operational controls that need owners, evidence, rollback rules, and cleanup dates.
DeliveryOperationsArchitecture
Jul 24, 2026 • 5 min read
Technical Discovery Should Produce Decisions, Not Documents
Good technical discovery reduces delivery risk by turning uncertainty into explicit decisions, owners, constraints, and acceptance criteria instead of producing a large document that nobody operates from.
DeliveryOperationsGovernance
Jul 13, 2026 • 5 min read
Large Enterprise Migrations Are More Than Moving Content
Enterprise migrations succeed when teams treat them as coordinated changes to traffic, data, integrations, ownership, and operations rather than as a bulk transfer between platforms.
ArchitectureOperationsDelivery
Jul 9, 2026 • 5 min read
What a Forward Deployed Engineer Actually Does
Forward Deployed Engineers sit close to customers, but the role is more than technical consulting. They own the difficult path from an ambiguous business problem to a working production system.
DeliverySystemsCareers
Jun 7, 2026 • 5 min read
Queues Are a Product Surface
Internal systems work better when teams design the queue itself as a product surface instead of focusing only on the single-record happy path.
OperationsSystemsDelivery
Jun 4, 2026 • 5 min read
Prompt Changes Are Production Changes
Prompt edits can change routing, escalation, and decision quality in production, so they deserve versioning, evaluation, and rollback.
AIDeliveryOperations
May 22, 2026 • 4 min read
Good Workflows Make Ownership Obvious
Workflow quality depends on whether each state has a clear owner, a clear next action, and a clear escalation path.
SystemsDeliveryArchitecture
May 21, 2026 • 5 min read
Documentation Should Lower Coordination Cost
Useful documentation reduces coordination drag by making state, ownership, and recovery legible without extra meetings.
DocumentationDeliveryOperations
May 20, 2026 • 4 min read
Operational Simplicity Is a Product Feature
Operational simplicity lets teams publish, recover, and change systems without constant escalation or hidden process drag.
OperationsDeliverySystems
May 18, 2026 • 4 min read
Why Internal Tools Fail After the Demo
Internal tools succeed when they reduce operator friction in real queue work, not just when they look polished in demos.
OperationsSystemsDelivery
May 16, 2026 • 4 min read
The Case for Boring Integrations
Boring integrations stay reliable because their contracts, ownership, and failure handling are explicit from the start.
ArchitectureSystemsDelivery
May 6, 2026 • 4 min read
What to Instrument Before a New System Goes Live
Launches go better when teams instrument critical workflow states, delays, failures, and human intervention before go-live.
DeliveryOperationsArchitecture
May 4, 2026 • 4 min read
Shipping Fast Without Building Fragile Systems
Fast delivery only lasts when teams keep change cheap and refuse to let temporary shortcuts harden into architecture.
DeliveryArchitectureSystems
May 1, 2026 • 5 min read
Why This Dev Blog Exists
This dev blog is where I write about the architectural, operational, and delivery decisions that determine whether systems keep working after launch.
ArchitectureDeliverySystems