Work
Five systems, five industries, one method.
Three of them for clients, in Germany, Israel and the UK. Two are mine. The point isn’t five systems, it’s that the same five steps produced all of them.
Systems
What I’ve built
-
Ush Executive scheduling · UK
Meeting scheduling for executive assistants. Ranked slots with reasons, on weights you tune.
-
KIMA Real estate · Germany
Deal management for German real-estate firms. Arrived vibe-coded on a spreadsheet, rebuilt on a queue.
-
A research platform Science · Israel
Papers and internal documents as a knowledge graph, for fifteen PhDs and no engineering function.
-
SignalsAPI Recruitment · Mine
457 sources, a million pages a day, thirty-odd services, no DevOps team.
-
Virtual BDR Sales · Mine
LinkedIn and email outreach under one orchestrator.
Those numbers are SignalsAPI’s. Client systems run in the clients’ own accounts, so their figures are theirs to publish.
They can hand the codebase to Claude now and add features without breaking anything.
Ush
Ush, end to end
One system in full, for whoever you forward this to. Executive scheduling, UK, built 2025–2026.
The problem
An executive assistant picks a slot on dozens of implicit factors: habits, travel time, who outranks whom, what the other side can move. That logic lives in a head. Put a second assistant on the same principal and the heuristics stop agreeing; ask an engineer to write them down and they turn into prose nobody can run.
The insight
Scheduling is a constrained optimisation, not a workflow. Once the assistant’s judgement is weights, “pick a slot” stops being a sequence of steps and becomes: given the factors, find the best option. Hard constraints filter, soft constraints rank. Every suggestion is reproducible and debuggable instead of a black box.
This is step four in its purest form. There was no process to automate and no system to integrate — only knowledge in a head that had to be made computable from nothing.
The architecture
Flask with a separate background worker. PostgreSQL 16 holds sessions, the job queue and storage — no Redis on top of it. Calendar frontend is Tailwind and vanilla ES6, drag-and-drop snapping to slots, on Docker Compose on one VPS behind nginx. The LLM sits behind interchangeable adapters and only writes the explanation; it never picks the slot. Maps supplies travel time between back-to-back meetings and rejects the physically impossible ones.
Multi-tenant isolation is by construction: every query scoped to an explicit user_id through a single context object, so several principals share a deployment and never share a calendar.
The send boundary
Gmail scopes are read and compose. There is no send scope. Ush drafts and a human sends, which is a product decision rather than an unfinished feature.
The proof
Beta in one month, genuinely useful at four. Scheduling round-trips down to roughly one interaction, which is the only hard number it has. The part worth knowing: the stakeholders arrived with UI mockups, and the shipped product replaced them. The spec was wrong, and not building it was the value delivered.
The line under the work
Architect and sole developer.
Your problem is probably a sixth industry.
That’s the claim worth testing on a call — that the method transfers, and not just that these five worked.