Sitemap

A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.

Pages

Posts

Future Blog Post

less than 1 minute read

Published:

This post will show up by default. To disable scheduling of future posts, edit config.yml and set future: false.

Blog Post number 4

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 3

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 2

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 1

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

open_source

Didgelab

Published:

DidgeLab is a free open-source toolkit to compute didgeridoo geometries. Traditionally, building a didgeridoo is a random process: builders know how geometry influences the sound, but the exact sonic properties can only be determined after the instrument is built. DidgeLab helps by first defining the desired sound and then computing a geometry that (in simulation) achieves it.

Crawlzilla

Published:

Crawlzilla logo

The Large Language Models that we build are only as capable as the data they consume. For high-resource languages, finding massive, clean datasets is largely a solved problem. But when building models for low-resource languages, we kept hitting the same bottleneck: we needed a more agile way to crawl, extract, and structure web data to build our own training corpora. To solve this, I’m excited to share my latest open-source project: Crawlzilla.

Loom: LLM Batch Processing Made Easy

Published:

Loom: LLM Batch Processing Made Easy

In my daily work, I often need to process whole datasets with LLMs. This required my to always write the same code again. Many LLM providers like Google or OpenAI have special batch APIs, that reduce the token cost by 50%, but these was always too complicated to use. Therefore, I created Loom. Loom is a Python command line tool that makes batch processing easy.

Languages of the World

Published:

Languages of the World

When developing open-source models and datasets for low-resource languages like Kinyarwanda, I consistently ran into the same architectural bottleneck: linguistic metadata is scattered everywhere. Whether you need ISO 639-3 codes, Glottolog family trees, or regional speaker counts, the data is typically siloed across mismatched CSVs, XML files, and SPARQL endpoints. Working as computational linguist with many languages, I needed a way to instantly access and cross-reference this global information without building custom data wrangling pipelines for every new NLP project.

portfolio

FREME Project

Published:

Led a 15-person international team transferring multilingual semantic NLP technologies to industry; rated excellent by the EU.

dfki.de Website Relaunch

Published:

Tech-led the relaunch of DFKI’s institutional website — over 180,000 pages across 25 research departments — on time and on budget.

Legal Semantic Search Platform

Published:

Implemented a semantic search platform that finds legal documents by meaning rather than exact keyword matches.

Federated Chatbots Consultancy

Published:

Advised a major German IT company on federated multi-agent chatbot architecture and improved their modeling and evaluation pipeline.

AI Infrastructure & Efficient LLM Deployment

Published:

Shortly after ChatGPT’s release, the first open-source LLMs started appearing - and almost immediately ran into a practical problem: there was no standard, reliable way to actually deploy them. Every model came with its own quirks, hardware requirements, and setup process. I initiated an open-source project to build a deployment platform that made running these models a solved problem rather than a fresh engineering exercise every time.

Project-Based Learning: Chatbot Challenge

Published:

Designed and led project-based TU Berlin courses where students shipped working chatbots — from tourism bots and games to systems that train people against science denial.

German Municipal RAG Chatbot

Published:

Built a RAG chatbot that gives citizens conversational, sourced answers about German municipal services from official documentation.

Rwanda National GPU Data Center

Published:

Helped Rwanda with its first dedicated GPU server and conceptualize a national HPC center for sovereign public-sector AI.

Tunga Agricultural Chatbot

Published:

A Kinyarwanda telephone voicebot that answers farmers’ questions from verified agricultural knowledge. Now used in Rwanda’s Ministry of Agriculture call center.

publications

Paper Title Number 4

Published in GitHub Journal of Bugs, 2024

This paper is about fixing template issue #693.

Recommended citation: Your Name, You. (2024). "Paper Title Number 3." GitHub Journal of Bugs. 1(3).
Download Paper

talks

Keynote: The Rwandan Agricultural Chatbot

Published:

GIZ Morocco invited me to hold the keynote “Lessons learned from the Rwandan Agricultural Chatbot” for the online event “Artificial Intelligence Webinar”.

teaching

Teaching experience 1

Undergraduate course, University 1, Department, 2014

This is a description of a teaching experience. You can use markdown like any other post.

Teaching experience 2

Workshop, University 1, Department, 2015

This is a description of a teaching experience. You can use markdown like any other post.