Lewisham Walks is a GNOME app for finding overlooked local stories and turning them into walks. It starts in Lewisham, with useful border context from Greenwich and Southwark.
Choose a postcode or a point on the map, a duration and a theme. The app restores the last successfully used start postcode; on first use it can ask the desktop for an approximate location and turn that into a UK postcode, falling back to central Lewisham. It then selects nearby discoveries, can add a cafe or pub, requests a pedestrian route, groups its walking directions between story stops, and exports GPX. Moving the map repicks a spatially distributed set of stories from the full local corpus so the map remains useful for exploration.
The planner and bundled discoveries work locally. Keyless open services add current information:
- Postcodes.io for UK postcode lookup.
- OpenStreetMap Overpass and Nominatim for optional cafes and pubs.
- The FOSSGIS OpenStreetMap routing service for pedestrian routes.
- OpenStreetMap/OpenMapTiles data through libshumate for the map.
No account, commercial API key or secret is required. If live routing is unavailable, Lewisham Walks clearly labels and shows a local straight-line approximation.
This repository is an early public development checkpoint. There is not yet a tagged release or Flathub listing. Build the Flatpak locally to try it. See Flathub readiness for the validation evidence and remaining release steps.
Install the GNOME 51 SDK and Flatpak Builder, then run:
flatpak run org.flatpak.Builder --force-clean --disable-rofiles-fuse \
--user --install-deps-from=flathub --ccache \
--install flatpak-build com.nedrichards.lewishamwalks.Devel.json
flatpak run com.nedrichards.lewishamwalks.Devel--disable-rofiles-fuse is useful in restricted or containerised environments where Flatpak Builder cannot mount its normal read-only filesystem.
For a source-tree development build:
meson setup build-dir
meson compile -C build-dir
meson test -C build-dir
PYTHONPATH=src python3 -m lewisham_walks.mainRun all GTK/Libadwaita responsive tests in the pinned GNOME SDK:
./scripts/test_in_gnome_sdk.shSee CONTRIBUTING.md for the complete validation gate.
Bundled plaques, high-grade listed buildings, cultural venues and blossom points can be explored without sending their coordinates anywhere. If location permission is granted, the desktop-provided coordinate is sent to Postcodes.io solely to find the nearest UK postcode. Manual postcode lookup also uses Postcodes.io; a route request sends selected coordinates to the routing service, while cafe and pub lookup sends the search area to OpenStreetMap services.
The app stores one last successfully used start postcode in desktop settings, not a location history; map-picked coordinates are not remembered. Libshumate keeps downloaded vector tiles in the application's cache so revisiting Lewisham avoids unnecessary network traffic and can reuse available tiles offline. Lewisham Walks has no account system or analytics.
The generated discovery data has source-specific terms which are separate from the application code licence. See DATA_SOURCES.md before redistributing or regenerating it.
Lewisham Walks source code is licensed under the GNU General Public License v3.0 or later. Data and map attribution are documented separately in DATA_SOURCES.md.
