← Back to Projects
WebHTMLJavaScriptCanvasThree.jsTools
Flat Layout Designer
Single-file web app for sketching how your real furniture would fit inside a Rightmove rental flat. Drop the floorplan, calibrate scale, build a personal catalogue from Amazon product pages, and see live free-floor-area % per room. Optional 3D box preview.
A browser-based tool for the question: “will my actual furniture fit nicely in this flat, or will it feel cramped?” Aimed at the moment between finding a Rightmove rental and committing to a viewing — when the floorplan looks promising but you can’t quite picture your sofa, bed and wardrobe all in there at once.
How it works
- Save the floorplan image off a Rightmove listing (right-click → Save Image), then drag it into the canvas.
- Click two points whose real distance you know — usually a labelled wall on the Rightmove plan — and type the metres. Everything afterwards is to true scale.
- Trace the rooms (or hit Auto-detect — best-effort, you’ll usually want to refine).
- Build your My Furniture catalogue once: paste a chunk of an Amazon product page that contains the dimensions, and the parser fills in W × D × H. Add a name, optional source URL, optional thumbnail.
- Drop items from your catalogue into rooms. Drag to position, R to rotate. Each room shows live
% free floor area— under 30% feels cramped, over 50% reads as airy. - Toggle the 3D preview to feel the volumes — same data, just extruded boxes.
Design decisions
- Single HTML file, no install, no server, no build step. Open it, it works.
- All data in localStorage — two stores, one for layouts (per Rightmove flat) and one for your furniture catalogue (lifetime, used across every layout). Both exportable as JSON for portability between machines.
- Manual editing is the workhorse, auto-detect is a bonus. Rightmove floorplans vary too much for fully reliable wall extraction, so the manual room-tracing tool is the primary path; auto-detect just saves a few clicks when it works.
- No backend, no fetching. The Rightmove URL is stored as a label only — the page is never fetched (browser CORS would block it anyway), so the floorplan image is dragged in by hand. Source URLs in your catalogue are reference-only too.
Why local?
- Privacy — your house contents never leave the browser tab.
- Reusable catalogue — add your sofa once, use it on every flat you ever consider.
- Works on a flight — once loaded, no internet needed except for first 3D preview / first auto-detect.
Requirements
- Any modern browser (Edge, Chrome, Firefox, Safari).
- For 3D preview and auto-detect: internet access on first use (Three.js / OpenCV.js loaded from CDN, then cached).
Features
- Two ways to run: a single HTML file in your browser, or a 37 KB .exe that opens it in its own desktop window via Edge WebView2 (no browser tab needed)
- Drop a floorplan image straight from a Rightmove listing — no install
- OCR-assisted calibration: tap a label like '4.5 m' on the plan, click the two wall ends, done — no typing
- Quick-pick scale-bar buttons (1 m / 2 m / 5 m / 5 ft / 10 ft) for plans with a corner scale bar
- Personal furniture catalogue, built up from product pages with a paste-from-Amazon dimension parser
- Thumbnails, source URL and notes per item; persists across every flat you sketch
- Drag furniture into rooms, R to rotate, live free-floor-area % per room as the 'how clear can it be' signal
- Optional 3D box preview (Three.js, lazy-loaded)
- Optional best-effort auto room detection (OpenCV.js, lazy-loaded)
- Layouts and catalogue exportable as JSON; lives in localStorage, never leaves your browser