StreetPainter
Support

Something wrong?
Tell the person who built it.

There is no ticket queue and no bot. Email lands with the one developer who works on StreetPainter.

Last updated: 15 September 2026

01Getting help

Email streetpainter.dev@gmail.com. Expect a reply within a couple of days. If it is a security problem, say so in the subject line and it gets read first.

What to put in the report

The more of this you include, the faster it gets fixed:

If an import from Strava failed, include the Strava activity link too.

02Your data: export and deletion

Both live on your profile page, and both work without emailing anyone.

Export my data

Downloads a JSON archive: your account record, every activity with its full GPS track, your coverage, planned routes, crews and preferences.

Generated on demand. Take a copy before deleting anything.

Delete my account

Erases your account and everything attached to it — activities, tracks, coverage, routes, posters, crew memberships, push subscriptions.

Permanent, and not reversible. Backups roll off within 30 days.

To remove a single activity instead, open it and delete it there; its coverage matches go with it. Full detail on what is stored and for how long is in the Privacy Policy.

03Common questions

Why didn't my activity match any streets?

A few usual causes, in rough order of likelihood:

  • It happened outside a supported city. Coverage only exists where we have loaded the street network. The activity is still stored and shown; it just does not paint anything.
  • The GPS track is poor. Dense downtown blocks, dense tree cover and tunnels scatter points across neighbouring streets or drop them entirely. If the line on the map looks wrong, matching had nothing good to work with.
  • The activity type is not one that paints. Treadmill, indoor and other non-GPS activities have no track to match.
  • The street is not in OpenStreetMap, or is tagged as private or inaccessible. New developments are often missing. You can fix that at openstreetmap.org, and it will flow through on the next street refresh.
  • The import is still processing. Matching runs in the background after an import. Give it a few minutes.

If none of those fit, send the activity URL. Mismatches are genuinely useful — they feed the labelled set used to tune the matcher.

How is the coverage percentage calculated?

By distance, not by street count. Every street in the area is split into segments; we add up the length of the segments you have covered and divide by the total length of all eligible segments.

Covering a long boulevard therefore moves the number more than covering a short cul-de-sac. A segment counts as covered once your track runs along enough of it, in either direction — you do not need to run both sides.

Park paths count where they exist in the network, the same way streets do. Motorways, private roads and other places you cannot legally run or ride are excluded from the denominator, so an unreachable freeway does not permanently cap you below 100%.

City percentages and neighbourhood percentages use the same method over different boundaries, which is why a neighbourhood can read very differently from the city around it.

How do I disconnect Strava?
  1. Open your profile page.
  2. Find the Strava connection and choose Disconnect.
  3. That deletes the stored access and refresh tokens and your Strava athlete id immediately. No further imports happen.

Activities already imported stay in StreetPainter, because they are yours — delete them individually if you want them gone. To revoke from Strava's side as well, remove StreetPainter under Settings → My Apps at strava.com.

Write-back — StreetPainter adding a line to your Strava activity descriptions — is a separate switch. You can turn that off and keep the connection.

How do privacy zones work?

Set a home point and a radius. Anything inside that circle is clipped out before it leaves the app: shared activity links, share cards, posters and shared route links all start and end at the edge of the zone rather than at your door.

Two things to be clear about:

  • Zones clip what is shared. Your own view keeps the full track, and so does a file you download for yourself — a GPX or a cue sheet missing its first few hundred metres would be useless to navigate with. The full track stays stored, because the coverage engine needs it to credit the streets nearest your home.
  • Coverage is still counted inside the zone. You do not lose paint by protecting your address.

Pick a radius large enough that the clipped endpoint is not obviously the centre of a circle around your house — a few hundred metres is more useful than fifty. And if a route is genuinely sensitive, do not share it at all.

How do I get in, or invite someone?

StreetPainter is invite-only: sign-in works only for email addresses on the allowlist. If you see a "Not invited" page, you are signing in with a Google account that is not the invited one — check which account your browser used.

To have someone added, email streetpainter.dev@gmail.com with the Google address they will use.

Can I import activities from somewhere other than Strava?

Yes. You can upload track files directly, and activities from Garmin and Sports Tracker exports are supported alongside Strava. Upload lives on the activities page.

Only upload tracks you actually recorded yourself — see the acceptable use section of the terms.

My distance or pace looks wrong.

Distance, duration, pace and elevation come from the source that recorded the activity, so a figure that is wrong in Strava or on your watch will be wrong here too. Where we recompute a value, GPS noise makes it an estimate, not a measurement.

Units follow the preference on your profile page — switch between miles and kilometres there.

04The rest

The Privacy Policy covers what is collected, who it goes to, and your rights over it. The Terms of Service cover access, acceptable use and the limits of what this app promises — in particular, that planned routes are not safety-checked.

Feature requests are welcome at the same address as bug reports. This is a small project and the roadmap genuinely moves based on what people ask for.