Hi, I'm Monte.
When the system starts to creak,
I step in before it turns into an emergency.
Freelance Software Engineer for distributed systems. I help growing teams catch the signals before they become outages, and build the discipline that keeps them from coming back.
Registered with the Italian Order of Engineers (Ravenna)
Who this is for
Growing teams starting to hear something creak.
Startups and product companies past the early-stage phase, now hitting symptoms that were 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.
Failures you can't read
Something is wrong, but you don't know where to look. Logs say one thing, metrics another, users a third. Diagnosis turns into archaeology.
Nobody owns that piece
Components without a clear owner. Parts of the system that "just work" — until they don't. Knowledge stuck in a few heads, and those heads take vacations.
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. They multiply — they do not add up.
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.
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.