Inspiration
In 2006, a friend and I created Sverigeföraren.se, a community wiki for Swedish climbers. We wanted one place where people could share routes, boulders, topos, and practical information about climbing areas around the country.
The site grew into a resource that many Swedish climbers relied on. We sold it in 2013, and over time it fell into disrepair.
What survived was a snapshot from 2014. It contained years of work from the climbing community, but that knowledge was buried in old MediaWiki templates, loosely formatted text, filenames, photographs, and hand-drawn topos.
Coming back to those files more than a decade later felt deeply personal. More importantly, the knowledge inside it was never mine alone—it had been created route by route by climbers across Sweden. I wanted to return it to the community it belongs to, preserving its history and sources while using AI only as a tool to make that knowledge accessible again, never as a replacement for the people behind it.
That became the starting point for the new community driven Sverigeklättraren.
What it does
Sverigeklättraren is a modern climbing guide built from the preserved wiki. It currently contains 803 climbing areas and more than 14,800 routes and boulder problems.
Climbers can:
- Search for an area or an individual climb.
- Filter routes by grade, sector, and climbing type.
- Find maps, approaches, sectors, photographs, and topos.
- Open route cards connected to numbered lines in a topo.
- See grades, lengths, first ascents, descriptions, and sources.
- Read the guide in Swedish or English.
- Check current access information from the Swedish Climbing Federation.
- Submit corrections and additions in ordinary language.
The most important part is not the number of routes. It is knowing where the information came from.
Every published fact remains connected to a source. If the application cannot reliably match a route to a topo, it says so. It does not turn an uncertain guess into a confident-looking fact.
Access restrictions, closures, parking, coordinates, approaches, and safety information receive extra protection. Changes to those fields require an authoritative source and human review.
How we built it
I kept the complete 2014 MediaWiki and image snapshot unchanged. It is the project’s primary source and can always be revisited.
I then built an importer that converts the old mixture of templates and free-form text into version-controlled JSON documents. Deterministic code handles the material it can understand reliably. GPT-5.6 is used for the parts where structure is implicit or ambiguous.
The application uses GPT-5.6 in three editorial roles:
- An import agent finds route lists in loosely structured text and proposes structured records.
- An editor agent turns a climber’s free-text contribution into a specific, source-backed change proposal.
- A quality agent independently checks sources, contradictions, uncertainty, and presentation.
GPT-5.6 vision can also read route numbers and other markers from old topo images. It proposes connections between a topo and the corresponding routes, but every proposed connection records its method, evidence, and confidence.
Git is the wiki’s memory. Accepted changes become diffs and commits, while the original archive remains untouched. This means I can rebuild the guide without losing later community contributions or the reasoning behind them.
Codex was involved throughout Build Week. I used it to explore the legacy archive, design the provenance model, build the importer and Next.js interface, implement the agent workflow, write tests, investigate failures, and set up the Docker and Cloudflare deployment.
I also used Codex while preparing the demo script, documentation, and early drafts of this submission. I made the final product and editorial decisions—including rewriting the description in my own voice.
Challenges we ran into
The old wiki was written by people, not generated from a database.
One area might describe its routes with a MediaWiki template. Another might use a heading followed by paragraphs. Sometimes a route number existed only as a handwritten mark in a topo. In other cases, the filename or the order of elements on a page was the only clue connecting an image to a sector.
Recovering that hidden structure was the main technical challenge.
The harder product question was deciding where AI should stop.
Climbers use this information in the real world. Incorrect parking information can damage relationships with landowners. An outdated closure can create an access problem. Incorrect coordinates or safety information can have more serious consequences.
A convincing answer from a model is therefore not evidence. I designed the system around one rule:
The model may interpret a source, but it is never itself the source.
Copyright presented a related problem. Some historical material is openly licensed and can be republished with attribution. An external website, however, might only be suitable for confirming a short fact. Sverigeklättraren tracks provenance per field so those cases do not get mixed together.
Accomplishments that I’m proud of
The clearest result is that 803 climbing areas and more than 14,800 climbs are useful again.
But I am more proud that this became a real product rather than an archive viewer or migration experiment. A climber can search for a destination, open a map, find a sector, inspect its topo, read route information, check access restrictions, and submit a correction from a phone.
I am also proud of how the application handles uncertainty. Topo relationships record how they were discovered and what evidence supports them. Weak relationships are not silently promoted to facts.
The contribution workflow is another important result. It lets people describe a correction naturally, while the system turns it into something structured, sourced, reviewable, and permanent.
What we learned
I started the project thinking mainly about how AI could recover structure from old information. I ended up thinking just as much about trust.
A legacy archive contains meaning in unexpected places: document order, filenames, captions, formatting, image annotations, and conventions that were obvious to the original community but never formally documented.
GPT-5.6 is good at finding those relationships. The useful part, however, is not simply receiving an answer. It is requiring the model to show the evidence behind that answer and allowing the product to remain uncertain.
I also learned that confidence should be visible to users, not hidden inside an enrichment pipeline.
Finally, Git turned out to be more than a development tool. In this project it provides a memory for the wiki—a record of what changed, why it changed, and what source supported the decision.
What’s next for Sverigeklättraren
The next step is to do some more polish and put the ownership back into the hands of Swedish climbers.
I want people to test the recovered information, contribute firsthand updates, improve uncertain topo relationships, and help create a sustainable review process. I also want to improve offline use for areas with poor reception, make geographic discovery better, and deepen the integration with authoritative access information.
Sverigeklättraren began as a very specific project: recovering one Swedish climbing wiki that I helped start almost twenty years ago.
But the underlying problem is much broader. Valuable knowledge is disappearing inside abandoned wikis, old documents, diagrams, tickets, and the memories of people who have moved on.
This project is one attempt to recover that knowledge without separating it from its history, its sources, or the people who should remain responsible for it.
Built With
- codex
- computer-vision
- docker
- git
- github-container-registry
- gpt-5.6
- llm
- maplibre-gl
- mediawiki
- multi-agent-systems
- next.js
- node.js
- openai-api
- react
- responses-api
- tailscale
- typescript
- zod
Log in or sign up for Devpost to join the conversation.