03 — The Method

Brad
Mulwenge aka Kalitone

Software Engineer / Photographer / Designer

I write code that thinks in structure, but my approach is forged in the physical world. Blending Computer Science, Information Technology and Visual Art taught me to map logic to aesthetics. Everything else—the quiet discipline of the track, the operational rigor of process improvement, the empathy required to lead a community—taught me how to execute. I build systems to solve real problems, because true engineering isn’t just about making things run. It’s about understanding the people you're building them for.

Based in MO
Status Available
Resume View
Brad Mulwenge
Brad Mulwenge
The Engineer

Architect
of Systems

Clean APIs, obsessive documentation, and the kind of refactoring that happens at 2am — not because it's broken, but because it could be more true. Code is a design medium. Every function is a composition.

1const compose = (...fns) =>
2  fns.reduce((f, g) => (x) =>
3    f(g(x)));
4
5// light is a function
6const frame = compose(
7  observe, expose, commit
8);
The Photographer

Observer
of Light

Stillness as discipline. Every frame is a decision — what to include is easy; what to leave out is the art. The finder is a viewport on the world. The shutter is a commit message.

ƒ/1.8  ·  1/200s  ·  ISO 400  ·  35mm
Process — How it works
01 · The Lab

Where Systems
Take Shape

Engineering & Architecture

Every project begins with a constraint problem. What does it need to do? What can it afford to not do? The architecture emerges from that tension. I build back-end logic, design data flows, and obsess over the surface API — because how something is called reveals what it is.

01type Frame = { light: number; time: number }
02type Shot = Frame & { intent: string }
03
04const expose = (f: Frame): Shot => ({
05  ...f, intent: 'deliberate'
06});
02 · The Studio

Where Light
Gets Honest

Photography & Visual Direction

Street first, studio second. I look for the geometry in accidents — a shadow that lands just right, a face caught mid-thought. Post-processing is editing, not fixing. If I need to fix it in post, I missed the shot. The camera is a notebook; the darkroom is where I think out loud.

ƒ/1.8
ISO 400
1/200s
35mm
03 · The Exchange

How Code
Teaches the Eye

The Crossover

Debugging trained my patience for the unresolved moment. Version control made me fearless about deleting — you can always roll back. Thinking in state machines changed how I read a scene: what changed between these two frames? What event triggered the transition? Systems thinking is visual thinking with different syntax.

Code
Light
04 · The Reverse

How the Eye
Sharpens Code

The Other Direction

Photography taught me to care about the negative space. A UI with too many elements is like a frame with too many subjects — everything fights, nothing lands. Composition literacy translates directly: visual hierarchy, breathing room, the one thing the eye should land on. Code that reads well looks good too.

UI
UX
Grid
Type
Space
Colour
Flow
Form
Where Both Worlds Collide — projects that live in the overlap
9:41 ●●●○
ƒ/gallery
App UI
Visual Systems
01
02
03
04
05
06
07
08
09
10
11
12
Gallery Engine
Exposure
Contrast
Clarity
Edit Workflows
scan → run → sync → push
The Stack

Engineering Arsenal

Tools that build the lab

Languages

Python JavaScript TypeScript Java PHP C++ SQL Assembly C#

Frontend

Astro React React Native Node.js Express Flask Tailwind Framer Motion

Cloud & Infra

GCP Docker Kubernetes MySQL SQLite Vercel

Design

Figma Illustrator Photoshop InDesign Blender UI/UX
The Kit

Photographic Arsenal

Tools that build the studio

Body

Canon AE-1 Sony A6000

Focal Lengths

35mm ƒ/1.8 50mm ƒ/1.4 85mm ƒ/1.8

Edit Suite

Lightroom Photoshop Figma Capture One

Approach

Street Portrait Documentary Fine Art
The best interfaces feel like a well-composed frameeverything in its place, nothing without reason.
Kalitone