Profile

Product engineer and tech lead specialising in data-heavy products, with 20+ years taking raw data from ingestion to the screen a customer uses. Built OLAP and analytics SDKs at Crystal Decisions and i2, live sports data systems for NTT DATA fed by GPS, timing and scoring feeds over Kafka and WebSockets, search alerts that have sent millions of emails, and LLM classification pipelines in production. More than 20 applications shipped to production for long-standing clients along the way.

Tech lead: led small engineering teams to immovable live-event deadlines, setting coding standards and reviewing every pull request. Product-focused: founded two products, and own work from the first customer conversation to long-term production. Test-first: coding agents now write most of my code, under guardrails I built for test-first development, code review, and security and performance audits. That leaves my time for architecture, reliability and tech debt: I kept one platform healthy for 13 years, from Rails 1 to Rails 8.

Experience
Product Engineer
Environmentjob.co.uk (Contract) · The UK's leading environmental jobs platform
  • Long-running retained contract, held alongside other client work since 2013.
  • Kept the platform current for 13 years, from Rails 1 to Rails 8, paying down tech debt alongside feature work.
  • Build and maintain systems for job search, advertiser and job-seeker tools, admin workflow, CRM and reporting. Changes ship in days and stay in production for years.
  • Designed the data model and built Elasticsearch full-text search, faceted filtering and an email alert system that has sent millions of emails.
  • Built AI import, clean-up and classification systems.
  • Built a software tool for monitoring relevant new job postings across hundreds of websites, later spun out as its own SaaS.
2013 - Present
Founder & Product Engineer
Changeflow · Bootstrapped AI-powered website monitoring and alerting SaaS, used by Am Law 200 firms
  • Founded, built and operate a production Rails SaaS for website monitoring, change detection and customer alerting.
  • Designed the core data model, monitoring pipeline, background jobs and notification workflows end to end.
  • Integrated Puppeteer/Node.js browser automation with Rails, PostgreSQL, Redis and Faktory/Sidekiq.
  • Built LLM pipelines for classification, summarisation and cleaning, plus an in-app AI agent.
  • Built a daily automated audit that flags suspected missed alerts, because regulated-industry customers cannot afford a silent miss.
  • Owned the full lifecycle, from customer conversations and pricing to deployment, production reliability and support.
  • Now a stable, lightly maintained side product rather than an active venture.
2023 - 2026
Lead Engineer, Live Data Systems
LEX (Contract) · Engineering for NTT DATA's global sports sponsorships
  • Delivered time-critical data-ingestion and visualisation systems for NTT DATA sponsorships including The Open, Tour de France, BMW International Open and Indy 500, ingesting GPS, timing, weather and scoring feeds over Kafka, WebSockets and XML.
  • Built ShotView, live 3D shot tracking in Three.js for The Open's website, taken from creative concept to over 1 million visits a day within 4 months; won Best Use of Technology at the Sports Industry Awards 2023.
  • Rebuilt the NTT DataWall as a 30-metre 3D visualisation synced with the live broadcast, using real-time OCR of the feed and ActionCable to put matching player and hole analysis on screen within milliseconds.
  • Led a small team of software engineers within a wider multidisciplinary team of creative directors, designers and producers, owning coding standards, automated testing and code review.
2019 - 2023
Product Engineer, Data Analytics
Retechnica (Contract) · AI firm; engaged to deliver a medical analytics platform
  • Built a medical voice-of-customer analytics platform for GlaxoSmithKline (GSK), with data exploration, interactive visualisation and PDF/PPT reporting exports.
  • Shipped on time and on budget with a 9/10 satisfaction score from 50+ stakeholders.
2019
Senior Engineer, Live Data Experiences
Pulse Group (Contract) · Digital agency delivering live data experiences for global brands
  • Developed the first generation of NTT DATA's live onsite data experiences and event websites in Rails, JavaScript and D3.js for The Open Championship.
  • Delivered large-format live data screens for Team GB at the Olympic Games.
  • Built Rails reporting tools, touch-screen interactives and a Cordova mobile events app for Emirates Airline.
  • Recruited and managed other engineers as projects required, reviewing every pull request and running estimation and delivery against fixed event dates.
2013 - 2018
Founder & Product Engineer
Flumes · Social media analytics and visualisation platform, founded and built 0 to 1
  • Built a social media analytics platform from scratch, covering live social data ingestion, enrichment and interactive visualisation.
  • Enriched social data with sentiment, gender, age and geolocation classification by integrating third-party APIs.
2010 - 2013
Head of Technology
AlphaSights · Information-services & advisory firm, Cambridge/London
  • Joined as first employee, set the technology direction with the founders, and recruited and led the initial Ruby on Rails engineering team.
  • Architected and built a bespoke CRM and customer-portal system underpinning the firm's client communications.
  • Set the company's software development practices from the start, including coding standards, unit testing, continuous integration and Kanban.
2008 - 2010
Additional experience
Co-Founder
Unicorn Studios Ipswich
  • Co-founded a not-for-profit creative co-working space for remote workers, freelancers and contractors.
2019 - Present
Independent Software Engineer
Humble Technologies
  • PHP and Ruby consultancy for UK clients.
2005 - 2008
Senior Software Engineer
i2, Inc. (now part of IBM)
  • Responsible for the web SDK of the company's flagship analytics tool; built on Java and JavaScript, it let third parties embed its charting technology in any web page.
2002 - 2005
Software Developer
Crystal Decisions (now part of SAP)
  • Built enterprise OLAP components and a front-end JavaScript SDK, and mentored new developers.
1999 - 2001