Computer Science student at Mbarara University of Science & Technology, currently building language AI at Sunbird AI fine-tuned translation models, evaluation infrastructure, and full-stack systems for the languages East Africa's tech usually leaves out.
Technology only matters when it speaks the language of the person using it a farmer in Ateso, a market vendor in Luganda, a nurse texting in Runyankole. Those are the systems I want to build.
Joseph Ssemuli is a Computer Science student at Mbarara University of Science and Technology and an AI/NLP engineering intern at Sunbird AI, where he builds language technology for Uganda's underserved languages.
His work sits at the intersection of rigorous software engineering and a genuine curiosity about how Ugandans actually speak including Luglish, the English–Luganda code-switching common in everyday conversation, which he is researching for his dissertation. He moves comfortably from fine-tuning transformer models in Python to shipping full-stack systems in Java and PHP, treating both as the same discipline: understanding a problem well enough to build something people can rely on.
Outside of shipped code, he's a technical mentor with the MUST Computing Community, an active member of the Google Developers Community at MUST, and a maintainer of several open-source repositories because he'd rather leave the ecosystem more documented than he found it.
Sunbird AI is a Kampala-based non-profit AI lab whose Sunflower assistant supports 67 African languages and has served thousands of translation requests across 93+ organisations. Joseph joined the research and engineering team as an intern, reporting to Software Engineering Lead Walukagga Patrick — progressing from onboarding to owning one of the team's now-active production tools.
Joined the research and engineering team, completed the Git By Bit practical course and the full HuggingFace LLM Course with transformer architectures, fine-tuning strategies, tokenisation, and GRPO theory and stood up the Sunbird developer environment.
Curated a golden evaluation set on Argilla, fine-tuned NLLB-200 (distilled 600M) to a 17.84 BLEU score, ran QLoRA parameter-efficient fine-tuning on Qwen2.5-1.5B-Instruct cutting trainable parameters from 1.5B to ~6.8M and shipped a live Gradio translator to Hugging Face Spaces.
Built a complete GRPO reinforcement-learning pipeline for SmolLM-135M with custom word-overlap reward functions the same alignment technique behind DeepSeek-R1 then ran WhatsApp bot UAT across ten categories, from language-switching to prompt-injection resistance.
Designed the Sunflower Automated Evaluation Pipeline Executor, Scorer and Regression Runner after Sunbird's Dr. John Quinn flagged that manual testing couldn't scale. Also published model documentation for Sunflower-14B-GGUF and Sunflower-32B on the SALT platform, and shipped CampusGPT Uganda, a RAG-backed university assistant.
Curated the structured JSON test dataset behind the evaluation pipeline from Sunflower beta-test results and feedback logs, filed the WhatsApp and Web Chat UAT reports, and ran Sunflower's GRPO inference stack on vast.ai GPU infrastructure.
Pushed the finished evaluation pipeline to Sunbird AI's GitHub org — now in active use by the team and began annotating the Entebbe urban noise dataset for the Environmental Sensing project, studying the underlying acoustic-taxonomy research first.
Implemented direction-specific SAHARA benchmark tasks across African–African, English–African and French–African translation pairs, and mapped language overlap between the SAHARA benchmark and Sunflower's 67-language inventory.
Ran the full SAHARA benchmark on Sunflower-14B and Sunflower-9B with the team, closed out annotation at 6,000 audio clips and the weekend before, represented Sunbird AI at the Fort Portal City Marathon, collecting community survey data with DataCities and the City Council.
A mix of applied AI, full-stack systems, and collaborative builds each one shipped, not just scaffolded.
A Scikit-learn model predicting patient no-shows for hospital scheduling, addressing real resource wastage. Deployed as an interactive Streamlit app.
Fine-tuned NLLB-200 for direct English→Luganda translation, reaching a 17.84 BLEU score, with a public model card and a live Gradio demo.
A domain-specific assistant for MUST built with QLoRA fine-tuning via Unsloth and a ChromaDB RAG pipeline, deployed as a GGUF model with a live Gradio Space.
A full GRPO reinforcement-learning pipeline fine-tuning SmolLM-135M for summarisation with custom reward functions the alignment technique behind DeepSeek-R1.
A booking engine in Java featuring automated seat-allocation logic and real-time transaction processing to streamline transport logistics.
A full-stack job-matching platform with secure authentication, built to bridge the gap between talent and opportunity in the local labour market.
A dynamic task-management application with real-time state management, built to optimise personal workflow and organisational efficiency.
A collaborative system for collecting and analysing citizen feedback, aligned with Sunbird AI's Citizen Feedback project portfolio area.
A collaborative translation tool built on top of the Sunflower multilingual model family.
A collaborative tool exploring AI-assisted agricultural extension services for local farming communities.
Every project below is public, documented, and built to be read by someone else. That's deliberate Joseph maintains model cards, READMEs, and issue threads with the same care as the code itself.
Certified achievements link out to their original issuer for verification, or open the certificate directly.
Based in Mbarara & Kampala, Uganda, happy to work remotely or relocate. The fastest way to reach me is email; I usually reply within a day.