Built on a Hyperloop · 13 to 15 November 2026

An agency's website, built by Lia. Run on Loop.

Lia is an AI website builder for UK estate agencies. She brings an agency's existing site across, or builds a new one from scratch, and fills it with what Loop already knows: listings, offices, the team and the local area.

lia.website 0.43.2 live Nexus 1.26.2 live Built 13 to 15 Nov 2026
Hyperloopnoun · Loop running at ridiculous speed
“Martin and Kane are on a Hyperloop.”The new name for a hackathon. Lia Websites was the first one: about three days from a blank repository to a live product.
1 · What it is

Lia, the AI website builder for UK estate agencies, powered by Loop

An agency, or Loop on its behalf, builds a website by talking to Lia, checks it at a draft address, and publishes it on Loop's own hosting. The parts that touch Loop data (property search, listings and enquiry forms) are fixed Loop components: the agency styles them but can't break them.

It exists because agencies want to change their own websites with AI, and our WordPress sites can't take that safely. About 15% of support tickets over five years were simple website updates.

1
Chat on one side, the site on the otherLia changes the site through a fixed set of tools. She doesn't write free-form code, so what she does is predictable and can be undone.
2
Loop sign-in, from LoopAgents open it from the Website link in Loop, with single sign-on. Nexus switches it on per agency.
3
Fast and on Loop's hostingPages are built when published. Listing pages are read live from Loop through the agency's own Open API key.
4
Designed by Kane, built by MartinKane owns the themes and modules; Martin the platform, Lia and the Loop integration.
The main event

Copy an agency's website across, or build one from scratch

Two ways in, one result: a complete draft of every page, written for that agency, with its real Loop data in it.

Bring an existing site across

For an agency moving from Loop's Gyro WordPress sites (G1 and G2) first, and any other website too.

  1. Lia reads the old site. Its WordPress data where it's open, its pages where it isn't: every page, up to 1,000 posts, pictures (including background ones) and videos. Nexus can start this when the site is created, so it's ready at first sign-in.
  2. She proposes one plan. Each page kept, merged or left out with a reason, then the posts, pictures and videos. The agent unticks anything and approves it once.
  3. Content comes across in the background. Posts arrive whole, pictures go into the site's library marked "from your old website". No AI is used for this part, and running it twice never makes duplicates.
  4. Pages are rebuilt in modules, not copied. Each keeps its address, title and search-engine title. The real logo (in colour, SVG where possible) and brand colours come with it.
  5. Old addresses keep working. Poor addresses get a clean one with a permanent redirect. Before the domain moves, Lia lists every old address with no new home and suggests one. Nothing is quietly sent to the home page.

Build a new site from scratch

For an agency with no website, or one it would rather start again on.

  1. A few questions. Lia confirms what Loop holds, asks which teams to show, and helps the agent write a 30-second pitch: specific, local, true, and not "friendly local experts".
  2. A plan for the site. Pages that fit what the agency does (no Landlords page for an agency that only sells), the menu, and two or three looks.
  3. A quick draft of every page. Lia builds the whole site as a first draft in the background, then goes through it with the agent, starting with the home page so the tone is right.
  4. She says what she left out. Fees, team photos and reviews are never made up. A phone number, price or name comes from the business details, or Lia asks for it.
  5. Then it's theirs to shape. Every module has a Lia button: "Write it for me" or "Discuss". Every change has an Undo.
What Loop brings

The information agencies would otherwise type in again

Read through the agency's own Open API key, limited to the teams the site shows.

ListingsProperty search, results and property pages, live from Loop.Today
OfficesNamed as Loop names the team, with address and phone.Today
TeamsOne team: no question. Several: the agent picks. A new team is offered, never added silently.Today
EnquiriesEnquiries, viewings, valuations and callbacks go straight into Loop. Held and retried if Loop can't be reached.Today
ReviewsA reviews module with the agency's own quotes. Pulling Google reviews on a schedule is paused.Part
Local areaLocal-area pictures from the Loop library. Listings by area in an area guide aren't possible yet.Part
2 · What it can do today

Live on lia.website 0.43.2

Everything here is built and released. The references are to the PRD, for anyone who wants the detail.

Reads an old site and brings it across

Pages, posts, pictures and videos, by one approved plan, with old addresses redirected.

D207 to D217

A quick draft of every page

The whole site drafted in the background, then reviewed with the agent from the home page down.

D234

Guided and Advanced building

Guided walks through five steps: Gather, Create, Pages and images, Review, Go live. Advanced opens every setting, including page titles and descriptions.

FR-219, FR-302

Loop listings, offices and teams

Property search and pages from Loop, offices from teams, enquiries back into Loop. Example homes in the builder until a key is set, with a clear warning.

D46, D161, FR-318

The Loop image library

154 approved property and local-area pictures, with captions and descriptions, each at least 1,920 pixels wide.

D31, D244, D246, D247

SVG logos

An SVG is checked against an allow-list and kept as a drawing, so logos stay sharp at any size.

D241

Logos in pictures

Lia can put an agency's own logo into a picture she makes, keeping the brand attached to the image.

