software developer · ml/ai

Hi, I'm Nic.

I'm a software engineer from Johannesburg, now building in the Netherlands. I like making the tools I wish I had: Forkcell hands a ticket to an AI agent and gets back a tested pull request, and KB answers questions about a codebase with citations to the exact lines. My route into AI was research: at Wits I evolved Super Mario levels with a genetic algorithm and used reinforcement learning to speed it up, which became a published paper. Off the clock, I'm usually tinkering with my homelab.

PHP / Laravel TypeScript Python PostgreSQL RAG / LLMs Reinforcement Learning

See my work Read the blog

experience

Software Engineer · aqqo

2025 — present · Netherlands

Full-stack work on a venue-booking platform — Laravel APIs, React and TypeScript frontends.

  • Built the platform's AI assistant end-to-end: streaming chat (Vercel AI SDK), a tool-calling layer that queries live booking data, and the UI that renders tool results — with accessibility (WCAG) passes.
  • Moved the platform's entire database migration pipeline from Flyway to Laravel migrations — including provisioning new environments with multi-tenant databases and queue-worker management.
  • Ship cross-repo features across three codebases (timezone-safe dates, batch operations, EN/DE localization, tested at every layer) and own the path to production: code review, deploys, hotfixes, server fixes.
  • Sole platform-team member owning discovery through delivery: stakeholder interviews, spec writing, roadmap, then implementation — zero handoffs.

Software Developer · Zero2One Digital

2022 — 2025 · South Africa

  • Built full-stack Laravel features (Vue.js, Livewire frontends), integrated third-party REST APIs, and supported production deployments on AWS and Azure via Forge and Envoyer.

Software Developer · Squid Academy

2020 — 2021 · South Africa

  • Sole developer of an e-commerce and e-learning platform: custom payment gateways, video delivery, and database restructuring for scale.

education & research

University of the Witwatersrand

2016 — 2024 · Johannesburg