Selected work
A short list rather than a long one. Each is a real engagement, described by what it changed.
- 2026 · Wholesale and distributionPython, Claude API
The supplier invoice queue, read once by a machineReference build
A reference build: supplier invoices arrive by email, are read, validated against the ledger and the ΑΦΜ registry, and land in the ERP with only the uncertain lines waiting for a person.
- 2026 · Customer supportPython, pgvector
A support assistant that cites where it got thatReference build
A reference build: a Greek-language assistant answering from a company's own documentation and past tickets, with a citation on every answer and a hard rule about what it does when it does not know.
- 2026 · HospitalityNext.js, TypeScript
The booking engine that knows about SaturdaysReference build
A reference build: a direct-booking flow whose availability engine expresses the rules a template cannot - seasonal minimum stays, changeover days, and a refusal to create an unsellable gap.
- 2026 · Short-term rentalsNext.js, Postgres
Sixty units, one changeover SaturdayReference build
A reference build: the back office for a managed villa portfolio - owner statements, changeover logistics, access codes and the compliance paperwork each booking generates.
- 2026 · Restaurant groupNext.js, TypeScript
Scheduling against tables instead of coversReference build
A reference build: a table allocator that assigns each booking to the tightest table that fits, combines adjacent tables when it has to, and reports the seats a decision left empty.
- 2026 · Restaurant groupNext.js, Flutter
The repeat customer who should not arrive via a platformReference build
A reference build: an own-channel ordering and booking site for a group, issuing compliant myDATA receipts, with delivery-platform orders landing in the same kitchen queue rather than on a fourth tablet.
- 2026 · Dry bulk shippingNext.js, TypeScript
The estimator, with a name against every assumptionReference build
A reference build: voyage estimation for a chartering desk, versioned so that estimate and outcome can be argued about afterwards with the assumptions still attached.
- 2026 · Ship managementNext.js, Postgres
The expiry nobody saw is the detention nobody plannedReference build
A reference build: a crew and certificate register whose entire value is in what it escalates, and to whom, before a Port State Control inspector finds it first.
- 2026 · Diagnostic imagingNext.js, TypeScript
The scanner is the bottleneck, not the doctorReference build
A reference build: scheduling for a multi-site diagnostic centre where an appointment needs a practitioner, a room and a shared device at once - and a cancellation is backfilled from the waitlist automatically.
- 2026 · Multi-site clinicsNext.js, Postgres
Three legal entities, one price list, no reconciliation nightReference build
A reference build: billing across several entities and insurers, transmitting into myDATA through a certified provider, with the service and VAT mapping treated as the actual project.