Portfolio

Featured project Pre-beta

Dating App

Mobile app · Real-time · Full stack

A call-first, anonymous dating app. No swiping, no photos. Jump onto short blind audio calls with someone, and swap contact details if you like each other.

  • Peer-to-peer WebRTC audio calls on React Native, with CallKit / Android ConnectionService integration.
  • Self-hosted, local TURN relay, for relaying call audio between devices when direct paths fail.
  • Integrated the Big 5 personality assessment using the International Personality Item Pool (IPIP), with deterministic calculated scoring, and an LLM-narrated personality report.
TypeScript
Expo
React
Redux
Node.js
Express.js
Prisma
PostgreSQL
Socket.io
Astro
Noni marketing site hero: 'Spark a conversation.' beside a phone illustration

More projects

Sidekick landing page: 'Find a hobby. Find your people.'
Web app · PWA · Geo
Preview

Sidekick

Find a hobby, find your people. A mobile-first app for finding, joining and running local hobby clubs.

TypeScript
Next.js
React
Tailwind CSS
PostgreSQL
Drizzle
Zod
Docker
PeloStack hero: 'Website and app development for South African businesses' beside a project timeline
Website · Backend
Live

PeloStack

Marketing website for my prospective entrepreneurial venture. A software company that builds websites, apps and does maintenance support for South African businesses.

TypeScript
Astro
Tailwind CSS
Node.js
Docker
Web app
In development

Gawuza

Community-maintained restaurant menu platform.

TypeScript
Next.js
Tailwind CSS
PostgreSQL
Drizzle
Cloudflare
Vercel
GitLab
Visit site
Mobile app
In development

Community App

Geography-based community platform with mobile client.

TypeScript
Expo
Redux
NestJS
Prisma
PostgreSQL
GitHub

Also built

  • Pelo Sock Manufacturing

    Live

    A lead-generation site for a Johannesburg uniform and workwear sock manufacturer.

    Astro · React 19 (island) · Tailwind CSS 4 · Astro API route on Cloudflare Workers · Zod

  • Local farm business

    In development

    A marketing page for a local farmer.

    Astro · Tailwind CSS 4 · TypeScript

  • 400 Energy

    Live

    A simple website for an alternative energy business.

    React · TypeScript · Chakra UI · Redux · Node.js

  • Bouncing Balls 2D

    Experiment

    First exploration into Clojure. 2D collision physics.

    Clojure