Spaces:
Running on Zero
Running on Zero
Tristan Leduc Claude Opus 4.8 (1M context) commited on
Commit ·
2ab78dc
1
Parent(s): 6881784
Docs/UI: reflect multi-city + Off the Grid; Thousand Token Wood track
Browse files- README/Space card: cities (Paris/London/Barcelona/NYC), offline no-cloud-API
framing, track tag → thousand-token-wood, badge tags → off-the-grid/off-brand/
tiny-titan/field-notes/openbmb.
- Start-field help now names the supported cities so judges find multi-city.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- README.md +18 -13
- src/discoverroute/ui/shell.py +2 -1
README.md
CHANGED
|
@@ -11,11 +11,11 @@ pinned: true
|
|
| 11 |
license: apache-2.0
|
| 12 |
short_description: A-to-B routes through places you'll love
|
| 13 |
tags:
|
| 14 |
-
-
|
|
|
|
| 15 |
- badge-off-brand
|
| 16 |
- badge-tiny-titan
|
| 17 |
-
- badge-
|
| 18 |
-
- badge-best-demo
|
| 19 |
- openbmb
|
| 20 |
---
|
| 21 |
|
|
@@ -31,7 +31,8 @@ going and the kind of moment you're after — "a slow Sunday-morning kind of wal
|
|
| 31 |
one is on your path. Same destination. A walk you'll remember instead of one you'll forget.
|
| 32 |
|
| 33 |
> One-liner: **WanderLust turns any walk from A to B into a personal discovery — routing
|
| 34 |
-
> you through places that match your taste, not just the fastest path.**
|
|
|
|
| 35 |
|
| 36 |
---
|
| 37 |
|
|
@@ -64,8 +65,9 @@ the experience feel like it read your mind.)
|
|
| 64 |
weights (JSON), and route → first-person itinerary narration.
|
| 65 |
- **ZeroGPU:** the model runs **inside the Space** on HF ZeroGPU via `@spaces.GPU`,
|
| 66 |
weights pulled from the Hub — no external inference API, nothing leaves the Space.
|
| 67 |
-
- **OpenStreetMap + OSMnx:**
|
| 68 |
-
cached offline (Git LFS) so
|
|
|
|
| 69 |
- **Routing — classical, exact:** a `networkx` + SciPy multi-source Dijkstra travel-time
|
| 70 |
matrix, solved by a custom **orienteering** (prize-collecting TSP) heuristic with
|
| 71 |
submodular diversity — so you get a park + a viewpoint + a bookshop, not five cafés.
|
|
@@ -117,13 +119,16 @@ story, `PROGRESS.md` for the per-feature log.
|
|
| 117 |
|
| 118 |
## Architecture
|
| 119 |
|
| 120 |
-
**Offline (built once
|
| 121 |
-
POIs with feature priors + confidence.
|
|
|
|
| 122 |
|
| 123 |
-
**Runtime (per request):** interpret vibe → score corridor POIs → solve
|
| 124 |
-
(orienteering) → trace a real polyline → narrate + overlay on the map.
|
| 125 |
|
| 126 |
The model is load-bearing only in **interpretation and narration**; routing is pure
|
| 127 |
-
classical algorithms. Geocoding is local-first — named
|
| 128 |
-
|
| 129 |
-
|
|
|
|
|
|
|
|
|
| 11 |
license: apache-2.0
|
| 12 |
short_description: A-to-B routes through places you'll love
|
| 13 |
tags:
|
| 14 |
+
- thousand-token-wood-track
|
| 15 |
+
- badge-off-the-grid
|
| 16 |
- badge-off-brand
|
| 17 |
- badge-tiny-titan
|
| 18 |
+
- badge-field-notes
|
|
|
|
| 19 |
- openbmb
|
| 20 |
---
|
| 21 |
|
|
|
|
| 31 |
one is on your path. Same destination. A walk you'll remember instead of one you'll forget.
|
| 32 |
|
| 33 |
> One-liner: **WanderLust turns any walk from A to B into a personal discovery — routing
|
| 34 |
+
> you through places that match your taste, not just the fastest path.** Cities: **Paris,
|
| 35 |
+
> London, Barcelona, New York** — all routed **fully offline** (no cloud APIs at request time).
|
| 36 |
|
| 37 |
---
|
| 38 |
|
|
|
|
| 65 |
weights (JSON), and route → first-person itinerary narration.
|
| 66 |
- **ZeroGPU:** the model runs **inside the Space** on HF ZeroGPU via `@spaces.GPU`,
|
| 67 |
weights pulled from the Hub — no external inference API, nothing leaves the Space.
|
| 68 |
+
- **OpenStreetMap + OSMnx:** walking/biking graphs and POIs for **Paris, London,
|
| 69 |
+
Barcelona and New York**, pre-built and cached offline (Git LFS) so every city is
|
| 70 |
+
instant — and routes with **no cloud API calls at request time** (Off the Grid).
|
| 71 |
- **Routing — classical, exact:** a `networkx` + SciPy multi-source Dijkstra travel-time
|
| 72 |
matrix, solved by a custom **orienteering** (prize-collecting TSP) heuristic with
|
| 73 |
submodular diversity — so you get a park + a viewpoint + a bookshop, not five cafés.
|
|
|
|
| 119 |
|
| 120 |
## Architecture
|
| 121 |
|
| 122 |
+
**Offline (built once per city, cached):** OSM extract → walk/bike routing graph →
|
| 123 |
+
POIs with feature priors + confidence. Paris ships full-city; London, Barcelona and
|
| 124 |
+
New York are baked as walkable cores (`python -m discoverroute.data.build_city`).
|
| 125 |
|
| 126 |
+
**Runtime (per request):** pick the city → interpret vibe → score corridor POIs → solve
|
| 127 |
+
the detour (orienteering) → trace a real polyline → narrate + overlay on the map.
|
| 128 |
|
| 129 |
The model is load-bearing only in **interpretation and narration**; routing is pure
|
| 130 |
+
classical algorithms. Geocoding is local-first — named places resolve against the cached
|
| 131 |
+
POI index (Paris + every pre-baked city) with no network call. With
|
| 132 |
+
`DISCOVERROUTE_OFFLINE=1` (the deployed config) there are **zero cloud API calls at
|
| 133 |
+
request time** — routing is limited to the pre-baked cities. Map data © OpenStreetMap
|
| 134 |
+
contributors (ODbL).
|
src/discoverroute/ui/shell.py
CHANGED
|
@@ -344,7 +344,8 @@ def _left_panel() -> str:
|
|
| 344 |
value="Place de la République, Paris">
|
| 345 |
</div>
|
| 346 |
<div class="combo-list" id="dr-start-list"></div>
|
| 347 |
-
<div class="dr-help">
|
|
|
|
| 348 |
</div>
|
| 349 |
|
| 350 |
<div class="dr-control combo">
|
|
|
|
| 344 |
value="Place de la République, Paris">
|
| 345 |
</div>
|
| 346 |
<div class="combo-list" id="dr-start-list"></div>
|
| 347 |
+
<div class="dr-help">📍 Paris · London · Barcelona · New York — try a landmark
|
| 348 |
+
(e.g. "British Museum, London"), not a street address.</div>
|
| 349 |
</div>
|
| 350 |
|
| 351 |
<div class="dr-control combo">
|