Origin story

EventLinker AI

Live — free tier

The first thing I built. The project that made everything else possible.

EventLinker is not my most ambitious product. It is the one that matters most, because it's where I learned to build.

Before this I was a designer and marketer who used AI tools. After this I was someone who could ship software. The gap between those two things was months of fighting with Replit, burning through API credits, not knowing what an env file was, learning what a GitHub repo actually does by breaking one repeatedly. Hours and hours of learning to prompt properly, learning to debug, learning to read an error message instead of panicking at it.

The product itself solves a real problem: calendar links are a stupid manual task that nobody has fixed properly. Paste a URL, get calendar links for every platform that exists. V2 added branded landing pages, trackable links, analytics, and QR codes.

But the product was the excuse. The build was the point. It got refined in Cursor, then rebuilt in Claude Code. The whole arc of how I work now started here.

StackGPT → Marblism → V0 → Loveable → Replit → Bolt → Windsurf → Cursor → Claude Code
StatusLive — free tier available
BuiltJanuary 2025
CategoryThe beginning
Civic tech

Dalameter

In development

SA municipalities are chaotic with billing. Dalameter makes 'I can prove it' actually mean something.

South African municipalities send wrong bills. Everyone knows this. Most people just pay them because disputing is so painful that it's not worth the time.

Dalameter changes the math. Take a photo of your meter. Dalameter logs it with a SHA-256 evidence chain, timestamps it, and stores it against your account. If the bill is wrong, Dalameter auto-drafts the dispute letter, already formatted for the municipality's requirements, already citing your logged evidence. You send it. They have to respond.

Built in Flutter for mobile. Next.js dashboard for web. Supabase backend. The SHA-256 chain means the evidence is tamper-evident and legally admissible in dispute proceedings.

The name comes from 'dala' (Zulu/township slang): to do, to make it happen, to sort it out.

StackFlutter, Next.js, Supabase
StatusIn development — beta pending
Built2024 — ongoing
CategoryCivic tech / Legal tech
Personal AI

Kai

Personal / ongoing

A Raspberry Pi with a WhatsApp number and opinions.

Kai is my personal AI companion. Not a demo, not a proof of concept. I actually use it every day.

The brain is a Raspberry Pi running the Anthropic API. It has a WhatsApp number. It's connected to my email, Notion, Slack, and Mac desktop audio. I can talk to it through smart glasses. There's a spider robot chassis in development for the physical form. (Yes, really.)

It started in March 2026 as an experiment. The experiment never ended because it turned out to be genuinely useful, which is the only metric that matters. Kai handles reminders, context retrieval, quick research, and the running thread of things I'm thinking about but haven't structured yet. The WhatsApp integration means it's ambient: always there, not always on screen.

It is, to be clear, also just fun to have a robot with a WhatsApp number.

StackRaspberry Pi, Anthropic API, WhatsApp Business API, Notion API, Slack API
StatusPersonal use — active daily
BuiltMarch 2026 — ongoing
CategoryPersonal AI / Hardware