Carl Topham

Fullstack engineer

I’m a senior developer with 15+ years experience in front and backend development. Working with languages from TypeScript & Node to Python and PHP. I have a deep understanding of modern web technologies and a passion for creating dynamic user interfaces, with robust backends and services.


Recent articles

Chester Half Marathon 2024 - race report

Monday, May 20, 2024

Despite it being a scorching day, I managed to keep my head cool and beat my target time, with a new PB to boot. There were a number of lessons I learnt from the London Marathon a month ago, which I put into action pre and during the race which really paye...


London Marathon 2024 - Race Report

Sunday, April 21, 2024

This is THE race I have been trying to run for years, and when it finally came, it didn’t disappoint despite a sub-par performance on the day. I accomplished most of what I set out to achieve, and had an amazing day. Goals 3:20:00 - Fail 3:30:00 - Fail ...


Running the London Marathon for WWF

Friday, March 1, 2024

As many of you my know, I'm passionate about my running and the environment, and this year I've been fortunate enough to secure a spot in the London Marathon, and I'm running not just for personal achievement, but to support a cause close to my heart: WWF,...


Garmin Epix daily workout suggestions

Monday, January 29, 2024

If you manage to disable the suggested workouts feature on your Garmin Watch, then there is a quick way to re-enable it. Go to your "Race calendar" > Select your event > Click start/stop button and an option for "Daily suggestions" will appear. You can c...


A guide to GROQ

Saturday, August 5, 2023

GROQ (Graph Relational Object Queries) is a query language that was created by Sanity to query CMS data. It’s a flexible query language and the use of projections makes it a powerful tool to construct complex and efficient data queries. GROQ vs. GraphQL ...


Recent projects

Migrate carl-topham.com from Gatsby to Next.js

Rebuild my portfolio site (carl-topham.com) in Next.js, migrating from Gatsby


Running kit bag

Interactive kit bag checklist app to ensure that I always have the right running kit for training, races and all weather!


SmartSave & LiveLend WebApps

React.js Redux WebApps using REST APIs with Auth.


Chord generator script

Generates note combinations for different keys & chords


Advanced Strava Stats

Sync your Strava data and analyse it in extra ways than the official app. React, Redux, Saga, Axios & D3