Computer scientist building automation, intelligent systems and the interfaces around them.
About Me
I have to have a reason before I start anything. So I look for the reason first, then build, making sure the reason is honoured.
It started as fascination. How does a television broadcast reach a room? How does a bank know what is in your account? Animations, games, the internet: so much of what I loved could be traced back to a computer, and I wanted to be able to say I was part of it. I could not pick one corner of it, so I chose computer science.
I am now in my third year at Uganda Christian University, majoring in AI and Robotics and also studying data science, because automation cannot be perfected without understanding data. My aim is simple: at the start of each year, to be a different person in everything I do.
How I work. I design my systems and make the decisions. I use AI tools to produce first drafts of code, then review, change and test them until they do what I intended.
Experience
IT Intern, Uganda Civil Aviation Authority, Entebbe, April to August 2026
Public Relations Manager, Honours College, UCU, November 2025 to November 2026
Class Representative, Computer Science, UCU
Web Designer and Manager (Intern), Makerere University Innovation Pod, February to September 2024
Achievements
Bronze Honour, International Youth Math Challenge 2025
Invited to a national mathematics camp, where the top 100 students in the country were tested to select a team of 15
Competed with a team at the Africa's Talking hackathon, building NetDoctor
Education
BSc Computer Science, Uganda Christian University, AI and Robotics track. CGPA 4.73 out of 5.
Cameras record more than anyone can watch. I am investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fail when rooms get noisy, and deaf and hard-of-hearing people pay for it. On a team of six, I am helping build a system that reads lips alongside audio.
Intelligent systemsManuscript in preparation
A PRISMA-guided review of computer vision for detecting suspicious activity in surveillance video.
Intelligent systemsCourse paper
A philosophy paper asking what happens when efficiency is treated as an optimisation problem and the thing being optimised includes people.
Cameras record more than anyone can watch. I am investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fail when rooms get noisy, and deaf and hard-of-hearing people pay for it. On a team of six, I am helping build a system that reads lips alongside audio.
Intelligent systemsManuscript in preparation
A PRISMA-guided review of computer vision for detecting suspicious activity in surveillance video.
Intelligent systemsCourse paper
A philosophy paper asking what happens when efficiency is treated as an optimisation problem and the thing being optimised includes people.
Cameras record more than anyone can watch. I am investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fail when rooms get noisy, and deaf and hard-of-hearing people pay for it. On a team of six, I am helping build a system that reads lips alongside audio.
Intelligent systemsManuscript in preparation
A PRISMA-guided review of computer vision for detecting suspicious activity in surveillance video.
Intelligent systemsCourse paper
A philosophy paper asking what happens when efficiency is treated as an optimisation problem and the thing being optimised includes people.
Cameras record more than anyone can watch. I am investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fail when rooms get noisy, and deaf and hard-of-hearing people pay for it. On a team of six, I am helping build a system that reads lips alongside audio.
Intelligent systemsManuscript in preparation
A PRISMA-guided review of computer vision for detecting suspicious activity in surveillance video.
Intelligent systemsCourse paper
A philosophy paper asking what happens when efficiency is treated as an optimisation problem and the thing being optimised includes people.
Cameras record more than anyone can watch. I am investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Intelligent systems · In progress · 2026-10 · Team project
Captions fail when rooms get noisy, and deaf and hard-of-hearing people pay for it. On a team of six, I am helping build a system that reads lips alongside audio.
Intelligent systems · Manuscript in preparation · 2026-10
A PRISMA-guided review of computer vision for detecting suspicious activity in surveillance video.
Intelligent systems · Course paper · 2026-10
A philosophy paper asking what happens when efficiency is treated as an optimisation problem and the thing being optimised includes people.
I keep my daily plans in a paper notebook. This tool turned 33 pages of those notes into a working Notion system, which runs even when my computer is off.
On a team of two, I worked on predicting hourly air pollution in Ugandan cities from low-cost sensor data, then served the model through a live dashboard.
A minimalist floating daily planner for Ubuntu, with a translucent glass window, weekly objectives and a focus timer.
Data and automationRunning
A small automation pipeline that keeps this site's heartbeat line up to date.
Building and shaping systemsInternship project
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, connecting passengers, service providers and Authority staff in one workflow.
Building and shaping systemsInternship project
During the same internship, I built a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
Building and shaping systemsHackathon prototype · Team project
A network diagnostics platform built by a small team at the Africa's Talking hackathon, designed to help customers and internet providers find where a connection has failed.
Intelligent systemsPrototype · Team project
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
Building and shaping systemsIn development
A Linux desktop client aiming to work with Google Quick Share.
Data and automationCompetition entries
Machine learning competition entries, including financial stress prediction from mobile money behaviour, and biodiversity prediction from climate data.
I keep my daily plans in a paper notebook. This tool turned 33 pages of those notes into a working Notion system, which runs even when my computer is off.
On a team of two, I worked on predicting hourly air pollution in Ugandan cities from low-cost sensor data, then served the model through a live dashboard.
A minimalist floating daily planner for Ubuntu, with a translucent glass window, weekly objectives and a focus timer.
Data and automationRunning
A small automation pipeline that keeps this site's heartbeat line up to date.
Building and shaping systemsInternship project
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, connecting passengers, service providers and Authority staff in one workflow.
Building and shaping systemsInternship project
During the same internship, I built a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
Building and shaping systemsHackathon prototype · Team project
A network diagnostics platform built by a small team at the Africa's Talking hackathon, designed to help customers and internet providers find where a connection has failed.
Intelligent systemsPrototype · Team project
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
Building and shaping systemsIn development
A Linux desktop client aiming to work with Google Quick Share.
Data and automationCompetition entries
Machine learning competition entries, including financial stress prediction from mobile money behaviour, and biodiversity prediction from climate data.
I keep my daily plans in a paper notebook. This tool turned 33 pages of those notes into a working Notion system, which runs even when my computer is off.
On a team of two, I worked on predicting hourly air pollution in Ugandan cities from low-cost sensor data, then served the model through a live dashboard.
A minimalist floating daily planner for Ubuntu, with a translucent glass window, weekly objectives and a focus timer.
Data and automationRunning
A small automation pipeline that keeps this site's heartbeat line up to date.
Building and shaping systemsInternship project
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, connecting passengers, service providers and Authority staff in one workflow.
Building and shaping systemsInternship project
During the same internship, I built a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
Building and shaping systemsHackathon prototype · Team project
A network diagnostics platform built by a small team at the Africa's Talking hackathon, designed to help customers and internet providers find where a connection has failed.
Intelligent systemsPrototype · Team project
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
Building and shaping systemsIn development
A Linux desktop client aiming to work with Google Quick Share.
Data and automationCompetition entries
Machine learning competition entries, including financial stress prediction from mobile money behaviour, and biodiversity prediction from climate data.
I keep my daily plans in a paper notebook. This tool turned 33 pages of those notes into a working Notion system, which runs even when my computer is off.
On a team of two, I worked on predicting hourly air pollution in Ugandan cities from low-cost sensor data, then served the model through a live dashboard.
A minimalist floating daily planner for Ubuntu, with a translucent glass window, weekly objectives and a focus timer.
Data and automationRunning
A small automation pipeline that keeps this site's heartbeat line up to date.
Building and shaping systemsInternship project
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, connecting passengers, service providers and Authority staff in one workflow.
Building and shaping systemsInternship project
During the same internship, I built a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
Building and shaping systemsHackathon prototype · Team project
A network diagnostics platform built by a small team at the Africa's Talking hackathon, designed to help customers and internet providers find where a connection has failed.
Intelligent systemsPrototype · Team project
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
Building and shaping systemsIn development
A Linux desktop client aiming to work with Google Quick Share.
Data and automationCompetition entries
Machine learning competition entries, including financial stress prediction from mobile money behaviour, and biodiversity prediction from climate data.
I keep my daily plans in a paper notebook. This tool turned 33 pages of those notes into a working Notion system, which runs even when my computer is off.
Data and automation · Live · 2026-10 · Team project
On a team of two, I worked on predicting hourly air pollution in Ugandan cities from low-cost sensor data, then served the model through a live dashboard.
Building and shaping systems · In development · 2026-10
A minimalist floating daily planner for Ubuntu, with a translucent glass window, weekly objectives and a focus timer.
Data and automation · Running · 2026-11
A small automation pipeline that keeps this site's heartbeat line up to date.
Building and shaping systems · Internship project · 2026-08
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, connecting passengers, service providers and Authority staff in one workflow.
Building and shaping systems · Internship project · 2026-06
During the same internship, I built a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
Building and shaping systems · Hackathon prototype · 2026-09 · Team project
A network diagnostics platform built by a small team at the Africa's Talking hackathon, designed to help customers and internet providers find where a connection has failed.
Intelligent systems · Prototype · 2026-03 · Team project
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
Building and shaping systems · In development · 2026-10
A Linux desktop client aiming to work with Google Quick Share.
Data and automation · Competition entries · 2026-10
Machine learning competition entries, including financial stress prediction from mobile money behaviour, and biodiversity prediction from climate data.
Posters designed for the Honours College at Uganda Christian University.
Building and shaping systems · Gallery · 2026-02
A first 3D project, modelled and rendered in Blender.
Technology
Confident
Python
PyTorch
pandas
NumPy
scikit-learn
LightGBM
OpenCV
FastAPI
SQL
Git
Inkscape
Figma
Illustrator
Canva
Used
JavaScript
React
TypeScript
Node.js
Express
Django
Flask
Java
Oracle
MySQL
C
C++
Spark
Airflow
pytest
Evidently
PySide6
Blender
Arduino
DuckDB
Parquet
TensorFlow
Learning
Cloud deployment
Docker
MLflow
Qt/C++ desktop work
Confident
Python
PyTorch
pandas
NumPy
scikit-learn
LightGBM
OpenCV
FastAPI
SQL
Git
Inkscape
Figma
Illustrator
Canva
Used
JavaScript
React
TypeScript
Node.js
Express
Django
Flask
Java
Oracle
MySQL
C
C++
Spark
Airflow
pytest
Evidently
PySide6
Blender
Arduino
DuckDB
Parquet
TensorFlow
Learning
Cloud deployment
Docker
MLflow
Qt/C++ desktop work
Data and automation · Running · 2026-10
Personal HQ
I keep my daily plans in a paper notebook. This tool turned 33 pages of those notes into a working Notion system, which runs even when my computer is off.
I keep my daily plans in a paper notebook. I wanted that system to work everywhere, without changing how I already plan.
What I did
I designed the system around how the notebook was already used: tasks, carried-over items, weekly goals and projects. Python is only the setup tool. Once built, it runs inside Notion, even when my computer is off.
The scripts default to a safe dry run, with tests that never touch Notion. A GitHub Action also keeps a contribution calendar up to date.
Where it stands
It ran against my real workspace and is fully operational.