Work with me

I’m available for freelance projects and collaborations, either on-site in Melbourne or remote.

If you think I could help, please do get in touch.

What I’m good at

What I’m curious about

I enjoy learning new things. I’ve done a bit of these things, but I’m keen to do more:

Ways I can help

What people say

Jon Leighton is an amazing developer. Jon’s breadth of experience and critical thinking ability make him capable of solving any problem (code or otherwise) he sets his mind to. Jon was an inspiration to our team through his ability to lead by example in terms of communication (eg commit messages) and also to contribute to other areas of our company. My standard for an engineer is, if assembling a team again, would I have a place for them? - In Jon’s case - absolutely.

Michael Morris – Head of Technology at Up

Past work

Here are a few examples of things I’ve worked on.


I spent four and a half years as Technical Director at Loco2. Our aim was to make it easy to book any European rail journey through a single website. I joined at an early stage, sat on the board, and played a key role in growing the business.

A big motivation for my involvement was the founders’ desire to use Loco2 to help mitigate climate change, by making it as easy as possible for people to take a train rather than a plane.

I worked on many things during my time there. Here are some that stand out:

  • Building up and guiding the technical team
  • Developing processes and documentation to keep the remote-first team running smoothly, such as: coding style guidelines, code reviews, on-call processes, error handling and deployment
  • Identifying and eliminating problem areas in the code base and infrastructure
  • Overhauling the ‘routing’ part of our software which identified which tickets were needed from which operator in order to make a complete journey
  • Developing our software architecture so that we were able to easily plug in new rail operators when we formed a commercial agreement with them
  • Reworking our hosting infrastructure to be more resilient and maintainable


When I first came to Australia I worked at the new ‘digital bank’ Up. I learned lots of new things on this project, such as React Native, GraphQL, Relay and Flow.

One significant contribution I made was around the automated testing infrastructure. I discovered that end-to-end testing of mobile apps is very difficult to make reliable—our builds were often failing due to flakey tests. After working to find and solve various individual cases, I saw an opportunity to rewrite our testing code to avoid common problems and be easier to use. Completing this work resulted in a step-change in build speed and reliability.

Open source

I used to be very active in open source software development in the Ruby community.

  • I was part of the Ruby on Rails core team, and did a lot of work refactoring and improving the database layer, Active Record
  • I started a project called Poltergeist, which enables developers to use PhantomJS to perform end-to-end testing of web applications
  • I started a project called Spring which speeds up development of Rails applications by keeping them running in the background. Spring is now included in new Rails applications by default


I have a BA in Computer Science from Oxford University.


I used to give talks at technical events, before making a decision to step away from it.

Here’s a non-exhaustive list: