Joris
A buyer's agent in Newcastle, starting from nothing. First a site that ranks, then the systems behind it: a custom MCP his own Claude and ChatGPT talk to, and a worker that qualifies every lead.
- Client
- Buyer's agent, Newcastle
- Industry
- Property
- Shipped
- 2025–26
- Live at
- joris.com.au
New business, no reputation, and one person doing everything.
Joris helps people buy houses in Newcastle. He started with no site, no rankings and established agents to compete with. The first job was to look established and be found.
The second job showed up once the leads did. A buyer's agent runs on admin: a property report for a client means generating it on a data service, pulling the details together, finding the client's record, writing the email. Enquiries arrive as Instagram messages, Facebook messages and website forms, and each one needs reading, judging and logging before anyone calls back. Footage from inspections piles up on a phone, unposted. All of it was one person, after hours.
A site that ranks on a new domain.
A pre-rendered SvelteKit site on Cloudflare, edited in CloudCannon, that loads in under half a second with perfect performance scores. Service pages, success stories and resources built for the searches Newcastle buyers actually make, with structured data on every page. Google noticed, and so did the people searching for a buyer's agent. The enquiries that followed are what made the next two systems worth building.
His assistant, our tools.
Joris already pays for Claude and ChatGPT. Rather than give him another app to log into, we built a custom MCP server he installed in both, so he asks in a normal conversation and our tools do the work behind it.
"Send Sarah the report on 12 Smith Street" is now one sentence. The MCP generates the report on the property data service, fetches every detail back, looks Sarah up in HubSpot, builds an HTML report and emails it to her, then tells him it is done. Because we host the MCP, adding a new ability is a matter of switching a tool on: no update for him to install, no new interface to learn.
Every lead read, judged and filed.
A worker receives every message from his social accounts and every submission from the website. Claude reads each one, qualifies it (a buyer with a budget and a suburb is not the same as an agent selling leads), creates or updates the contact in HubSpot, places it in the right sales pipeline stage and creates the to-do for Joris, with the context already written. He opens HubSpot to a list of people worth calling, not an inbox to triage.
Footage in, posts out.
The next system, in progress: Joris dumps the day's inspection footage into a folder. The AI watches it, picks the moments, cuts them into short edits, writes the captions and posts them to his social accounts on a schedule. Same rule as everything else we build for him: he approves the first ones, and the system earns its autonomy from there.
The numbers.
<0.5s
page loads
perfect performance scores at launch, on a brand-new domain
1
sentence to send a property report
asked in his own Claude or ChatGPT, delivered by our MCP
24/7
leads qualified
every social message and website enquiry, into HubSpot with a to-do
0
new logins for Joris
everything runs through the assistant he already pays for
Lead and report counts are not published; the systems are measured on the managed plan's monthly report.
Theirs to keep.
The site, the MCP server and the lead worker run in Joris's own Cloudflare account, next to the HubSpot he already used. Every action the systems take is logged, and the assistants only ever see the tools we choose to expose.
- SvelteKit
the site, pre-rendered
- CloudCannon
editing the site without us
- Cloudflare Workers
the MCP server and the lead worker
- MCP
the protocol his Claude and ChatGPT use to reach our tools
- HubSpot
contacts, pipelines and to-dos
- Claude
reads and qualifies every lead, drafts the context




















