A selection of posters I designed for the Honours College at Uganda Christian University. Yes, I do the visuals too.




Automate the boring stuff (getting round to reading this book (opens in a new tab)), and build interfaces around it all.
My usual workflow starts with reason, then the next few hours will be me fighting not to lose sight of that while it shapes up.
First off, though... who is Cole? Cole is a 22 year old Ugandan that's grown up with loads of nosy questions. How does a TV broadcast end up in your living room? How does a bank know what's in your account? Animations, games, the internet: nearly everything I loved led back to a computer, and I wanted in. I couldn't pick just one corner of it, so I picked computer science.
These days I'm in my third year at Uganda Christian University, majoring in AI and Robotics with data science alongside it (because you can't perfect automation without understanding data) and the plan is really simple: start each year as a completely different person at everything I do.
Cameras record far more than anyone can watch. I'm investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fall apart in noisy rooms, and deaf and hard-of-hearing people pay the price. On a team of six, I'm helping build a system that reads lips alongside audio.
A PRISMA-guided review of how computer vision detects suspicious activity in surveillance video. Yes, I read all the papers.
A philosophy paper on what happens when efficiency becomes an optimisation problem and the thing being optimised includes people.
Cameras record far more than anyone can watch. I'm investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fall apart in noisy rooms, and deaf and hard-of-hearing people pay the price. On a team of six, I'm helping build a system that reads lips alongside audio.
A PRISMA-guided review of how computer vision detects suspicious activity in surveillance video. Yes, I read all the papers.
A philosophy paper on what happens when efficiency becomes an optimisation problem and the thing being optimised includes people.
Cameras record far more than anyone can watch. I'm investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fall apart in noisy rooms, and deaf and hard-of-hearing people pay the price. On a team of six, I'm helping build a system that reads lips alongside audio.
A PRISMA-guided review of how computer vision detects suspicious activity in surveillance video. Yes, I read all the papers.
A philosophy paper on what happens when efficiency becomes an optimisation problem and the thing being optimised includes people.
Cameras record far more than anyone can watch. I'm investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fall apart in noisy rooms, and deaf and hard-of-hearing people pay the price. On a team of six, I'm helping build a system that reads lips alongside audio.
A PRISMA-guided review of how computer vision detects suspicious activity in surveillance video. Yes, I read all the papers.
A philosophy paper on what happens when efficiency becomes an optimisation problem and the thing being optimised includes people.
Cameras record far more than anyone can watch. I'm investigating whether computers can flag suspicious behaviour from body movement alone, and whether training on noisy real-world footage helps.
Captions fall apart in noisy rooms, and deaf and hard-of-hearing people pay the price. On a team of six, I'm helping build a system that reads lips alongside audio.
A PRISMA-guided review of how computer vision detects suspicious activity in surveillance video. Yes, I read all the papers.
A philosophy paper on what happens when efficiency becomes an optimisation problem and the thing being optimised includes people.
Messy data from separate sources goes in. Clean, validated, analysis-ready tables come out. No sighing at spreadsheets required.
I plan my days in a paper notebook. This tool turned 33 pages of those notes into a working Notion system that keeps running 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 the model went live behind a dashboard.
A minimalist daily planner that floats on your Ubuntu desktop, with a translucent glass window, weekly objectives and a focus timer.
A neural network that taught itself Snake from scratch, going from random moves to an average of 289 food on a 20×20 board.
A small automation pipeline that gives this site an actual pulse.
An intern check-in app that swaps the paper sign-in sheet for one button, and shows supervisors who's in today.
A Spotify-style music player that streams real, full-length songs, built with plain JavaScript and no backend.
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, getting passengers, service providers and Authority staff into one workflow.
Same internship, different challenge: a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
A network diagnostics platform, built by a small team at the Africa's Talking hackathon, that helps customers and internet providers find exactly where a connection failed.
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
A Linux desktop client that wants to get along with Google Quick Share.
Machine learning competition entries, from predicting financial stress using mobile money behaviour to predicting biodiversity using climate data.
Posters I designed for the Honours College at Uganda Christian University. Less Python, more Inkscape.
My first 3D project, modelled and rendered in Blender. Everyone starts somewhere.
Messy data from separate sources goes in. Clean, validated, analysis-ready tables come out. No sighing at spreadsheets required.
I plan my days in a paper notebook. This tool turned 33 pages of those notes into a working Notion system that keeps running 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 the model went live behind a dashboard.
A minimalist daily planner that floats on your Ubuntu desktop, with a translucent glass window, weekly objectives and a focus timer.
A neural network that taught itself Snake from scratch, going from random moves to an average of 289 food on a 20×20 board.
A small automation pipeline that gives this site an actual pulse.
An intern check-in app that swaps the paper sign-in sheet for one button, and shows supervisors who's in today.
A Spotify-style music player that streams real, full-length songs, built with plain JavaScript and no backend.
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, getting passengers, service providers and Authority staff into one workflow.
Same internship, different challenge: a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
A network diagnostics platform, built by a small team at the Africa's Talking hackathon, that helps customers and internet providers find exactly where a connection failed.
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
A Linux desktop client that wants to get along with Google Quick Share.
Machine learning competition entries, from predicting financial stress using mobile money behaviour to predicting biodiversity using climate data.
Posters I designed for the Honours College at Uganda Christian University. Less Python, more Inkscape.
My first 3D project, modelled and rendered in Blender. Everyone starts somewhere.
Messy data from separate sources goes in. Clean, validated, analysis-ready tables come out. No sighing at spreadsheets required.
I plan my days in a paper notebook. This tool turned 33 pages of those notes into a working Notion system that keeps running 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 the model went live behind a dashboard.
A minimalist daily planner that floats on your Ubuntu desktop, with a translucent glass window, weekly objectives and a focus timer.
A neural network that taught itself Snake from scratch, going from random moves to an average of 289 food on a 20×20 board.
A small automation pipeline that gives this site an actual pulse.
An intern check-in app that swaps the paper sign-in sheet for one button, and shows supervisors who's in today.
A Spotify-style music player that streams real, full-length songs, built with plain JavaScript and no backend.
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, getting passengers, service providers and Authority staff into one workflow.
Same internship, different challenge: a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
A network diagnostics platform, built by a small team at the Africa's Talking hackathon, that helps customers and internet providers find exactly where a connection failed.
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
A Linux desktop client that wants to get along with Google Quick Share.
Machine learning competition entries, from predicting financial stress using mobile money behaviour to predicting biodiversity using climate data.
Posters I designed for the Honours College at Uganda Christian University. Less Python, more Inkscape.
My first 3D project, modelled and rendered in Blender. Everyone starts somewhere.
Messy data from separate sources goes in. Clean, validated, analysis-ready tables come out. No sighing at spreadsheets required.
I plan my days in a paper notebook. This tool turned 33 pages of those notes into a working Notion system that keeps running 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 the model went live behind a dashboard.
A minimalist daily planner that floats on your Ubuntu desktop, with a translucent glass window, weekly objectives and a focus timer.
A neural network that taught itself Snake from scratch, going from random moves to an average of 289 food on a 20×20 board.
A small automation pipeline that gives this site an actual pulse.
An intern check-in app that swaps the paper sign-in sheet for one button, and shows supervisors who's in today.
A Spotify-style music player that streams real, full-length songs, built with plain JavaScript and no backend.
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, getting passengers, service providers and Authority staff into one workflow.
Same internship, different challenge: a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
A network diagnostics platform, built by a small team at the Africa's Talking hackathon, that helps customers and internet providers find exactly where a connection failed.
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
A Linux desktop client that wants to get along with Google Quick Share.
Machine learning competition entries, from predicting financial stress using mobile money behaviour to predicting biodiversity using climate data.
Posters I designed for the Honours College at Uganda Christian University. Less Python, more Inkscape.
My first 3D project, modelled and rendered in Blender. Everyone starts somewhere.
Messy data from separate sources goes in. Clean, validated, analysis-ready tables come out. No sighing at spreadsheets required.
I plan my days in a paper notebook. This tool turned 33 pages of those notes into a working Notion system that keeps running 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 the model went live behind a dashboard.
A minimalist daily planner that floats on your Ubuntu desktop, with a translucent glass window, weekly objectives and a focus timer.
A neural network that taught itself Snake from scratch, going from random moves to an average of 289 food on a 20×20 board.
A small automation pipeline that gives this site an actual pulse.
An intern check-in app that swaps the paper sign-in sheet for one button, and shows supervisors who's in today.
A Spotify-style music player that streams real, full-length songs, built with plain JavaScript and no backend.
During my internship at the Uganda Civil Aviation Authority, I built a web-based system for handling passenger complaints, getting passengers, service providers and Authority staff into one workflow.
Same internship, different challenge: a simple Java desktop replica of an airport operational database, for practising how flight records are amended.
A network diagnostics platform, built by a small team at the Africa's Talking hackathon, that helps customers and internet providers find exactly where a connection failed.
A team project that uses computer vision to tell ripe tomatoes from unripe ones.
A Linux desktop client that wants to get along with Google Quick Share.
Machine learning competition entries, from predicting financial stress using mobile money behaviour to predicting biodiversity using climate data.
Posters I designed for the Honours College at Uganda Christian University. Less Python, more Inkscape.
My first 3D project, modelled and rendered in Blender. Everyone starts somewhere.
Building and shaping systems · Gallery · 2026-10
Posters I designed for the Honours College at Uganda Christian University. Less Python, more Inkscape.

Inkscape
A selection of posters I designed for the Honours College at Uganda Christian University. Yes, I do the visuals too.



