MD
Works

Builder of useful things for real people

Full-stack developer specialising in zero-cost community tools,
creative interfaces and systems that actually ship.

Community Tech Full-Stack Creative Tools Social Good

Eight Projects.
One Story.

A deliberate progression from static sites to full-stack SaaS — each project building on the last, each one live and real.

01 Live

Portfolio & Blog

This site. A statically generated portfolio built with Astro, deployed via Cloudflare Pages. Markdown-powered blog, zero running cost, full MD Works brand system.

AstroCloudflare PagesGitHubCSS
02 Live

SA Fuel Price Tracker

Monthly South African fuel price dashboard — 95 ULP, 93 ULP and Diesel, inland and coastal. Pulls live from the SA Fuel Price API, with interactive sliding chart navigation, month-on-month change indicators, and a browser-based price editor.

Vanilla JSChart.jsREST APICloudflare Pages
03 Live

SA Incident Tracker

Community safety reporting for Durban / KZN. Anonymous incident submission with role-based multi-admin governance — Super Admin + territory-scoped Area Admins using haversine distance matching. WhatsApp deep-link notify, editable incident types via Google Sheets, report moderation, status tracking, live CCTV feeds, canvas-based photo blur tool, and address search.

Vanilla JSGoogle Apps ScriptGoogle SheetsLeaflet.jsImgBBCloudflare Pages
04 Live

SA Fuel Price API

A public REST API serving monthly South African fuel retail prices — 95 ULP, 93 ULP and Diesel (500ppm and 50ppm), inland and coastal. Originally built with Node.js + Express + PostgreSQL on Railway.

Node.jsExpressPostgreSQLRailwayREST API
05 Live

Fuel API — TypeScript + Cloudflare

The SA Fuel Price API rebuilt with TypeScript, Cloudflare Workers and D1. Full type safety with Zod validation on every write endpoint, SQLite at the edge, correct diesel grade naming (500ppm and 50ppm), and zero infrastructure cost.

TypeScriptCloudflare WorkersD1ZodWrangler
06 Live

S Sculpt — Booking & Business Management Platform

A full-stack booking system, admin console and CMS for a live body-sculpting and facial rejuvenation salon. Real-time slot availability against business hours and per-treatment machine capacity, gift vouchers with partial-balance carryover, a three-tier loyalty program, and a Supabase Auth admin console — all secured by Postgres Row-Level Security with zero backend server to maintain.

Vanilla JSSupabasePostgresRow-Level SecurityCloudflare Pages
07 Live

Silent Auction

A fully functional silent auction and tombola platform for community fundraising — bidder registration, live item bidding with minimum increments, and a sponsor-video tombola with server-side anti-cheat token validation. Google Sheets as the database, Google Apps Script as the REST API, zero monthly cost. Includes a full admin dashboard, WhatsApp winner notifications, and an interactive sponsor proposal generator.

Vanilla JSGoogle Apps ScriptGoogle SheetsImgBBWhatsApp APIGitHub Pages
08 In Progress

KlasWerk — Learning Management Platform

A full-stack LMS for trainers and students — course authoring, a lesson editor with live video embeds and an HTML write/preview system, enrollment and progress tracking, and PayFast payments. In active development: quizzes, live sessions, certificates and analytics still to come.

ReactTypeScriptSupabasePayFastVite

What I Build

I build tools that solve real problems for real communities — usually at zero monthly cost, always with craft. My stack combines the reliability of Google's free tier with the speed of Cloudflare's global edge.

Based in South Africa. Driven by the belief that good software should be accessible to organisations that cannot afford infrastructure bills.

Zero-cost first

Every project targets R0 running cost using free-tier services. Real products do not require real bills.

Real deployment

Everything ships live and is used by real people. A project that only lives in a localhost is not finished.

Maintainable by anyone

Non-developers can update content. Google Sheets as a CMS means the operator is never dependent on a developer.

Craft over speed

Every detail is considered. The UX deserves the same attention as the architecture.