Skip to content

Software, made in Rome

Small, solid software.

Windows apps for everyone, and the web tools I build at my day job at the Italian Ministry of Culture. I’m Simon: developer, sysadmin, and the guy who also 3D prints, solders and makes electronic music.

Apps

for Windows · on the Microsoft Store

Ultimate Desktop Cleaner

Meet Ruggy, a cloth-physics rug you drag over desktop clutter, and Dustin, his robot vacuum sidekick, who eats the files you feed him. They land in the Recycle Bin, so you can always make him spit them out. Your Windows 11 desktop, finally clean.

  • Tauri
  • Rust
  • three.js
  • TypeScript
Coming to the Microsoft Store

Next one

Still on the workbench.

At work

In-house tools for the Italian Ministry of Culture in Rome, where there’s plenty of paperwork and always room for a better tool.

Helpdesk

PWA

The office’s ticketing system, installable like an app. Sign in with your work Microsoft account and updates arrive live, or as push notifications when it’s closed. A ticket can go on hold with a reason the requester can see, and time spent waiting on someone else is counted apart from time spent fixing.

  • React
  • Fluent UI
  • Node.js
  • MongoDB
  • Entra ID
  • Web Push

Intranet Portal

Intranet

The home page for everyone working in the building, laid out as a bento grid: news, alerts, safety teams and the canteen menu each get their own tile. The contact book reads its directory from the Helpdesk, colour-coded icons jump straight to the office services, and admins edit it all behind Microsoft sign-in.

  • React
  • Vite
  • Express
  • MongoDB
  • Entra ID

Posta Maestro

Archive

Years of ordinary and certified email (PEO and PEC) used to sit in 50 GB Outlook files on shared folders. Posta Maestro turns them into one searchable reading room. It unwraps every PEC envelope, so you search the actual message rather than its “POSTA CERTIFICATA:” wrapper, and each mailbox is open only to the people allowed to read it.

  • React
  • Fastify
  • PostgreSQL full-text
  • PST import
  • Entra ID

Legal Assistant

In the making

Turns decades of circulars, legal opinions and rulings, old scans included, into one searchable library. It checks a draft’s citations against Italian law, down to whether an article was in force on a given date, and shows every check with its source: checks, never verdicts. It also speaks MCP, so an AI assistant can search the same library.

  • React
  • TypeScript
  • SQLite FTS5
  • Tesseract OCR
  • MCP server
  • Normattiva

Library Manager

Web app

Runs a Ministry library in Rome. Readers sign in with their Microsoft account, browse the catalogue and request loans, while librarians keep track of every copy, loan and request. New books arrive by Excel import, with details and covers filled in from Google Books and Open Library. And the emails look right even in Outlook’s dark mode.

  • React
  • TypeScript
  • Express
  • PostgreSQL
  • Drizzle ORM
  • Entra ID

The lab

Evening experiments. Some grow into apps, the rest teach me something.

vita

Paper trading

A trading system built around one fear: that it will evolve into the world’s best overfitter, then lie to itself about it. Every hypothesis goes into an append-only, hash-chained journal before the market answers, and a sealed risk kernel keeps live trading locked until out-of-sample evidence earns it. Until then, it trades on paper.

  • Python
  • SQLite
  • Hash chain
  • Walk-forward testing

Upstream

Features given back to the open-source tools I run every day.

Merged upstream

UPS dashboard widgets for the Debian-based NAS system: a card with the UPS and battery details, and a battery gauge that marks the threshold where the NAS shuts itself down. Both run on one new RPC method that reads Network UPS Tools.

  • PHP
  • Workbench YAML
  • Network UPS Tools

One maker, many benches

By day I look after computers, servers and web apps at the Ministry of Culture, and build the tools my colleagues are missing. By night I build the things I wish existed. The ones that turn out useful end up on this page.

Say hello

[email protected]