Developer & entrepreneurLusaka, Zambia / Available for opportunities

Hello, I’m Leo.

From a question.
To a working system.

I build the app, the API and the parts that hold them together. I finished my Computer Science degree in 2025 and I run a small internet business, so most of the work I do starts with a job that needed doing.

One of six winning teamsGreenCode Hackathon · Zambia 2026
Built SmartWater Zambia with my team in 48 hours.

IoT intern at CodeAlpha · Computer Science graduate

Leo Mabuku
Leo MabukuSoftware / systems / enterprise

Tonga words, real Python

TongaLang was my final-year project at CBU. The words are borrowed from Tonga, and underneath it is a Python lexer, parser and interpreter. Pick a word to see where it lands, then run the program for real.

Choose a word to see where it lands in the program. Escape clears the highlight.

main.tg 6 lines · the real thing
mulimo matalikilo() {    zina a = 12    zina b = 8    amba(a + b)    amba(a * b)}
Output appears here after a run.

Nothing downloads until you press run.

Open the full playground

Independent thinking.
Practical execution.
Try TongaLang in your browser 15° S · 28° E

01 / Selected work

Three problems.
Three working systems.

All 8 projects

Arrow keys switch projects. Tab moves into the details.

Problems explains a source error in English and Tonga, and only offers a fix when the correction is certain.

Screens from the real TongaLang app.

01 / The language · Final-year Computer Science project

TongaLang

What if a first program started with words you already knew?

  1. 01 / The problem

    A programming language for beginners, built on words from Tonga, with a desktop app that explains each mistake instead of only flagging it.

  2. 02 / What I built

    A hand-written lexer, a PLY parser, an AST and an interpreter, with a Tkinter desktop app that checks each edit before offering a fix.

  3. 03 / Where it stands

    TongaLang 0.2.0 is public on GitHub. It ships with 17 example programs and passes all 179 automated tests. The Windows installer is published with a SHA-256 checksum, and the captioned walkthrough below runs just under a minute.

Engineering decision Helpful fixes without unsafe guessing

The IDE had to give broad advice while only editing mistakes it could be certain about. A suggested fix carries the exact text it expects to replace, refuses to apply to source that has changed, and leaves ambiguous cases for the learner to decide.

Status
Completed
Stack
Python · PLY · Tkinter · Pytest
Role
Developer & Researcher

02 / An idea you can run

A programming language.
With Tonga at its heart.

It is a small language built for people starting out, with words borrowed from Tonga. Change an example, run it, and add input whenever a program asks for one.

Open the playground Explore the language design
hello.tgSource preview
mulimo matalikilo() {
    zina zyina = bala("Your name: ")
    amba("Hello, " + zyina)
}

Write. Run. Learn.

Result Top 6 GreenCode Hackathon
Zambia Edition
Leo Mabuku holding his GreenCode Hackathon certificate in front of the event backdrop
SmartWater Zambia · Lusaka, Zambia

03 / Built together, under pressure

Selected among six
winning teams.

Took SmartWater Zambia from an idea pitched on stage to a working prototype in 48 hours, then presented it to the judging panel as part of one of the six teams selected for follow-on support.

Event
GreenCode Hackathon · Zambia Edition
Hosts
Garage48 × BongoHive × ESTDEV
Sprint
30 Oct – 1 Nov 2026 · Lusaka, Zambia
Built
SmartWater Zambia

04 / How I contribute

Every project teaches me
what to build next.

01

Interfaces people use

Android apps with Kotlin and Jetpack Compose. Web interfaces with React and Astro.

02

Systems behind the screen

APIs, data models, interpreters and the decisions that connect a product together.

03

Software meets operations

IoT telemetry, network automation and tools shaped by running a small business.

From running Leo M. Suppliers to operating a Starlink internet service, business has taught me to start with the people and the problem.

More about my path ↗

Navigate the system

Where should we go?