Work

Few projects. None abandoned along the way.

A small firm cannot line up fifty logos. What it can do is show what it has delivered, what it cost, and what is still running today.

In production Design · Development · Operations

UpGreg

A business platform split into self-contained modules behind a single gateway: accounts and authentication, notifications, administration — each deployable and monitorable on its own.

The architecture was chosen for a very concrete reason: to be able to replace or reuse a module without reopening the rest. Two years later, the accounts and notifications modules were taken over as they stood for another product — cutting the time to build its own foundations by two thirds.

  • Independent Python/FastAPI modules, with no direct calls between them.
  • A single PostgreSQL database, with numbered, replayable migrations.
  • Container-based deployment, automatic routing and certificates.
  • Structured application logging, monitoring, and backups that are tested.
In development In-house product

Kailo Location

Hire of furniture and party equipment on the shores of Lake Geneva: tables, chairs, tableware, string lights. Collection from the depot, contract signed online, deposit then balance, security held by card authorisation.

The catalogue and the payment are familiar work. The real problem lies elsewhere: calculating the actual availability of a physical stock split into batches, with minimum hire quantities, increments, turnaround time between two hires, and seasonality. Two customers booking the same three chairs in the same second must never both get them — that is a database locking question, not a display one.

  • The basket is written to the database as an expiring temporary reservation, never held as browser state.
  • The quote is calculated server-side and signed: screen, contract and invoice show the same centime.
  • Immutable, time-stamped documents, retained for ten years.
  • Payments confirmed by server notification only — never by the browser's return trip.

Does your project look like one of these?

Stock to reserve, documents to produce, payments to collect, an application to take over: chances are we have already run into the problem.

Talk it over for thirty minutes