Selected Work

Projects

Things I've built — from full-stack platforms to mobile apps.

01

Township marketplace — locals meet nearby businesses

LocalMart

Cross-platform marketplace app (iOS, Android, Web) connecting customers with nearby informal businesses — spaza shops, hair salons, car washes, food vendors, phone repair shops, tailors, mechanics, and more — across South African townships and suburbs. Built with Expo and Supabase. ⚠️ API is on Render's free tier — allow 10–30 s on first load for the server to wake up.

ExpoReact NativeTypeScriptSupabase
02

Full-stack leave management system

Belco Leave Portal

Employees apply for leave with live balance previews and date-conflict detection, managers approve or reject requests, and admins manage users, departments, and leave types. Role-based JWT auth, audit logs, and a global loading overlay. Angular 20 frontend deployed on Vercel; ASP.NET Core 10 REST API on Render backed by PostgreSQL. ⚠️ API is on Render's free tier — allow 10–30 s on first load for the server to wake up.

AngularTypeScriptAngular MaterialASP.NET CoreC#PostgreSQLEntity FrameworkDocker
03

Two-sided job platform

Smart Job Tracker

Applicants track applications and apply in-platform; recruiters post jobs, search candidates, and chat. TypeScript monorepo with JWT auth, role-based access, and a PostgreSQL/Prisma backend. ⚠️ API is on Render's free tier — allow 10–30 s on first load for the server to wake up.

ReactViteTypeScriptExpressPrismaPostgreSQLDocker
04

Personal finance — used daily

Expense Tracker

Cross-platform mobile app with a React Native / TypeScript front-end and an ASP.NET Core REST API in C#. Category-based expense summaries and persistent storage. Docker multi-stage backend.

React NativeTypeScriptASP.NET CoreC#Docker
05

Interactive learning for beginners

Python Study Guide

Structured Python learning paths covering syntax, data structures, and core concepts, plus an interactive typing game that reinforces syntax and improves coding speed through real-time feedback.

ReactJavaScriptVercel