Jan 20253 min read

Winning Hack4SSB 2025 with the VektorVikings

How a cross-team crew at Statistics Norway fused vector search, MCP tooling, and clear interfaces to win the yearly hackathon.

🚀 This year’s Hack4SSB was a blast! 🎉
Hack4SSB = Statistics Norway’s yearly internal hackathon

I got to team up with a bunch of friendly dudes from other departments, some of whom have just recently started working for SSB. I was very impressed of how adaptable, humble and inventive everyone was, how easily the communication, github and other worked flowed. We early on defined "data-interfaces" (see green and blue points in the architecture slide) where parallell work was possible before and after these layers, so we could often split the team into 2-3 smaller groups while working.

Architecture of the VektorVikings solution

Our project:

  1. Build a vector-embedding–based search across SSB’s content (articles + one 140-page PDF for the hack).
  2. Wrap it in an API that not only serves search + full documents, but also exposes an MCP server so an AI/LLM can use it as tools.

The search with distance

The Techstack

  • Own code and Docling for data-collection , -filtering and -unification Docling Github
  • NB-SBERT-BASE from the AI-lab at the Nasjonalbiblioteket | The National Library of Norway used for doing the vectorization Linkedin page of National Library
  • The extension sqlite_vec and sqlite to create a .db file. Sqlite Vec Github
  • FastAPI + FastAPI-MCP to host the API that distributes the database's content FastAPI MCP Github
  • A demo website for search, copying the design of ssb.no, turned into a jinja-template also hosted by another fastapi-instance.
  • We demoed the MCP using Claude locally on the desktop (we generated an http-stdio bridge using AI, so that Claude works even without a subscription).

🏆Oh, and yes. We won the jury prize :)

Talking to the MCP with Claude locally

Linkedin Post mirroring content here