DEV Community

Cover image for The map said I could walk on water
Kate Pond
Kate Pond

Posted on

The map said I could walk on water

Since my last post, 220 pull requests have merged into Sidewalk to Summit. For the first time it feels close to something I can hand to beta users. Close isn't the same as ready, though, and this post is about the gap between them.

Two new cities

Back in July I tested the route generator in Seattle before I trusted it. It made 18 round-trip loops from three starting points, and I went through them one at a time asking whether I'd actually walk each one at 6am in November. I said yes to 12. Measured afterwards, 81% of the distance across all 18 was footway, path or steps. Seattle's sidewalks are mapped well enough in OpenStreetMap that a generated loop is usually a walkable one.

This month I pointed it at Gothenburg and Istanbul. It drew routes in both cities. Generation is slow, but it worked.

Some of those routes go across water.

Others look completely reasonable on the map. I haven't walked any of them yet, so I can't tell you whether they're any good.

Right now the generator turns a loop down for two reasons: it runs along a state highway, or, in Seattle, the city says the staircases on it are out of service. Neither check asks whether a line crosses a harbour. I think the map was showing a ferry route, but I still need to look into it. Either way, avoiding ferries is now on the task list.

The check that doesn't travel

The Seattle test worked because I was the test. I know those streets. I can look at a loop over Queen Anne and tell you whether the stairs at the end are worth it.

I can't do that for Istanbul. Nobody building a solo app can do it for every city a user might train in. So the person who ends up checking whether a route can be walked is the person walking it.

That makes beta feedback part of the product's safety system, which changes how it has to be built.

Feedback that can change something

The app doesn't have a free-text feedback box, on purpose. I took it out in September. Storing what people type means handling whatever they type, and a box that collects paragraphs gives me paragraphs to read and no way to act on them at scale. Instead, feedback is a few fixed answers attached to a specific route on a specific session. If you'd walk it, say so. If you skipped it because of the streets or the stairs, say that. If there's a hazard, pick what kind. Anything longer goes to an email address.

Each of those answers is tied to something the app can act on. A hazard report goes to me for approval, shows on that route for 90 days, and then expires. When enough different plans skip the same staircase, routes that use it get moved to the back of the list. They never disappear automatically, because a plan link is all it takes to vote and nothing stops one person voting over and over. Removing a place from the map is a decision I make myself.

Outside Seattle, a lot of that feedback lands nowhere. If the app doesn't recognise any staircase on a loop, a "streets or stairs" skip has nothing to attach to. In September I chose to count those misses rather than pretend they weren't happening. An admin page now shows, city by city, how much feedback reached the map and how much didn't. That's the number I'll be watching once other cities have real users in them.

What's left before beta

Plainly:

  • The engine math needs another review. The training engine is the part that can hurt someone if it's wrong, so it gets more checking than anything else.
  • Route quality outside Seattle, starting with not walking anyone into a harbour.
  • Maps are slow to generate.
  • There's still a lot of reading in the app. Every plan explains why it is the way it is, which is the point, but there's too much of it.
  • Legal and business. Terms, privacy, and how this pays for itself.

On the last one: I decided at the end of September not to build paid tiers yet. Writing a plan's explanations costs somewhere between 3 and 16 cents a plan. A single card payment fee is more than that, and taking payments means building accounts, which the app doesn't have. So the plan is to keep costs low and keep an eye on them, and to reconsider tiers if the AI bill goes past $20 a month.

I'm not trying to make this a big business. I'd like it to earn enough to keep itself running, and it would be nice if one day it helped pay my way too. The next step is finding out whether people find it useful enough for that.

Top comments (0)