The idea
A phone app for site visits. You walk the perimeter of a room holding the phone, and it produces a dimensioned floor plan — walls, doors, windows, ceiling height — that you can drop photos and notes onto as you go. When you leave, you export a DXF for the drawing software, a PDF for the client, and a measurement list that feeds the quote. No tape measure, no graph paper, no second trip because nobody wrote down the window width.
Why build this
Electricians, joiners, flooring installers, HVAC fitters and surveyors all do the same thing: visit, measure, sketch on paper, then rebuild that sketch at a desk hours later from smudged numbers and their own handwriting. The rebuild is where quotes go wrong, and a wrong quote on a flooring job is money out of the fitter's pocket.
The measuring part is now close to solved on hardware people already carry. Apple's RoomPlan API, shipping since iOS 16, returns walls, openings and furniture as a parametric model rather than a point cloud you have to interpret — it does the hard geometry. What nobody has built well is the layer on top: the notes, the photos tied to a specific wall, the export that a drawing package will actually open, and the bit where three rooms become one job. The existing apps are either CAD ports with a hostile phone UI or free scanners that hand you an unusable USDZ and an upsell.
Stack sketch
- iOS first, native Swift. RoomPlan's
RoomCaptureViewfor the scan, ARKit raycasts for manual corner taps on non-LiDAR devices. - Geometry layer: convert RoomPlan's
CapturedRoomsurfaces into a 2D polygon set yourself — don't ship their mesh. Snap wall angles to 90°/45° within a tolerance, because clients notice a wonky rectangle more than a 2cm error. - Local store: SQLite via GRDB, files on disk. The app has to work in a basement with no signal.
- Export: DXF written client-side (the R12 subset is a plain text format — you do not need a library), PDF via Core Graphics, and a JSON job file for sync.
- Sync + sharing: Supabase for auth, Postgres and object storage; a signed link so the client sees the plan without an account.
- Notes: on-device
SFSpeechRecognizerso a fitter can talk while their hands are full.
Scope for v1
In:
- Scan one room, get a closed 2D plan with wall lengths and ceiling height.
- Drag a wall edge to correct a length by typing the real number; everything else re-snaps.
- Pin photos and voice-to-text notes to a wall or a point.
- Export DXF and PDF, share by link.
- A job = a list of rooms, with a total area figure.
Out:
- Android. Wait for the iOS numbers to be trusted first.
- Multi-floor stitching, stairs, and anything 3D-rendered.
- Quoting, pricing, or invoicing. That is a different product and a crowded one.
- Team accounts. One tradesperson, one phone.
Where it could go
The obvious next step is the materials bridge: once the plan is trusted, area and perimeter totals feed straight into a cut list or an order sheet, and the app becomes the thing that stops a flooring installer over-ordering by 15% every job. That is worth more per user than the measuring.
After that, two directions. One is the paper trail — a timestamped, photo-backed record of site condition before work started, which settles disputes and which insurers and landlords will pay for on its own. The other is the office end: a desktop view where a supervisor sees every scan from the week, which makes it a per-seat sale to firms with ten vans instead of a one-off purchase by a sole trader.
Watch out for
RoomPlan needs LiDAR, which means Pro iPhones and recent iPads — a real slice of your market is on a base-model phone, so the manual corner-tap path is not a fallback you can defer. And glass, mirrors and dark matte surfaces still fool depth sensing, so every measurement needs to be visibly editable rather than presented as ground truth.