04Journal
Italian bureaucracy is a software problem
After years inside CAF and Patronato offices, I stopped seeing forms and started seeing state machines. Here is what that changes when you build systems for service businesses.
Most people experience Italian bureaucracy as paper, queues and waiting. Working inside it for years, I started to see something else: a set of processes with states, transitions, owners and deadlines. In other words, a system that had never been written down as one.
Every practice is a state machine
A residence permit renewal, a tax return, a family reunification, a pension request — they look different at the counter, but they share a shape:
- A request arrives with a person attached to it.
- Documents are needed. Some exist, some must be produced, some expire.
- Data is extracted from those documents and entered, often more than once, into portals that do not talk to each other.
- The practice waits for something: an appointment, an authority, a signature.
- The status changes. The customer wants to know. Someone has to tell them.
When you draw that as a diagram, you have a state machine with a small number of states and a large number of ways to get stuck between them. The stuck states are where the cost lives: the call that was never returned, the document that expired while waiting, the portal step that was completed but never recorded.
The bottleneck is not the law, it is the coordination
The legal part of the work is genuinely complex and needs qualified people. But most of the hours in a service office are not legal hours. They are coordination hours: finding out where a file is, asking the customer for the same document again, re-typing an address, remembering a deadline.
Coordination is exactly what software is good at, and it is exactly what nobody had built for this kind of office. Generic CRMs do not understand a Procura. Spreadsheets do not know that a passport expires. WhatsApp does not have a status field.
What changes when you model it
At Easy2Do we modelled the practice as the central object. Every practice has:
- a status from a fixed list,
- an owner on the staff,
- a deadline that the system knows about before the human does,
- a document checklist whose items can be collected, extracted and validated automatically.
Around that object everything else becomes an event: a document arrived, a field was extracted, a portal step was completed by the browser extension, a notification was sent. Two offices — Milan and Brescia — can look at the same truth instead of asking each other.
This is not a chatbot and it is not "digital transformation". It is the boring, essential act of writing down the state machine that already existed, and letting software enforce it.
Why it matters beyond one office
Italy runs on intermediaries: CAF, Patronato, consultants, agencies. Every one of them holds a version of the same undocumented process. Every one of them loses hours to coordination. The businesses that turn their process into a system will not just be faster — they will be the ones able to open a second location, or a third, without multiplying the chaos.
Bureaucracy is not going away. But it can be modelled. Once you model it, you can automate the parts that never needed a human, and give the humans back the part that does.
Continue reading
All articles30 July 2026
Row-level security is where your business rules should live
Hiding a button is not authorization. For systems that hold other people's documents, the database has to enforce who sees what. Notes from building on PostgreSQL and Supabase.
23 June 2026
Anatomy of an operational bot: how automation saves 1,000 hours a year
The automations that save real time are never a chatbot. They are small, boring workflows built around one person's routine. This is how I design them, and how I measure the result.