01
Areas picked from memory
A manager chose today's props from memory of what was knocked recently, circled them on a map screenshot and sent them to each team on WhatsApp.
Case study · First Home Improvements · 2026
I knocked doors on this team, and I designed and built the tool it now runs on. Over four months I took it from a paper sketch to an offline-first platform: a phone app that logs every door in one tap, and a web dashboard that plans areas, generates walking routes and shows results.
+40%
average leads per week, 5-week pilot
+2
pitches per canvasser per week
60+
canvassers using it daily
5
South West branches, live since October 2026
TL;DR
Context
A Bristol home-improvements firm (windows, doors, conservatories) finds its sales appointments by knocking doors. Teams of one to three canvassers work an area, called a prop, for about five hours a shift, six days a week. I was one of those canvassers. I also design and build software, so I could see the problem from the pavement and fix it from the keyboard.
01
A manager chose today's props from memory of what was knocked recently, circled them on a map screenshot and sent them to each team on WhatsApp.
02
Canvassers wrote a house number and an outcome on a paper survey: contact, lead, not in, rented. Sheets came back with missing house numbers and street names.
03
Nothing linked a door to its history. Bad areas got a reputation ("that area's dead") instead of a plan.
Building for a job I do every day meant I didn't have to guess at the field conditions: rain on the screen, one hand free, patchy signal, a partner leapfrogging ahead of me. It also meant I knew the team's unwritten rules, like what actually counts as a "contact" (someone you could book, not just anyone who opened the door). Those rules became hard requirements later.
Problem and constraints
The goal: replace memory and paper with data, so managers can plan areas from history and canvassers can log faster than they could write. The hard part was the list of things the tool was not allowed to do.
Canvasser
One hand, often gloves or rain. Signal drops between streets. Has seconds between doors, and won't use anything slower than a pen.
Manager
Needs to know what's been worked, what's left and who converts. Numbers-first and non-technical, so it has to be clear without explanation.
Office
Confirms appointments and records sales and pitch-and-miss results in the company CRM.
Compliance
Bristol has 26 zones covering 13,270 properties. Doors inside them can never appear on a list, a map or in a count. No resident names anywhere: property-level data only.
Data
OS Open UPRN gives 424,952 Bristol doors as points with no addresses. Energy certificates gave a house number to only about 31% of them, so the app had to work when a door has no number.
Field
Every tap has to work with no signal and sync later without duplicates. Tap targets of 44px or more, actions at the bottom of the screen.
People
Location features needed a defined purpose, the least intrusive design, a visible indicator and a one-tap stop (ICO guidance on monitoring workers).
Licensing
Mapbox's terms needed a paid commercial licence and forbid storing route results, so the maps run on MapLibre and MapTiler. Address fields from public data carry their own reuse limits, so they sit in a separate, removable table.
Adoption
"A tool that changes how a team knocks gets abandoned in week two." Routes, outcomes and team behaviour had to match how people already work.
Design iterations
The Logger is where a canvasser spends their whole shift: one door, one tap, next door. It went from a pencil sketch to the shipped screen through seven rounds, each changed by something seen on a real street.


Design iterations
A route that's already drawn when you arrive removes the 10 to 15 minute "who goes where" conversation at the start of every shift. Getting it right took two attempts, and the second came from the team's own drawings.
Decision log
Most of the design work here was deciding what not to build. Each decision was written into the build brief as a hard rule, with a dated note whenever it changed, so it couldn't drift session to session. These are 5 of the 12.
Decision 02
Scoring and ranking stay on the manager side. Canvassers see the door order and their own counts.
Decision 04
Every tap is queued on the phone with an ID created there, and synced exactly once. Undo happens inside the same queue.
Decision 05
The generator follows the eight walking rules from the team's drawings, and it's deterministic.
Decision 08
Removed the claim, reserve and "Take" system I'd already built.
Decision 10
Managers see where teams are right now. There is no trail and no history, ever.
Outcome
The pilot started in one office. The app is now used daily by 60+ canvassers across every branch in the South West, and talks about expanding further are under way.
For managers
Instead of "that area's dead", a slow prop becomes a plan: rotate the start, return to a good area, finish what was missed last time.
For managers
Contact-to-lead ratios per person turn "pick it up" into specific coaching, framed as support, not policing.
For canvassers
The route is drawn before the team arrives. New starters follow it instead of shadowing someone for weeks.
For the office
The tap is the address: no missing house numbers or street names, and lead outcomes flow back from the CRM every night.
Reflections
Being the user and the builder was the advantage, and occasionally the blind spot.
Next time
The scoring prototype answered a question nobody was asking. A week of writing down what was actually slow would have pointed straight at memory and logging.
Next time
I built a textbook traversal first, and only then asked the team to draw their routes. Their drawings were the spec all along.
Next time
Location sharing shipped with strong technical limits but ahead of its written assessment. That's fine for a pilot, but not for a national rollout.