I'm a Full Stack Engineer who likes working in multi-disciplinary teams to solve real world problems for users.

Wanna chat? - @tommypalm / hi@tommyp.org

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.


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.