Lead developer
TaxTim
As lead developer through Leaply, I implemented most of the React UI overhaul and v2 API, with composable code and tests to make future changes easier to maintain.
I help software teams use AI effectively, modernise existing systems, and ship dependable products. Hands-on engineering, from diagnosis to release.
20+ years building products · Cape Town · Remote worldwide
Casper Lotter
Product, AI & systems consultant
Cape Town · Working remotely worldwide
Selected professional work
From a tax-product overhaul to scheduling and field inspections, I have worked across the interface, the system behind it, and the needs of the people using it.
Lead developer
As lead developer through Leaply, I implemented most of the React UI overhaul and v2 API, with composable code and tests to make future changes easier to maintain.
Consultancy + product leadership
I lead Leaply’s consultancy department, working across our core products and external client projects. I help the team validate ideas and business opportunities through hands-on engineering.
Lead developer
As lead developer at Platform45, I rewrote ResourceGuru’s calendar and improved its performance, making everyday scheduling more responsive for users.
Lead developer
I led development of an inspection and risk-management system for Anglo, integrated it with SAP, and helped deliver a successful rollout across mining sites, plants, and other assets.
“Casper is a dedicated and competent developer who possesses a rare asset: understanding - both of the technical and motivational aspects of projects.”
“Casper is a high-quality software engineer who has the discipline to build world-class code and to manage it through the process of design, testing, and release.”
How I can help
I lead Leaply’s consultancy department, balancing our core products with external client work. Consultancy engagements are through Leaply, with up to 120 hours a month of my time, subject to current commitments. Let’s discuss your needs and timing.
Diagnose a difficult system
For a recurring bug, fragile integration, or difficult-to-change application, start with a focused diagnosis.
A clear diagnosis and a verified change the team can maintain.
AI + engineering
AI helps me explore unfamiliar code, compare approaches, and implement changes. I still need to understand the decisions and check that the software does its job.
Reverse-engineer existing behaviour, test ideas, and coordinate bounded implementation tasks with useful working context.
Check contracts and types, run automated tests, review the changes, and plan for observation and recovery after release.
Skuld + Redo: I built agent-coordination and reverse-engineering tools for my own AI-assisted development process, so I can inspect, repeat, and improve it.
Starstate: I designed and developed a modular Rust ecosystem for a simulation, including networking, persistence, and diagnostics.
Source code currently private.
Rootr by Riabyte: a complete time-tracking and invoicing system using Telegram as its interface, including payments and generated PDFs. Source code currently private.
LekkerPledge: a recurring-payments product with signed webhooks, idempotent processing, audit trails, and repeatable deployment. In development; not live yet. Source code currently private.
For the full technology and project history, see my LinkedIn profile.
About Casper
I like understanding how people work and finding ways to make their day easier. The best changes often start by listening to someone who knows the work better than I do.
I value candour, care, and following through. I want to be honest about what is difficult, take responsibility for my part, and leave people better able to carry on without me.
Twenty years into this career, I am still curious. New tools are worth exploring; what matters is whether they make a useful difference.
Start a conversation
What needs to change, who is affected, and what would a good result look like? I’ll tell you candidly where I can help.
We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect