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

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 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 tokenized 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

Specialising in backend Node 10 with Typescript, ES2018 using TSLint, Prettier, Postgres, TypeORM, Swagger, Express, Jest, Gitflow

Bubbly Clouds

Bubbly Clouds is my web hosting, SSL and domains business. I provide my clients with PHP, Node.js, Python, Perl and more with the industry leading cPanel and WHM all of which I manage at Linode. I provide personal technical support across a wide range of web, email, networking and sysadmin issues, plus of course the usual business as usual.

Music - Stephen Esch

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

A fun project which I have done every year since 2013 with Jade Eliott 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.

More on the way :)

Past Projects

Lead Software Developer at Lumina Learning

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

Senior Software Developer at Lumina Learning

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

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

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.