Hi, I'm Monte.
I design, build and automate the software behind your product.
From scratch, or on a system grown rigid over time.
From analysis and architecture to the build, to the processes that keep quality high: testing, CI/CD, observability, security. And the team stays able to carry on without me.
Who this is for
Product companies building something new, or living with a system grown rigid over time.
Products past the early-stage phase, now hitting friction that was not there before.
Deploys you dread
Every release is an event. You push it to Friday afternoon to dodge the on-call weekend. When something breaks, recovery takes hours, not minutes.
Tech stuck in place
Adding a new feature costs an enormous effort. The stack is old, and every change fights the ones before it. You are falling behind, and you can feel it.
You are about to build something new
A service, an integration, an important feature. This is when architecture choices matter most: they are the most expensive to change later.
If two of these already feel familiar, the right time to act is before the third one shows up.
The method
Three pillars in a deliberate order. Take one away and the other two lose their edge.
Skipping a step doesn't save time. It just pushes the pain further down the line.
Design
There's no going back without paying. That's why design decisions come first.
Verify
Making sure it actually works: under load, under attack, over time. Without this, automation just amplifies the failures.
Automate
Only after designing and verifying. Automation amplifies everything sitting above it, mistakes included.
Speaking
Latest conferences
Latest posts
What I learn, I write down.
RTK and tokensave: reducing token costs in AI coding
RTK compresses verbose CLI output before it enters the model's context. tokensave replaces codebase exploration with a local knowledge graph. Two Rust tools, two orthogonal problems.
ListObjects in Production: Caching, Pre-materialization, and BatchCheck
Why ListObjects becomes the bottleneck in OpenFGA, and how to address it: Redis caching, pre-materialized read models, BatchCheck, and invalidation strategies.
Deep Hierarchies, Inverse Queries, and the WHERE Problem
How to handle N-level hierarchies in OpenFGA, optimize ListObjects with fast/slow path, and implement Dynamic Data Masking as a complementary pattern.
Multi-tenancy with OpenFGA: Isolation Without Multiplying Complexity
Two strategies for multi-tenancy with OpenFGA: store-per-tenant and type-per-tenant. How to achieve structural isolation without scattering WHERE tenant_id everywhere.
OpenFGA + Keycloak: Bridging Identity and Permissions
How to integrate OpenFGA with Keycloak: user synchronization, JWT as the bridge, contextual tuples, and strategies for keeping identity and authorization aligned.
Let's talk.
30 minutes, free, to figure out if we can work together.


