Skip to content
Co-Founder & CTO at Tripcerto

Mobile and connected hardware, retrieval and agents, and the infrastructure underneath. I co-found and run engineering at Tripcerto in Bristol, after years of connected-product and mobile work.

Co-Founder & CTOAI-nativeKotlin & AndroidReact / TypeScriptBristol, UK

01 / About

Product-minded engineer and founder

I am a software engineer and co-founder based in Bristol.

Before Tripcerto I was at Dyson, building connected experiences for IoT devices. That meant working close to the hardware: Android apps in Kotlin, low-level Bluetooth Low Energy, and Jetpack Compose, on products that real customers set up and control every day.

Now I run engineering at Tripcerto, where we are building Stella, an agentic AI layer for travel businesses. I own the technical side end to end, from product architecture and AI orchestration to the backend and the conversational surface people actually talk to.

I like work that crosses boundaries. A mobile app talking to a bicycle over Bluetooth, a retrieval system that turns a messy conversation into structured commercial demand, and the infrastructure that keeps both honest in production. I care about reliability, clear interfaces, and shipping things people use.

Role
Co-Founder & CTO, Tripcerto
Based in
Bristol, UK
Focus
AI products, mobile, cloud
Previously
Dyson · Arrowhead

02 / Projects

Selected work

A mix of commercial systems and public code. Each card is honest about whether it is public, private or commercial, and whether it is live.

Tripcerto / Stella

Commercial
live

An agentic AI and advanced retrieval layer for travel businesses. Stella turns traveller conversations into structured, qualified demand, built on the Claude API with vector search and tool-using agents over partner-owned data in isolated environments. I lead the architecture and build the system.

Claude APIAdvanced RAGVector searchAgentsTypeScript
See Stella

Bike Connect

Public
live

I build the Android app for Bike Connect, which turns a Di2 bike’s handlebar buttons into phone controls over Bluetooth LE: skip tracks, adjust volume, check gear, battery and firmware, or ring a virtual bell. Low-level BLE and GATT under a clean Kotlin and Coroutines surface. Part of a cross-platform product that is live on the App Store and Google Play.

KotlinAndroidBLE / GATTCoroutines
View repo

EliteCloud

Commercial
live

A connected-security app I built from scratch as the sole Android developer at Arrowhead Alarm Products. Arm and disarm alarms, control gates, garages and lighting, and receive push alerts for fire, power and intrusion, all over an encrypted link to the alarm hardware. Live on Google Play, and grown since I started it.

KotlinJavaAndroid
Google Play

ClipPilot

Public
in progress

A local-first video repair toolbox. Drop in a clip and stabilise, compress, convert, trim or turn it into a GIF, all processed on your own machine with no uploads. Built on Next.js and FFmpeg, with a clean REST API and a one-command Docker deploy.

Next.jsTypeScriptFFmpegDocker
View repo

Logger

Public
maintained

A lightweight Kotlin logging utility for Android. A small, dependency-free wrapper around the platform logger with automatic tags, cleaner stack traces and consistent formatting. Published on JitPack.

KotlinAndroidJitPack
View repo

tstyles.dev

Public
live

This site. A static-first portfolio built with Next.js, TypeScript and Tailwind CSS, with tasteful, reduced-motion-safe animation adapted from React Bits.

Next.jsTypeScriptTailwindFramer Motion
View repo

Private work, public signal

A lot of my strongest engineering work sits in private company repositories. This section highlights the kind of systems, responsibilities and outcomes I can talk about openly.

BLE foundations

A reusable Bluetooth Low Energy abstraction layer for Android, sitting on the raw GATT APIs with Coroutines. The unglamorous reliability work that makes a connected device feel instant.

KotlinBLE / GATTCoroutines

Real-time & utility apps

Real-time global event monitoring with on-device and home-automation triggers, plus a smart screen-on manager for Android built with Jetpack Compose, Coroutines and DataStore.

KotlinJetpack ComposeAndroid

AI product systems

The commercial retrieval and agent systems behind Stella, in production on the Claude API and designed around isolated, partner-owned data and the reliability real customers need.

Claude APIAdvanced RAGAgents

03 / Experience

Where I have built things

Leading engineering at a startup now, after building connected apps at Dyson and creating EliteCloud from scratch at Arrowhead.

Co-Founder & CTO · Tripcerto

Current

Leading all engineering and technical architecture for an AI product company in travel.

  • Building Stella, an agentic AI and advanced retrieval system that turns traveller conversations into structured, qualified commercial demand.
  • Built on the Claude API, with retrieval, vector search and tool-using agents wired into a real product rather than a demo.
  • Designed around partner-owned data held in isolated environments, so privacy and commercial trust come first.
  • Own the stack end to end: product architecture, AI orchestration, the TypeScript / Next.js surface, backend and infrastructure on Vercel.
Claude APIAdvanced RAGVector searchAgentsTypeScriptNext.js

Android Engineer · Dyson

2022 – 2024

Built connected experiences for IoT devices on the MyDyson app, working close to the hardware.

  • Feature development and connectivity for new and upcoming Dyson products, on the customer-facing MyDyson app.
  • A heavy focus on scalability and production-grade reliability, on an app shipping to a large, global customer base.
  • Kotlin and Java on Android, with low-level Bluetooth LE and GATT for device setup and control.
AndroidKotlinJavaBLE / GATTScalability

Software Engineer · Arrowhead Alarm Products

2018 – 2022

Created EliteCloud, the company’s connected-security app for Android, as the sole developer.

  • Built the first EliteCloud Android app on my own, end to end: arming and disarming alarms, controlling gates, garages and lighting, and push alerts for fire, power and intrusion.
  • Led the encryption and security work. It is a security product, so the encrypted link between the app and the alarm hardware had to be genuinely trustworthy.
  • Kotlin and Java on Android. I started the project as the sole engineer; it is on Google Play and has grown since.
  • Began in technical support and repair before moving into engineering, so I knew the hardware and the customers before writing a line of the app.
KotlinJavaAndroidEncryption

04 / Stack

Tools I reach for

A working set, not a wish list. These are the things I use to ship and maintain real products.

Frontend

  • React
  • TypeScript
  • Next.js
  • Tailwind CSS

Mobile & connectivity

  • Kotlin
  • Jetpack Compose
  • Android
  • BLE / GATT
  • Coroutines

AI & product systems

  • Claude API
  • Advanced RAG
  • Vector search
  • Agents
  • Evaluation

Backend & cloud

  • Node.js
  • REST APIs
  • Docker
  • Vercel
  • Cloud infrastructure

Delivery

  • Git
  • CI / CD
  • Code review
  • Testing

05 / Contact

Open to interesting conversations.

Building something in travel, AI or connected products, or just want to compare notes. The inbox is open.