
Some time in the thirteenth century, in a stone room with no light, a monk got up to pray. It was perhaps two in the morning. He had likely not woken up because he felt moved to, but rather because the routine said so. The Benedictine day was carved into eight fixed offices; Matins in the dead of night, then Lauds at first light, then Prime, Terce, Sext, None, Vespers, and Compline before sleep; and the Rule of St Benedict was indifferent to whether you were tired, ill, or uninspired. The opus Dei, the work of God, ran on a timetable, not on enthusiasm.
The trouble would have been with waking up. A man who has prayed until Compline and risen for Matins is not a reliable alarm clock. So the monasteries built one. The first mechanical clocks in Europe were not made to tell merchants the time; they were made to wake monks for an office that could not be allowed to lapse. The word clock comes from the bell, clocca, that the contraption was built to ring. Western Europe got mechanical time as a side effect of automating a routine that had to run whether or not anyone felt like running it.
I have been thinking about those monks because I have, in a small and much less holy way, built an abbey of one. For the past fortnight, the bulk of the work on toppi.app has been done by Claude Code's new routines. Scheduled sessions that wake on a timetable, do the office, and go back to sleep. I write the rule. They keep it.
What is Toppi
A few years ago, a friend and I decided that property buying was a broken process. We thought an app could fix part of it. I had just finished a coding bootcamp. The idea was simple: help people track their house search without losing their minds.
I built it. Then I got busy. Then I stopped. The gap between what Toppi was and what I wanted it to be widened quietly for a couple of years. My ambitions outran my evenings. Eventually I accepted that I was the bottleneck, and decided to try removing myself from the equation entirely.
Vision.md
The first step was a vision document. It forms the foundation for how all the routines work. It opens with a single line — "Toppi does the searching, so you don't have to" — and then lays out, in fixed order: why the product exists, who it is for, what it already does, and the arc it is being built along —
- Now — a search that understands you.
- Next — a search that never sleeps: standing watches, price-drop alerts, the shift from "I check Toppi" to "Toppi tells me."
- Later — a search that knows what fit means: commute, schools, the context the portals never surface.
- The horizon — the home-hunting agent that organises your viewings, organises the conveyancing, perhaps manages your reno.
Stacked routines
What surprised me is that I did not end up with one routine. I ended up with a small org chart of them: five offices that hand work down a line, from the setting of strategy to the testing of the live site. An abbey, it turns out, has a CEO; it also has a QA department.
The routines, and when they run
Here is the actual roster — five scheduled routines, each bound to the same Vision, arranged so that the output of one becomes the brief for the next.
Toppi CEO Review — every Monday, 10:30. The abbot. Once a week it runs under
the explicit instruction "You are the CEO of Toppi," reads VISION.md and the
planning docs, and owns the projects — the epics and their scope — rather than
any single ticket. It decides what Toppi should build next and writes the case
for it into Linear. Everything downstream is an elaboration of whatever this
office settled on Monday morning.
Linear project planning — every 6 hours. The architect. It picks up one planned project, by priority, one at a time, and shapes it: breaks the problem into two to four work streams, runs a design sprint against the MUI Joy component library, sketches the architecture, then writes the actual Linear tickets — acceptance criteria, technical notes, estimated effort — and posts a summary back onto the project. If the brief is too vague to plan, it stops and asks rather than guessing.
Project deliverer — every 6 hours. The hands. It takes a planned project, flips it to In Progress, and works the tickets one at a time across all three services — the Kotlin API, the React frontend, and the Restate worker that runs the durable jobs — opening a pull request for each piece of work and verifying it before moving the ticket on. Its standing order is monastic in its restraint: only ever complete one project at a time.
PR review and merge — every 10 hours. The reviewer. It reads every outstanding pull request against the project's own standards, leaves comments, works the feedback, and — when the work is genuinely ready — approves, merges, and moves the Linear ticket to Done. When it merges the last ticket of a project, it marks the whole project Complete and writes the closing update.
QA workflow testing — every 8 hours. The inspector, and the one I am fonder of than I expected to be. It signs into the live site with a test account, uses Toppi like a baffled first-time human, and screenshots whatever is broken — a card that won't click, a blank settings page, a chip overlapping a price. It fixes nothing. It writes each defect, with its screenshot and context, into a Bug Fixes project — which is exactly the kind of brief the planner and deliverer pick up on their next pass.
So the line runs abbot → architect → hands → reviewer, and the inspector closes the loop back to the top: one routine produces the work the next one consumes. The abbey feeds itself. Five offices, kept on the clock whether or not I am watching, each leaving a written record of what was done.
The results
For the past week the routines completed roughly ten feature projects and shipped close to thirty pull requests across the three repositories, nearly all of them merged. What it delivered:
- Billing & Subscriptions — Stripe, a paywall, per-tier feature gating - Free for now!.
- AI Search Quality & Reliability — cross-portal deduplication, a score cache, extraction flags so a mis-read price is flagged rather than trusted.
- Commute & Location Intelligence — real commute times via TfL and Google Maps, scored into the match, so a home 0.4 miles from a useless station ranks honestly.
- Continuous Monitoring & Alerts — the searches that keep running after you close the tab. The thing the whole product is for.
- Feedback Loop — thumbs up and down on a listing, folded into the ranking prompt so the tenth search is sharper than the first.
- Price Tracking & Drop Alerts — a job that re-scrapes every saved property once a day and emails you the moment a seller blinks.
- Neighbourhood Intelligence — schools, crime, sold prices, surfaced in the UI and fed into the ranking.
- Observability & Cost Control — Sentry, an admin dashboard, per-job token budgets, and a line item for every LLM call, because a routine that spends money while you sleep had better tell you how much.
The thing the monks understood
What the Benedictines got right, and what I keep relearning, is that the power was never in any single act of devotion. It was in the recurrence. A routine is unremarkable on any given night. It is the fact that it runs again tomorrow, and the night after, indifferent to mood, that compounds a stone room into a cathedral and a working prototype into a product.
The clock they built to keep the office eventually escaped the monastery, standardised time, and ran the trains. I doubt my routines will do anything so grand. But I have started to recognise the feeling of waking up to work that was done in the night. I am, for now, the one part of the abbey that cannot be automated: the one who reads what was made, and decides it is good.
Leaving the abbey
The routine cannot find customers. Alas, I have none...
It can plan, build, test, and merge. It cannot knock on doors. The only person who has used Toppi properly is the QA inspector, and it does not need to buy a house.
This blog post is an attempt to step outside the walls. Not to close them — the monks will keep their offices — but to see whether what they have built is something people actually want.
There is also a simpler question I want answered. Does having real users change what the routines produce? Can I auto-merge 30 PRs. I think it does. I would like to know for certain.
If you are in the market for a home, or know someone who is: toppi.app. The search runs for you.