Writing

Decisions, distilled.
Lessons, kept useful.

The ADRs record exact choices. These essays step back: what changed, what transferred, and what might help someone designing a different system.

Platform engineeringNetworkingProduct designOperations

Access is a product, not a firewall rule

Why the right private-access decision can be to stop maintaining the mechanism and start designing the experience.

Engineering leadershipDeliveryRiskEvidence

A stopping condition is part of the design

A credible delivery plan says what blocks promotion, what evidence would unblock it, and where more effort stops changing the decision.

Artificial intelligenceProduct engineeringCloud securityEvidence

AI should explain the evidence, not become the evidence

In a cloud audit, deterministic collectors and rules should establish findings while AI helps people understand what those records mean.

Incident responseAWSInfrastructure as codeOperations

Recovery is part of the system

A production rebuild exposed why teardown, dependency ordering, bootstrap safety, and content restoration belong in the design—not in an emergency notebook.

Infrastructure as codeGovernanceDelivery

The plan you reviewed should be the plan you apply

Infrastructure approval is meaningful only when reviewable configuration, source, and the applied plan remain cryptographically bound.

Platform engineeringEdgeSchedulingReliability

Two schedulers are not high availability

When a cloud control plane places work onto Proxmox capacity, allowing both layers to schedule the same guest creates conflicting authority—not resilience.

Product architectureCRMReliabilityData governance

Your CRM should know the customer, not run the product

Commercial context belongs in the CRM. Questionnaire state, report generation, delivery, and recovery belong with the product that promises them.

InfrastructureNetworkingSecurityRelease engineering

The gateway needed its own boundary

A private release repository separates the gateway appliance from the public infrastructure that surrounds it.

Featured
MLOpsMachine learningAWSInfrastructure as codeOperations

The pipeline was the product

What an impossible forecasting problem taught me about evidence, operational boundaries, and knowing when to stop.

Featured
ArchitectureCost

An architecture should be allowed to change

Superseded decisions are evidence of learning, not defects to hide behind a tidy final diagram.

NetworkingReliability

Build the gateway to be replaced

A small network gateway becomes safer when recovery means reconciliation, not careful repair.

SecurityOperations

Secrets should live with their failure domain

Centralizing every secret can simplify the diagram while making recovery, authority, and outages harder to reason about.

NetworkingSecurity

Private is not a login state

Authentication answers who a caller is. Network structure should still decide which doors exist.

IdentitySecurity

An approval email should not approve anything

Notifications can carry context. Authority should remain behind the boundary where the decision belongs.

Open sourceArchitecture

Public code, private inventory

Open infrastructure is most useful when reusable mechanisms are separated from the identities and facts of one real deployment.

CloudOperations

Scale to zero without giving up control

An on-demand server still needs durable identity, narrow access, and one authority for its lifecycle.

Infrastructure as codeControl planes

Terraform builds the stage, not the play

Infrastructure code should define durable boundaries without becoming the runtime operator for every changing thing.

Product engineeringSecurity

The safest form can be no form yet

Deferring a small public feature is an architecture decision when its abuse, privacy, and authority costs are not small.

ArchitectureAuthorization

One interface, three trust levels

A shared frontend does not require a shared trust boundary. The useful separation happens in projections, paths, and server-side capability checks.

Platform engineeringEdge

The cloud decides; the edge executes

How to keep storage-adjacent services at home without quietly creating a second control plane.

ObservabilitySecurity

Failure should be visible, not invasive

A public status view should prove the system is alive without turning operational detail into an attack surface.

Writing here will usually grow out of several architecture decisions, not mirror them one-for-one. The point is to preserve the transferable idea, not reproduce the record.