D250

Colour picker, site map and preview guide

In the chat, Lia shows colours to pick from, a map of the site's pages, and walks the agent through the preview. Pictures can be pasted straight in.

FR-304, FR-313 to FR-316

Publishing, versions and rollback

Publish when ready. The last 20 versions are kept with screenshots, can be compared, rolled back or restored to the draft.

D188 to D196

Custom domains

The agent types the domain. Lia names their DNS provider, shows the records to add, checks them as they go and gets the certificate. Up to 10 domains a site.

D165 to D169

Nexus admin

Create site (switching Websites on), demo sites, a Sites grid with thumbnails, delete a site or clear an agency, and a Library page to approve pictures.

D236, D238, D242 to D244

Several blogs per site

Each blog can have its own name and address, while imported posts can keep their old folder.

D249

The Website link in Loop

loop-web 1.66.1 adds "Website" to the Sales and Lettings menus, for people who have the module. One click and they're in the builder.

ENG-7613

Found by search

One heading per page, sitemap, robots.txt, llms.txt, sharing tags, structured data for listings, offices and team, and a search check before publishing.

D230, D231, D245

Also built: Lia's memory per site and agency, custom contact forms, the agency's own menu two levels deep, four footer layouts, a site's own not-found page, contractor access for outside designers and marketers, and Lia's cost per conversation in Nexus.

3 · What it can't do yet

Honestly, not yet

None of these is built. Some are planned, some are still ideas.

