Work in progress: this page is under construction · noindex · access code required.
← Back to portfolio

Case study

Kula Research Infrastructure — encrypted, offline-first field-research archive

A bespoke desktop archive that turns decades of Kula-ring fieldwork into a searchable, mapped and 3D-visualised database — fully offline and encrypted, so community-collected knowledge never leaves the researcher's machine.

Flutter Desktop SQLCipher (encrypted) flutter_map / OSM Local AI (Whisper + Ollama) Riverpod 3D visualisation
Kula Research Infrastructure — encrypted, offline-first field-research archive
Role
Solo — Konzeption, Architektur, Vollumsetzung, Auslieferung
Stack
Flutter (Desktop) · Riverpod · SQLite/SQLCipher · flutter_map/OSM · Whisper · Ollama
Timeline
Delivered · in production use, with ongoing support and refinements
Year
2026
Status
Delivered · in production use

A bespoke, offline-first, encrypted desktop archive for decades of Kula-ring field research — built around how the work is actually done in the communities.

| | | | ------------ | ---------------------------------------------------- | | Live | — (private desktop tool, runs on the researcher's machine) | | Source | — (private) | | Role | Solo — concept, architecture, full implementation, delivery | | Stack | Flutter (Desktop) · Riverpod · SQLite/SQLCipher · flutter_map/OSM · Whisper · Ollama | | Timeline | Delivered · in production use, with ongoing support and refinements |

The challenge

Prof. Dr. Susanne Kuehling (Department of Anthropology, University of Regina) researches the Kula ring across the entire Massim region, with a focus on Dobu and the southern Massim. The genuinely innovative part is the method: the research is done with and for the community — a team of up to 15 Kula masters collected the data on-site in the communities, oriented to the community's own needs. The result was decades of growing, irreplaceable — and culturally sensitive, community-owned — documentation, scattered across Excel. It needed structure, search, maps and a time dimension, while never leaving the researcher's machine or touching a cloud.

The approach

  • Built a bespoke Flutter desktop app from the real fieldwork requirements — not a generic CRUD clone.
  • Encrypted at rest (SQLCipher); a clean ETL pipeline and data model (objects → observations → stations → people/places).
  • Three synchronised views of the same data over a single filter path: an Excel-like table, an OpenStreetMap map with object trajectories, and a 3D time view that lifts each valuable's journey over space and time.
  • Media per object (photo/audio/video) with local, offline transcription (Whisper) and an optional local LLM ("ask the archive", Ollama) — no cloud.
  • A multi-level sensitivity model mirroring community control over knowledge, plus full Excel/JSON export so the researcher always owns her data.

The result

  • A working tool in real research use: over a thousand documented valuables and their journeys across the Massim region, searchable, mapped and 3D-visualised — fully offline and encrypted.
  • Filtering/search spans every field (notes, source, year, holder, places, people); the table, map and 3D view stay consistent through one shared engine.
  • Backed by an ADR-driven architecture, a broad automated test suite and CI.

What this demonstrates

  • Requirements-driven, bespoke delivery — a real, demanding user workflow shipped end to end, not a demo.
  • Data sovereignty as architecture (offline, encrypted, no cloud lock-in) — exactly the confidentiality/GDPR concern many small organisations have.
  • Respectful handling of sensitive, community-owned data as a product principle (these screenshots are privacy-protected for that reason).
  • Modern AI-assisted delivery, human-curated — fast and exploratory, steered by an engineer who owns architecture → build → deployment → docs.

Tech at a glance

Flutter · Dart · Riverpod · SQLite + SQLCipher · flutter_map / OSM · Whisper (local) · Ollama (local) · Excel I/O · CI

A note on the screenshots: the data shown is privacy-protected (blurred placeholders here, synthetic demo data going forward). The real records are community-collected knowledge and never appear in any public artefact — which is the whole point of the tool.