Design · Build · Keep running
Custom software that stays running.
I design and maintain the systems companies work on every day.
If the system goes down, 250 clients can’t work. In sixteen years that has never happened for more than a few hours.
since 2005
writing business software
~30
client companies
169
projects in my archive
20
ERP ↔ e-commerce integrations
01
Two ways to work together
A problem that already exists, or a product that doesn’t exist yet.
When systems refuse to talk to each other
SAP, Microsoft Dynamics, and the sector-specific Italian ERPs that few companies run and even fewer suppliers know.
Twenty different clients, not once.
When the tools you were using aren’t enough any more
Startups and new products. You begin by wiring together external services, and it holds while the company is small. Then it stops, and moving to a product of your own is where the risk is.
A healthcare platform built that way, one piece at a time, is used today by 150 to 200 professionals.
I also have my own products. They’re built for the Italian market, so they come second here: see them anyway.
Either way the deal is the same: what we switch on, stays on.
02
Three things almost nobody does
I speak whatever the machine speaks
OPC UA, Modbus, vendor APIs, raw sockets. And reverse engineering for machines with no documented protocol. The MES I wrote started out for a single machine type: today it speaks to about twenty, across fifteen to twenty installations. Before that, every plant had its own HMI and talked only to itself.
I let people query databases without writing SQL
Plain-language question, then SQL, then a table and a chart. Behind three barriers: allow-listed tables only, a read-only connection, and every generated query validated before it runs. Safety lives in the database, not in the model’s good intentions. Built twice, in two different industries.
I work inside other people’s constraints
A telecommunications multinational needed federated single sign-on on an environment so tightly policed that no existing SAML library would run on it. So I implemented the standard: XML signatures, canonicalisation, encrypted assertions. Both Identity Provider and Service Provider. One month. Running since 2019.
03
Few clients. For a long time.
Most of the systems I’ve built are still running, and I’m the one keeping them running. That’s why I take on few new projects — and why, when I do, I stay.
That goes for systems I inherit from someone else, too.
The first step is a conversation, not a quote.
Tell me what the problem is. If I can solve it I’ll say so, and if I can’t I’ll tell you who can.