Ssekirya Cosmah

Mar 02, 2026 • 2 min read

Project Lwanga: A Security-Focused Low-Level Language Born in Kampala – Early Days, Come Build With Us 🛡️

Project Lwanga: A Security-Focused Low-Level Language Born in Kampala – Early Days, Come Build With Us 🛡️

Hey Peerlist crew 👋

For a while now, I've been heads-down crafting Lwanga a compiled, low-level systems programming language that's laser-focused on security research, penetration testing, shellcode, and red-team tooling.

It's not trying to replace Rust or Zig. It's for the moments when you need raw control: direct syscalls (no libc), encrypted strings, position-independent code, naked functions, inline assembly, and basically zero runtime footprint.

The compiler itself is written in C++ (with LLVM backend), and it's MIT-licensed, actively developed (last commits just days ago).

Repo: https://github.com/cosmah/Project-Lwanga

Quick taste: Hello World via direct syscall

lwanga

fn main() -> u64 {

let greet : str = "Hello world!\n";

unsafe{

syscall(1,1,13);

}

}

Super clean, no includes, no hidden magic, just you telling the kernel what to do.

For comparison:

C equivalent

C

#include <unistd.h>
#include <sys/syscall.h>

int main() {
 const char *greet = "Hello world!\n";
 syscall(SYS_write, 1, greet, 13);
 return 0;
}

Rust with libc

Rust

use libc::{c_long, syscall, SYS_write};

fn main() -> u64 {
 let greet = "Hello world!\n";
 unsafe {
 syscall(SYS_write as c_long, 1, greet.as_ptr() as usize, 13);
 }
 0
}

Lwanga feels like a middle ground: modern-ish syntax with explicit unsafe, but dead-minimal like old-school C when you need it.

What’s already there

  • Direct syscalls, encrypted strings (enc "secret"), inline asm (Intel/AT&T)

  • Cross-platform targets (x86_64 + ARM64; Linux/macOS/Windows support)

  • Tooling: lwangac compiler, formatter, cat (highlighter), VS Code + Vim extensions

  • Pretty solid docs: 40-lesson tutorial, language ref, syscall guide, cheat sheet

  • Examples for shellcode, TCP servers, encrypted payloads, etc.

  • Tiny binaries (Hello World <10KB, no libc deps)

It's early (v1.0.2 out, small star count), but the foundation is solid and I'm shipping updates regularly.

The real ask: Help shape the community

I'm solo on this from Uganda, so growth depends on people like you jumping in.

If you're into:

  • PL design / compilers

  • Security tooling / exploit dev

  • Minimal systems langs

  • Or just want to see what a fresh low-level lang from East Africa can do…

I'd love for you to:

  • Star / fork the repo

  • Try building & running the examples

  • File issues, suggest features, or PR small wins

  • Share thoughts: too bare? missing X? perfect for shellcode?

  • Spread the word if it vibes with your circle

No pressure even dropping a "tried it, cool syscall syntax" comment helps a ton. Early adopters and feedback are what turn side projects into real communities.

Let's chat in the comments or on GitHub Discussions. What's your take on languages like this in 2026? Still room for new ones focused on security + minimalism?

Repo again for easy click: https://github.com/cosmah/Project-Lwanga

#programminglanguages #systemprogramming #security #opensource #buildinpublic #uganda #lowlevel

Thanks for scrolling, builders. Drop your thoughts below! 🚀

Join Ssekirya on Peerlist!

Join amazing folks like Ssekirya and thousands of other builders on Peerlist.

peerlist.io/

It’s available... this username is available! 😃

Claim your username before it's too late!

This username is already taken, you’re a little late.😐

0

3

0