Iā€™m Tommy, a freelance Web Developer living in London. I'm currently looking for freelance opportunities.

Want to chat? hi@tommyp.org

I write all flavours of JavaScript, Ruby and Elixir.

Over the years I've worked on big projects and small projects.

Some of them are šŸ‘‡

Good Club

Good Club is an online sustainable supermarket specialising in organic pantry style food.

Their unique selling point, is a closed loop, zero waste system. Which enables their customers to shop in an environmentally consious way.

As part of the Shop Squad, I worked on many different parts of the customer facing section of the site. One of first projects, was planting a tree if a customer places an order over a certain value.

Is it shorts weather today?

Many years ago, I thought about building a site that just told you if you should wear shorts or not. That's it.

It uses your location and a little bit of logic to give you an easy yes or no.

I've used it as a way to experiment with new languages and frameworks. It's been Ruby, Go and Node, but the latest incarnation is plain HTML, CSS & JavaScript.

I had worked my way through a course in making art with code and wanted to show off my new skills. As part of the 2021 rebuild, I made a trippy generative background with WebGL. It even starts semi-randomly each time you refresh.

Conversations with a Shipwreck

The Vasa, was a Swedish warship who sank on her maiden voyage leaving Stockholm harbour.

I was approached by photographer Adam Davies to work on building a digital exhibition for his collaboration with Joan Wickersham.

Being a digital representation of a gallery, typography and spacing was extremely important. Adam and I continually worked with the specifics and launched it, timing it to feature with The American Scandinavian Foundation and Scandinavia House.

As the exhibition has finished, you can find the site avilable at an archive.


My good friend Harry has spent a few years travelling the country, taking photos of local council bins and documenting them on govbins.uk.

Mid-March, we were hanging out and he asked me would I help him add new features to the site and I happily agreed. As we went into Lockdown, Harry started accepting submissions via Instagram as travelling for bins didn't seem so essential.

It was originally a static site hosted on Github Pages made using Bootstrap with lots of overriding inline styles. It had a lot of repetition of markup and with so many high res images, the time to load the page was upwards of 15 seconds.

I ported the site to Next.js and Tailwind CSS, and used lazy loading to decrease the latency of the page. I also added sorting and submissions using Netlify forms. After a few weeks, the bandwidth used for the images was making the Netlify bill pretty huge, so now, on every deploy to master, it runs the images through ImageOptim and syncs them to S3, loading them from there for visitors. This reduced the bandwidth per month from hundreds of GBs during peak periods to hundreds of MBs.


I like seeing how I can use two APIs to make something fun and I wanted to build a side project, but I couldn't think of any ideas. I ended up building a side project idea generator so that I don't have this problem in future.

It was a fun little project that I built over a few days and I took the opportunity to get a domain hack just for it.


I'd played with Elixir a little bit, but decided during an on-call shift to build something over the week with it. Being inspired by another site I wanted to build a sweary travel guide.

I like building projects that mash APIs together in fun ways and I also like eating and drinking my way through cities, so it was a really fun side project.


When I started at Deliveroo, Engineering was 40 people and the whole codebase was in one Application. Now, Engineering is nearly 10 times as big and although we still have a Rails monolith, there's a lot of microservices in various languages in different parts of the stack.

I've worked on a lot of different projects there, like porting the Menu page from Angular to React, allowing Restaurants to deliver food themselves and decomping the listing page to a new Go Application. I even worked on a change that the Mayor of London, Sadiq Khan, commented on.


Shortly after I moved to London I joined the team at the Government Digital Service working on GOV.UK. It was one of the best experiences of my life. I learnt how to work as a Software Engineer and not just write code.

Initially, as a part of the Transition project, my team and I were responsible for building Applications to support Government Departments from moving their content from their own, disparate sites, to the unified GOV.UK site. This involved building a publishing application and the public facing application for organisations like the Competition and Market Authority.

After that was finished, my team was disbanded into a number of different teams. I ended up joining the team which was working on preparing the site for the upcoming General Election. This involved tagging content with the Government it was published under, adding the ability to end a Government and publishing political content under the same Application as Government Departments.