About Me
I'm a developer who's been building software for over 15 years. What keeps me engaged is the craft: solving real problems, writing code that's easy to maintain, and shipping software that people actually use.
Outside of work, I enjoy starting my own projects, usually tools to make my life easier and a good excuse to try new tech. Caraid is a project management app I made because existing tools felt too heavy. It's a full-stack PWA with React, Express, and MongoDB that works offline. I'm also building Manji Handbook, a React Native app for Tekken players. This portfolio is another project I like to improve on over time.
Professionally, I've worked across agencies, startups, and enterprises like Just Eat. At TOCA, I build real-time systems that power interactive venues globally. I manage projects and mentor developers too, but the work I find most rewarding is still technical: architecture decisions, debugging tricky problems, and getting features into production.
I'm drawn to teams that care about quality and ship regularly. The best projects I've worked on had clear problems to solve and the freedom to solve them well. You can see more of my work on the projects page.
I've Worked With
Languages
23 projects in my portfolio
Frontend
23 projects in my portfolio
Infrastructure
19 projects in my portfolio
Build & Tooling
21 projects in my portfolio
Testing
14 projects in my portfolio
Auth & Integrations
8 projects in my portfolio
Other interests
Languages
23 projects in my portfolio
Frontend
23 projects in my portfolio
Backend
12 projects in my portfolio
Infrastructure
19 projects in my portfolio
State & Data
15 projects in my portfolio
Build & Tooling
21 projects in my portfolio
Testing
14 projects in my portfolio
Auth & Integrations
8 projects in my portfolio
Other interests
I've Worked At
Information Systems Development Manager
TOCA Social is a competitive socialising venue where you play games with friends. From the moment you walk in, you're guided to your "box" past screens, kiosks, and staff tablets. I joined as a frontend developer in 2020. After proving I could deliver under pressure and contribute beyond just code, I was promoted to lead the Information Systems team. I now manage developers, QA engineers, DevOps specialists, UX designers, and business analysts. The team is international, and I still get hands-on: I run mentoring sessions with juniors and I've never stopped writing code. Recently, the business has shifted my focus towards automation. I chair TOCA's AI committee and I'm building internal tools that use AI to streamline operations. One example is TOCI, a chatbot that lets teams query their own data across systems like HubSpot and NetSuite.
- Before my promotion, I built a full suite of software that ran the venues: fixture screens (think airport departure boards), live leaderboards, and Playmaker Social, the tablet app staff use to run games. That work demonstrated I could deliver complete systems and led directly to my promotion.
- Opening a new venue used to take two weeks: spinning up AWS accounts, configuring databases, managing Auth0 permissions. We containerised the stack with Docker and Kubernetes, and white-labelled applications to work across different infrastructures. Setup now takes under a day. TOCA's expansion depends on this.
- Early on, TOCA needed features no off-the-shelf booking system offered: double-box bookings, five-minute intervals, and dynamic pricing. I built the booking system from scratch, along with a schedule management tool that let managers control availability and box assignments. The Reception Desk tied it all together with real-time sync across the website and venue.
- In 2024, I led development of Exercise Creator and Playmaker Sports for TOCA's US venues, replacing an iOS app that was slow and prone to breaking. Feedback has been positive: staff say everything is faster and clearer. I'm also supporting a franchisee setting up a new venue in Monterrey, Mexico.
Global Lead Web Developer
Just Eat operates in 16+ countries. I joined the global marketing team as lead developer. I built tools and microsites for campaigns across all markets, sat in strategy meetings, and managed another developer. The core challenge was speed. Campaigns needed dozens of banner sizes, GIF animations, and landing pages. I built internal tooling to automate the slow, repetitive work.
- Creating campaign banners used to take the design team a week. Each campaign needed 20+ image sizes and GIF variations for platforms like Google Ads, Bing Ads, DoubleClick, and Facebook Ads Manager. I built the Campaign Automator, a Node.js CLI that automated the full pipeline. Feed it one source image and a JSON config. It resized with Sharp and ImageMagick, generated GIFs, opened a browser preview for QA, and submitted directly via API. A week became a day.
- Led technical delivery for the "Did Somebody Say Just Eat?" campaign. Built landing pages, interactive microsites with CSS animations, and video player integrations. Assets shipped to 16+ markets.
- Built internal Node.js tools to speed up marketing workflows. Example: a form tool that submitted campaign data to multiple platforms at once. No more entering the same information on five different websites.
Application Developer / Frontend Team Leader
Verv built smart meters that could identify which appliances you were using just from your home's electrical signal. No setup required. Machine learning models recognised the unique signatures of kettles, fridges, and TVs. I joined as the sole application developer and built the tablet app that displayed real-time energy data. Later I grew and managed a team of seven to rebuild everything natively.
- Built the core energy monitoring app using Angular 1.4, D3.js, and Socket.io. The app connected to Verv's proprietary hub via WebSocket and displayed live power usage at 10Hz. A graph updated ten times per second while an appliance list lit up the moment something turned on. Users could see exactly what was using power, in real time, with no manual setup.
- Grew the team from one (me) to seven. Hired Android developers, iOS developers, a UX designer, and a QA engineer. Managed the full rebuild of the app in Swift and Kotlin. The native apps shipped with a 4.8/5 rating across 100+ reviews on the App Store and Google Play.
- Built an interactive spectrogram for ZSL Whipsnade Zoo (through Austin Consultants). The D3.js web app let visitors compare their voice frequencies with elephant calls in real time. Reference lines showed how elephants communicate far below human hearing range. The Queen unveiled the elephant enclosure that featured the installation.
Earlier Roles
2008 - 2015
I co-founded two creative agencies, led SEO and web development for multiple companies, and built my foundation in full-stack development. Highlights include growing online traffic by 53% at NTA Ltd, generating 50,000+ YouTube views for artists at Major Multimedia, and delivering big-data applications for the music industry at Entertainment Intelligence.