INTERACTIVE WEB / ALGORITHMS
CAMÍ CURT
Find the connection. Discover the territory.

Every border is a connection.
Choose two comarques to find a route with the fewest border crossings. Each step must share a boundary with the next region.
Montsià → Baix Ebre → Baix Camp → Alt Camp → Anoia → Bages → Osona → Garrotxa → Alt Empordà
An isolated explorer using Camí Curt’s map dataset. The full game adds its own levels and route rules.
Map source: Camí Curt map dataset · GeoJSON-Mapas (2014 snapshot) ↗
01 / THE PROBLEM
A small route. A surprisingly deep problem.
A map can teach much more than names. The challenge is to make geographic relationships tangible, playful and worth returning to.
02 / THE APPROACH
How the system fits together.
Players connect two Catalan comarques through adjacent territories, with rules requiring or forbidding particular regions. Dijkstra enumerates optimal routes; A* provides a complementary length check. The SVG map makes the graph visible and gives feedback on every move.
Comarca geometry → TopoJSON + D3
Adjacency graph → Dijkstra + rule validation
Web Worker → shortest-path cache
React → interactive SVG map
Supabase → shared daily calendar
03 / ENGINEERING DECISIONS
Turn a graph into something intuitive
Geometric territories act as selectable graph nodes. Route feedback connects the player’s choices with an optimal path.
Make a daily challenge dependable
A shared daily calendar has a local generation fallback. A Web Worker precomputes route caches while the main thread keeps the map responsive. Normal, time-trial and exploration modes complement the daily challenge.
CURRENT SCOPE
Live application. The installation uses the game’s 41-region geographic dataset. That dataset is not presented as a claim of current administrative completeness. Portfolio interactions stay local and do not access player sessions.