×
Taking a picture's background outKane's idea, parked for later.
ENG-7631 · P18
×
Visitor statsNo numbers on who visits a site, yet.
×
Blog post page designPosts come across whole, but the post page itself hasn't been designed.
×
The hero video moduleVideos from an old site are stored and listed, but no module plays them yet. How long a hero video may run is still open.
P17 · OQ54 · ENG-7565
×
A switch to block AI crawlersAI crawlers are allowed by name, on purpose. The agency's switch to turn them off isn't built.
D116
×
Google reviews on a scheduleThe approach is agreed (Loop's own key, fetched weekly). The work is paused.
D111 · ENG-7464, ENG-7465
×
Agencies not on Loop"Independent accounts" for agencies without Loop listings are planned, not built.
Milestone 24
×
Portal and redress badges in footersUK agency footers usually carry them; ours can't yet.
ENG-7634
×
Pictures matched to each moduleModules don't yet say what shape or subject of picture they want.
Milestone 13
×
Website form alerts in LoopCustom form responses are emailed, but don't raise a beacon in Loop.
Milestone 19
×
Listings by area, and more header layoutsArea guides can't show their own properties yet, and three header layouts are still to come.
OQ49 · ENG-7385

Still to decide outside the build: price and bundles, who runs it after launch, and the product name (PRD open questions OQ1, OQ3 and OQ5).

4 · Where we're at

Live, but not production yet

Live
lia.website 0.43.2

Released 15 November 2026, 19:43. The 80th release of the Hyperloop.

Live
Nexus 1.26.2

Released 15 November 2026, 20:03. The 16th Nexus release for Lia.

Testing
Three testers

Martin, Kane and Olly. Not open to agencies, and not yet called production.

The first real agency onboarding is under way

An agency on Loop's Gyro WordPress sites is having its site brought across: real pages, pictures and a hero video, on its real listings. Three rounds of fixes have come out of it so far, from a logo that came across in black and white to a footer phone number that wrapped badly. It's the best test we could ask for.

5 · What we're working on now

Next up

Built or in progress, waiting for review or release.

Colour picker fixes

Small fixes found in testing, making brand-colour selection clearer and more reliable.

ENG-7642, ENG-7643

More DNS guides

Step-by-step instructions for more domain providers when an agency connects its address.

ENG-7491

The next onboarding round

More fixes from bringing the first real Gyro agency across, shipped as they are found.

Onboarding

Staff site creation in Nexus

Finishing the staff flow for creating and opening an agency's site.

Milestone 23

Library search and approval

Finding, reviewing and approving Loop library pictures in admin.

ENG-7419

Production key rotation

Rotating the server's keys before the product is called production.

ENG-7639
6 · The Hyperloop

From blank repository to live product, hour by hour

All times GMT. The highlighted moments are where the shape of the product changed.

Martin and Kane agree the plan. PRD started; clickable prototype made.

PRD and prototype go into the repository.

First release, lia.website 0.1.0.

Lia reads an agency's current website.

Real Loop listings appear on a site.

Custom forms, Loop enquiries, domains, memory, versions and rollback arrive.

Lia plans and builds a whole new site.

Bringing an existing site across.

Fixes from the first real agency onboarding, plus menus, SVG logos, blogs and brand colours.

lia.website 0.43.2: the 80th release.

Nexus 1.26.2: the 16th Nexus release for Lia.

This meeting.

7 · Built as one long conversation

People decided. Claude wrote.

Martin and Kane worked in a near-permanent huddle: heads down on their own parts, with questions and answers going back and forth all day.

Every line of code was written by Claude. Martin and Kane decided, designed, reviewed and tested. All 288 code commits carry a Claude co-author line; the only two without one are PRD renumberings.

264decisions in the PRD
350numbered requirements
138decisions naming Martin
86decisions naming Kane
39decisions made together
9decisions involving Olly
8 · Stats

Three days, in numbers

Counted on 15 November 2026 from git, Linear and the release notes.

A glowing estate-agency website assembled from modular cards, code panes and release markers
The 50-hour build

A website platform taking shape at release speed

The serious version of the weekend: one working product, built from hundreds of small decisions and shipped in unusually small steps.

80 releases406 commits264 decisions
80 releases
lia.website 0.1.0 to 0.43.2 in 50 hours
First release Friday 13 November at 17:30; the 80th on Sunday 15 November at 19:43.
91,600 lines
About 83% Martin, 17% Kane, by session
Leaves out Kane's 44,000-line G2 reference folder and generated database migrations. Every line was written by Claude.
Martin 75,600Kane 16,000
31
Linear milestones
14 complete.
275
Linear tickets
221 done, 13 in progress.
16
Nexus releases for Lia
1.21.2 to 1.26.2, on 14 and 15 November.
406
Commits on main
290 changes plus merges.
264
Decisions in the PRD
Plus 350 numbered requirements.
66%
Of a week's Claude allowance
42+ Claude Code sessions and £21.60 of extra usage.
154
Approved Loop pictures
Stock-library equivalent estimated at roughly £8,000 to £15,000.
≈£18
Lia's own AI bill
About $23 on OpenRouter, including image-model trials.
8–9 months
Estimated without AI
For two people on normal hours. It took a weekend.
TBC
Longest huddle
Slack doesn't give huddle lengths to our tools. On Sunday at 13:08 it was called "a company record for longest huddle". Martin to confirm the figure.
An exhausted kettle in sunglasses relaxing in a deckchair after a trail of coffee cups, laptops and tiny release rockets
Unaudited · peer-reviewed by nobody

The kettle has submitted a leave request.

What actually powered the Hyperloop: 128 hot drinks, 80 releases, two people, one heroic appliance—and maths worked out with the same rigour as a teaspoon.

✓ Annual leave status: emphatically approved
128hot drinks
98coffees
30+teas
1 every 23macross 50 hours
⚠ Not the official minutes

The Hyperloop incident log

Events reconstructed from commits, caffeine residue and two witnesses with highly selective memories.

PRD first. Infrastructure immediately afterwards.

Kane and Martin agreed the plan, the PRD hit the repo at 12:14, and Martin started laying track underneath it. By 17:30 there was a first release. This seemed completely reasonable at the time.

Everything, everywhere, all at once.

API keys. Imports. Pages. Modules. Real listings. Pictures. Forms. Enquiries. Domains. Memory. Versions. Rollback. The plan remained calm; its authors did not.

Woke up late. Made up for it with commits.

By ordinary standards: still early. By Hyperloop standards: scandalous. Then came commit after commit after commit, the first real onboarding fixes, brand colours—and release number 80.

◉ Claude status: helpful → frantic → typing noises from another dimension
128
hot drinks, give or take a teaspoon
27 decaf (Kane's 135g of ground beans) 55 Kenco (Martin's jar) 16 Lavazza (one whole pack of pods) 30+ tea (for when coffee needed a break)
Decaf Normal Lia-ffeinated
The caffeine-o-meter
About 5.7g of caffeine between them. The 135g of decaf added about as much as two cups of tea.
☕ Coffee ⌨️ Code 🚀 Release 🤷 Dunno repeat 80×
The development cycle
Peer-tested 80 times. Nobody can remember the first 79.
715
Lines of code per drink
91,600 lines ÷ 128 drinks. The decaf lines are the tidy ones.
1.2
Coffees per release
98 coffees ÷ 80 releases. Tea doesn't release anything.
90
Espressos' worth
5.7g of caffeine, at about 63mg a shot.
2
People, one kettle
The kettle has asked for a holiday.
?
Hours slept
Who knows. Sleep was not instrumented, logged or included in the acceptance criteria.
4,812
"Dunno, was more than 30 seconds ago"
Made up. Nobody remembers, which is rather the point. About one every 38 seconds of the Hyperloop.
0
Times anyone remembered what they did a minute ago
Also made up. Probably accurate.
🥊 Meanwhile, in the Backlog Brawl
THE GUNNER 2,480vs1,803 HURRIKANE

Week 46, points from closed Linear tickets: 157 closes against 138. On Saturday HURRIKANE went nuclear with 116 tickets closed in one day, a personal best, while THE GUNNER managed 81. Season so far: THE GUNNER 16 weeks won, HURRIKANE 7.

Watch the brawl →

Workings, for the sceptical: a teaspoon of ground coffee is about 5g, so 135g is 27 cups (decaf, about 3mg each). A jar of Kenco taken as 100g at 1.8g a cup is about 55 cups (about 60mg each). Lavazza pods about 70mg each. Tea about 40mg a bag. Coffee and tea figures are real; the conversions are estimates; the "Dunno" count is invented.

Built in three days. Remembered for slightly less.Put the kettle on →