Lilly Labs · Cape Town, South Africa

Principal .NET engineer for fintech and gaming back ends, plus security reviews.

Lilly Labs is Jean-Paul Thorne. I design, build and host web apps, APIs and desktop tools.

Remote, on SAST (UTC+2), which overlaps most of the UK and European working day.

Client work

Done for clients

  • Security review

    SafariStays

    Safari lodge bookings across Southern and East Africa

    A security audit and review of the booking platform before it launched to a wider audience, with a prioritised list of fixes to work through ahead of launch.

    • Security audit
    • Code review
    • Pre-launch
    Visit SafariStays

Career

Where I've worked

Fourteen years of building software, most recent first. The full story is on my CV.

  1. Oct 2024 – Oct 2026

    Remote

    AccaMax

    Principal Software Engineer

    Core platform for an iGaming slots studio

    I built core .NET systems for a B2B iGaming slots platform with AWS, Terraform, RabbitMQ and Confluent Kafka. My focus was the rule-based statistical models behind the slot game mechanics, tuned and verified against certified return-to-player (RTP) targets with large-scale simulation in CI. I also built the end-to-end test harness that runs the whole platform locally and checks a bet through every service, database and report, and set up alerting and dashboards as code with Terraform and Grafana. I worked on some of the company’s first games, when building a game’s back end by hand took months, because getting RTP right is hard. In 2026 we adopted AI-assisted engineering, using coding agents with test-first development and code review, and by the end of my time there we were delivering back-end games at least three times faster with no loss of quality.

    • .NET 8
    • Akka.NET
    • PostgreSQL
    • Kafka
    • RabbitMQ
    • Redis
    • AWS
    • Terraform
  2. Oct 2022 – Oct 2024

    Cape Town / Remote

    KingMakers

    Senior Software Engineer

    High-throughput sports betting back ends

    I joined as a Senior Software Engineer, missing hands-on IC work after the tech lead role. I built .NET back ends on Azure with Akka.NET and Confluent Kafka for a high-throughput sports betting platform, processing streams of live market updates during in-play fixtures. I owned the virtual football fixture and market-data integration into the feed-management platform, adding a new set of markets and a new product offering for the business.

    • .NET
    • Akka.NET
    • C#
    • Confluent Kafka
    • Azure
  3. Aug 2018 – Aug 2022

    Cape Town / Remote

    Global Kinetic

    Senior Software Developer, then .NET Tech Lead

    Microservices for fintech clients

    I spent two years as a senior developer building .NET Core microservices with Docker, Terraform and SQL, mainly on Azure, for fintech clients including Derayah in Saudi Arabia and Capitec, then was promoted to .NET Tech Lead for the company’s .NET chapter.

    Working with that chapter, I established cross-team architectural standards, including DDD-shaped repositories and Snyk and Trivy security scans in CI, and researched and rolled out new tech to teams. I built sprint-zero vertical slices for new client projects, including Derayah’s D360 on Kubernetes, so incoming teams had infrastructure, repos and CI/CD in place and could ship features from the first sprint.

    I also held team 1:1s, provided project support, led the .NET chapter forums, wrote new technical interview questionnaires and interviewed candidates as the chapter grew.

    • .NET
    • Microservices
    • CI/CD
    • Azure DevOps
    • Docker
    • Kubernetes
    • Terraform
    • Azure
  4. Jun 2016 – Aug 2018

    Cape Town

    Atura

    Software Developer, founding team

    Consumer-facing chatbots on early language models

    An AI startup spun out of New Media Labs; I was one of its first team members. We built consumer-facing chatbots on early language models, two for Nedgroup Investments and one for Nedbank Insurance, which went live for both clients. I set up the initial Facebook integration, implemented much of the core framework, trained the LUIS.ai language models and onboarded new team members.

    • .NET
    • Chatbots
    • NLP
    • LUIS.ai
  5. Feb 2012 – Jun 2016

    Cape Town

    New Media Labs

    Software Developer

    Custom systems for enterprise clients

    I worked across a range of client projects on Azure and on-prem, including a plant-management system for AES and a content-management system for Nedgroup Investments.

    • .NET
    • SQL
    • Web
    • Azure

Personal projects

Things I've built

  • Windows app

    SpendTracker

    Where did the money go?

    Import your bank’s CSV statements, categorise transactions and see where your money goes each month. Your data stays in a local file on your own machine, and the app updates itself.

    • .NET
    • SQLite
    • Velopack
    See the app
  • Archived

    Athy Labs

    Earlier work, 2019–2023

    A code generator that turned OpenAPI specs into .NET services, and a hydroponics platform built from ESP32 sensors, a Raspberry Pi hub and a cloud gateway.

    • .NET
    • ESP32
    • Raspberry Pi
    • Terraform
    Read the story
JP laughing while Lilly, his collie cross, licks his ear

About

Hi, I'm Jean-Paul (JP).

I've been based in Cape Town since 2012 and have spent my career building software in fintech, AI, sports betting and iGaming, at startups and corporates alike.

I regard software development as a craft, one you keep working towards mastery in. Early in my career I drew a lot of inspiration from the film Jiro Dreams of Sushi, and from my first employer, who insisted that we as developers should "always put the good wood on the back of the cabinet". You can debate the accuracy of that analogy, but the message is clear: do your best, even when it isn't for gain.

Lilly Labs is named after my dog, Lilly, a collie cross who, despite her small size, pulls her weight in love and speedy running far beyond anything I could have hoped for. When I'm away from the keyboard you'll find me trail running or on a squash court.

Have something in mind?

Tell me what you're trying to build or fix. I work remotely on SAST (UTC+2) and reply within a couple of working days, even if it's to point you somewhere better.

hello@lillylabs.co.za

Writing about what I'm building lives on buildingthingswith.net.