AI & software projects
Selected engagements framed as problem, approach and outcome — anonymised by default, named only where a client has agreed.
Claim status chatbot for an insurance platform
Problem
Customers of an insurance claims platform had to call or log in just to ask "where's my claim", tying up staff time on questions the claim record could already answer.
Approach
Built a conversational assistant with dual-mode authentication and a web front end, deployed as coordinated services behind a gateway so it can answer plain-language status questions without a phone call or a login.
Outcome
Verified across four user roles and eleven real claims in structured acceptance testing, giving customers a plain-language status answer on demand instead of a support queue.
Python · Rasa · Next.js · React · TypeScript · Docker · Docker Compose · AWS Fargate · CloudFormation · Bash · pytest · Vitest · Zod
Cleaning scheduler for short-stay rental properties
Problem
A short-stay property manager had to check several booking calendars by hand to work out which properties needed a clean before the next guest arrived.
Approach
Built a scheduling service that polls each property's booking calendar, detects new bookings by comparing snapshots over time, and automatically generates a cleaning task for every booking's checkout date, with a web dashboard for monitoring.
Outcome
Turned a manual, error-prone calendar check into an automated daily task list, removing the need to cross-reference bookings by hand.
Python · Flask · APScheduler · Pydantic · Web Scraping · REST API · Scheduling · pytest · python-dotenv · tenacity
Protocol emulator for AV control touchpanels
Problem
Programs for Crestron AV control systems could only be developed and tested against physical touchpanel hardware, so every developer needed the real kit on the bench before a single line could be exercised.
Approach
Implemented the vendor's native control-over-IP protocol from scratch as a C# socket server, using a circular buffer to handle the TCP stream and a connection layer that accepts real touchpanels and virtual panels alike, with digital, analog and serial joins abstracted behind event-driven views.
Outcome
Control-system programs can be built and tested end to end with no physical hardware present, including list, keypad and D-pad interface objects, with protocol handling kept separate from application logic.
C# · .NET · TCP/IP Sockets · NUnit · Windows Forms · Crestron · AV Control Systems
Situational-awareness app for remote site operations
Problem
An operator coordinating crews across a large remote site needed shared live mapping, team tracking, messaging and navigation on their own phones, still working with no signal. The open platform that does all of that is built for specialists, and far too complex to hand to general field staff.
Approach
Built an Android app on an open-source field coordination platform, layering a simplified role-based interface over its mapping engine, and moved the whole native toolchain into a multi-stage container build that compiles the geospatial libraries for 64-bit Android and assembles the app in one pass.
Outcome
A role-simplified build of a specialist field coordination platform that ordinary crew can actually use, with its native dependency chain reproducible from a single containerised build instead of a hand-configured developer machine.
Android · Kotlin · Jetpack Compose · C++ · Gradle · Docker · Conan · CMake · NDK · Protocol Buffers · JOGL · Python · Shell Scripting