Find me on LinkedIn at .

I enjoy and excel at designing and developing secure, usable and creative web + mobile applications and the APIs which power them.

I am experienced at transforming complex big picture visions into achievable, incremental development roadmaps.

I have lead several integrations with third parties and can communicate systems in a way which is understood by non-technical clients.

I have mentored both graduates and senior developers, conducted one-to-one catch-ups and code reviews.

Current Projects

Senior Developer at RoosterMoney (2019-present)

Backend integration of the RoosterMoney platform to launch the Rooster Card - a Visa prepaid card helping kids build good money habits #FinancialEducation - Find out more at

  • Integration of our Typescript Node.js microservices with 3rd party payment system APIs to transfer money into and out of the RoosterMoney family bank account via bank transfer and debit cards
  • Creation and management of recurring Rooster Card subscriptions with tokenized debit/credit cards
  • Integration of child card usage permissions, spending limits for parents to keep control of spending
  • Setup a OAuth2 OpenID auth server, third party integrations and dynamic client registration
  • Experience working with AWS: CDK, ECS, AppConfig, Secrets Manager, SQS, RDS, DynamoDb, Cloudwatch, Xray

    Specialising in backend Node.js with Typescript, ECMAScript using TSLint, Prettier, Postgres, TypeORM, Swagger, Express, Jest, Gitflow

Music - Stephen Esch (2014-present)

Music - Stephen Esch tracks Stephen's ratings using Node.js+Typescript+Bookshelf+Knex+Postgres+AngularJS.

More on the way :)

Past Projects

Bubbly Clouds (2013-2021)

Bubbly Clouds is my sole trader business identity. Between October 2013 and September 2021 it operated as a web hosting, SSL and domains business. This business stopped operating due to rising costs from cPanel and WHMCS partners and a decline in clients following the 2020 pandemic. I provided various local businesses across the South of England with PHP, Node.js, Python, Perl and more with the industry leading cPanel and WHM all of which I managed at Linode. I provided personal technical support across a wide range of web, email, networking and sysadmin issues, plus of course the usual business as usual.

Lead Software Developer at Lumina Learning (2016-2019)

Leading the team to deliver a distributed microservices strategy at Lumina Learning. Hold the technical vision for the team. Architecting the plan, designing the specification, hands on coding of complex integrations, mentoring, reviewing and testing.

My final project at Lumina was implementing PDF Renderer as a Service using headless Puppeteer from Google Chrome. Worker Node.js Docker containers, spin up and down on ECS in response to CloudWatch alarms which fire when SQS queue contains URLs to render.

IAM SSO with Auth0: custom OAuth2 integration with third party ATS system, mapping users to legacy monolith profile ids+types using JavaScript enrichment rules, custom claims in JWT for authorization, custom registration flows using Auth0.js, node-auth0 management and authentication APIs,
localisation of emails and hosted pages

Eurovisionr (2013-2017)

Project which ran from 2013 to 2017 with Jade Eliott at
A fun project providing the content and me coding the website usually only takes a few weeks as it's just a bit of fun and a chance to play with something new. This formed my own personal learning of Node and AngularJS.

Senior Software Developer at Lumina Learning (2014-2016)

I developed the Lumina Splash App natively for iOS (Objective C) and Android (Java) and Web (Node.js + AngularJS) Compare with my Splash:

The Splash app augments paper based psychometric reports with interactive, animated, digital addons which allows learners to compare
themselves to others and share to compare their personality online:

Security first approach:

I presented the app to partners and clients in Indonesia at Lumina Learning's global conference. The app is used by thousands of participants
taking part in psychometric workshops with their company, and practitioners running them across Lumina's global networks. Myself and Nikita Mikhailov, Consulting Psychologist achieved Finalist status in the 2016 ABP Workforce Experience Awards for Excellent Innovation in Business Psychology for the Lumina Splash App.

Internet Service Developer at Netcraft (2012-2014)

Developer of Netcraft's interactive web trends pages
and performance monitoring timeline pages

Quoted in The Guardian following a discussion on the current issues affecting web sever performance

I also had input on Netcraft's news articles, including

"Geolert" Location Based Mobile Coupons (2012)

My final year BSc Computer Science project at The University of Southampton. In this project a location-based coupon application was designed, implemented, tested and evaluated. The App to detect when users entered geofences was written for Android with a Zend Framework PHP web service which triggered push notifications back to the app when they visited a location enough to have earnt a coupon.