Since 2023
Islam West Africa Collection
An open-access archive of over 14,700 items on Islam and Muslims in Benin, Burkina Faso, Côte d’Ivoire, Niger, Nigeria, and Togo.
View projectInfrastructure · 16 projects · Since 2018
Not an end in itself, but a response to a concrete problem. After years of fieldwork across West Africa, I had accumulated thousands of documents that exceeded what traditional methods could process. These projects turn that accumulation into open research infrastructure — digital archives, AI-assisted pipelines, interactive visualisations, and conversational interfaces — so that African historical sources are not only preserved but made usable.
Since 2023
An open-access archive of over 14,700 items on Islam and Muslims in Benin, Burkina Faso, Côte d’Ivoire, Niger, Nigeria, and Togo.
View project
Interactive research atlas for the Africa Multiple Cluster of Excellence — browse, filter, and compare projects, people, institutions, and research items across partner centres in Africa, Brazil, and Germany.
Omeka S Typesense Docker Nginx Svelte 5 TypeScript ECharts MapLibre GL MongoDB Model Context Protocol Data visualisation Network graphs
A reproducible pipeline and interactive dashboard tracing how the word genocide was used across 106,302 UN Security Council speeches, 1992–2023. Built with Python and SvelteKit, with every figure traceable to the script that made it.
Python pandas Corpus Linguistics NLP Text Analysis Reproducible Research SvelteKit Svelte 5 TypeScript ECharts MapLibre GL Data Visualisation GitHub Actions
A Model Context Protocol server and companion agent skill that give AI assistants structured, read-only access to the Islam West Africa Collection — overcoming the limitations of keyword search through structured, AI-mediated access to the corpus.
Python Model Context Protocol LLM Prompt Engineering pandas Hugging Face JSON Omeka S API
Interactive visualisation of sentiment patterns in 12,280+ West African press articles on Islam, with multi-model comparison (ChatGPT, Gemini, Mistral) and third-party arbitration.
Svelte Data Visualisation ECharts Vite Tailwind CSS TypeScript Prompt Engineering LLM JSON
A lightweight desktop app that captions a room as people speak, either translating into English or French or transcribing the spoken language. Built in Rust and Tauri for a bilingual workshop at STIAS in Stellenbosch.
Rust Tauri SvelteKit Svelte 5 TypeScript WebSocket Real-time Audio Speech Recognition Machine Translation LLM Accessibility
An interactive map tracing the public artworks of the Egyptian sculptor Hassan Heshmat across ten countries, developed for the Leibniz-Zentrum Moderner Orient (ZMO). Built with SvelteKit and MapLibre GL JS.
Svelte 5 SvelteKit TypeScript MapLibre GL WebGL Interactive mapping Data visualisation
Python workflows for processing the Islam West Africa Collection using Large Language Models—automating OCR, NER, transcription, and summarisation at scale.
Python LLM Prompt Engineering OCR HTR NER NLP Docker Omeka S API
The website for a VolkswagenStiftung scoping workshop held in Hanover in February 2026, which documents its programme and 26 participants and carries a filterable bibliography of over 200 works, a concept map of the literature, six filmed interviews, and the forthcoming position paper.
Svelte 5 SvelteKit TypeScript Tailwind CSS D3.js Leaflet Python Zotero Metadata Standards Data Visualisation Network graphs