01
Practical, tested code
Every snippet comes from a repository with a green suite behind it — unit tests in Vitest, integration in Mocha, end-to-end in Playwright. If it isn't tested, it doesn't get published.
typescript · architecture · testing · devops
Deep tutorials on clean and hexagonal architecture, automated testing that actually catches regressions, and the Kubernetes/GitOps plumbing behind it — every pattern shipped with runnable, tested code.
// domain depends on ports, never on infrastructure
export class CreateOrder {
constructor(
private readonly orders: OrderRepository,
private readonly clock: Clock,
) {}
async execute(cmd: CreateOrderCommand): Promise<Result<OrderId>> {
const order = Order.draft(cmd.customerId, this.clock.now());
for (const line of cmd.lines) {
const added = order.addLine(line);
if (added.isFailure()) return added;
}
await this.orders.save(order);
return Result.ok(order.id);
}
}why read this
01
Every snippet comes from a repository with a green suite behind it — unit tests in Vitest, integration in Mocha, end-to-end in Playwright. If it isn't tested, it doesn't get published.
02
Not hello-world YAML. Multi-environment Kubernetes with Argo CD, progressive delivery, secrets handling, and the failure modes you only meet at 2am on a production cluster.
03
Concrete ways to put agents to work inside a typed codebase: test-first prompting, refactor loops guarded by CI, and the review discipline that keeps generated code honest.
latest writing
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
reader mail
“The hexagonal architecture series is the only explanation that ever made the pattern click for my team. We shipped the refactor in a sprint and the test suite got faster, not slower.”
“I lifted the Playwright fixture setup almost verbatim. Flake rate went from roughly one in five runs to none in three weeks of CI.”
“Rare to find devops writing that admits what breaks. The Argo CD promotion article saved us from inventing a much worse process.”
about
I'm Pat Francis. I build and maintain typed full-stack systems for a living — domain-heavy backends, boring reliable pipelines, front ends that don't fight their own types — and I write down what holds up under production load.
the newsletter
Architecture breakdowns, test strategies, and cluster war stories. No sponsorships, no course funnels — just the writing. Unsubscribe in one click.
11,400 engineers · no spam, ever