Backend engineer.
Occasional UI library author.

Third-year CS student building production systems — from a Flutter-inspired frontend library to the campus marketplace running on it. Backend-focused: Node.js, FastAPI, Go.

counter.lumina.js
// built with LuminaUI — stateful widget
0
setState() → re-render
01

Stack

Runtime
Node.js FastAPI Go
Data
Redis MySQL PostgreSQL SQLite
Frontend
Next.js React Supabase LuminaUI
Mobile
Flutter — intermediate, learning
Hosting
Vercel Render
02

Selected work

◆ LIBRARY · npm · built solo

LuminaUI

A lightweight, Flutter-inspired UI library for building web interfaces with plain JavaScript, HTML and the browser DOM — no framework, no build step required. Widget-tree composition and state handling, designed and written from scratch. Used by CBU Market and available on npm.

vanilla JSDOMwidget-tree@neuralumina/lumina-ui
$ npm install @neuralumina/lumina-ui
package @neuralumina/lumina-ui
inspired by Flutter
runtime browser DOM
docs luminaui.neuralumina.com
◆ PRODUCT · live · built solo

CBU Market

The student marketplace of Copperbelt University, Kitwe. Buyers order from trusted campus sellers, then meet in person to complete the exchange — payment happens directly between buyer and seller, not through the platform. Built end-to-end: schema, backend and frontend on LuminaUI within Next.js, backed by Supabase.

Next.jsLuminaUISupabasein-person handoff
cbumarket.neuralumina.com
Your campus. Your hustle. Your market.
Order from trusted campus sellers — meet up and pay directly.
Trusted sellers
Meet on campus
◆ TOOL · desktop · built solo

Amel AES File Encryptor

A desktop file encryption tool built with PyQt6 and AES-256-GCM. Encrypt any file with a password — the original filename is preserved inside the encrypted blob, with zero plaintext metadata leakage. Designed for security-conscious users.

PythonPyQt6AES-256-GCMdesktop
tool Amel AES File Encryptor
cipher AES-256-GCM
framework PyQt6
$ encrypt report.pdf --password ****
filename leakage none
metadata stored inside blob, encrypted
03

Why LuminaUI

🔹 No build step

Write plain JavaScript, HTML, and the browser DOM — no bundlers, compilers, or npm scripts. Drop it in a <script> tag and go.

🔹 Widget-tree composition

Inspired by Flutter's declarative model. Build reusable widgets that compose predictably, with a clean separation of layout and state.

🔹 Built-in state handling

Every widget has a setState() method that triggers a re-render — just like Flutter. No Redux, no hooks, no complexity.

// Import the core API
import { mount, Column, Text, Button } from "@neuralumina/lumina-ui";

// App is a plain function that returns a widget tree —
// nested function calls that describe what you want on screen.
function App() {
  return Column({ gap: 16, padding: 24 }, [
    Text("Hello, LuminaUI!", { as: "h1", size: 28, weight: 900 }),
    Text("This is your first widget tree.", { color: "#5b6677" }),
    Button({
      text: "Click me",
      onClick: () => alert("Hello from LuminaUI!"),
    }),
  ]);
}

// mount() converts the widget tree into real DOM nodes
// inside the container element you provide.
mount(App, document.getElementById("app"));
Widget State DOM setState compose render re-render update DOM setState
Widget → State → setState → re-render → DOM update
Buyer Order Seller Meet Complete
Buyer → Order → Seller → Meet → Complete (off-platform payment)
04

About

Third-year Computer Science student at Copperbelt University, Kitwe, focused on backend systems — building APIs and services with Node.js, FastAPI, and Go, backed by Redis, MySQL, PostgreSQL, and SQLite.

Both LuminaUI and CBU Market were built from scratch, solo — schema design, backend logic, and the UI layer all done end-to-end, not assembled from templates or boilerplate. I take ownership of the entire lifecycle.

I also build on the frontend when a product needs it — LuminaUI came out of wanting Flutter's widget-composition model on the plain web, and CBU Market is that library put to work in a real product with real sellers and real orders.

NAMEChimuka Mukwenya ("Amel")
EMAILneuralumina@gmail.com
LOCATIONKitwe, Zambia
GITHUBgithub.com/AmelCMM
STUDYB.Sc. Computer Science, CBU — Year 3
FOCUSBackend systems & APIs
LANGUAGESNode.js · FastAPI · Go
FRONTENDReact · Next.js
MOBILEFlutter — intermediate, learning
DATARedis · MySQL · PostgreSQL · SQLite