Tracking every hour of every day has made me happy with how I spend my time.

Made for desktop and mobile and easily draggable, every hour helps track your time easily.

What inspired the idea?

My friend, also called Alex, showed how he was doing more of the things he wanted to — piano, friends, and a course — and avoiding things he didn’t want to.

To do this he was using a spreadsheet.

How I will decide what to work on for Product Hunt’s Maker Festival

Inspired by Product Hunt’s community engagement piece focusing on building a Greener Earth, I thought I would revisit an old idea.

I can track my calories, my emotions, how I spend my time, and every second that I spend on my laptop… but I have no idea of the environmental impact of my decisions.

Why can I not record what I have eaten and find out if I am going over my weekly carbon target?

Throughout the day, I want to be able to record what I am up to — food and travel mainly, as I assume they are the largest factors which I have full control over.

My notes for future me.


  1. There is a lot of prep (images, gifs, videos, descriptions, first comments, potentially videos, and so on).
  2. You will fall into the sea of products if you don’t prepare yourself
  3. You will fall into the sea if you don’t prep your friends and followers
  4. People who signup on the day will not count to your upvotes
  5. Lower upvoted products can rank higher (if they were released later)
  6. Don’t bother launching at 12am — just launch when your the people who will upvote will be up (see point 5)
  7. You don’t need to be hunted. It doesn’t affect the algorithm.


There tends to be a lot of factors to consider when you buy a car: style, price, speed, economy, etc. How do you decide?

Narrow down the features you need

First off, if you live in London, you don’t need a car. If you still insist that you do need a car, you don’t really live in London.

We were moving out of London to start living in different places every couple of weeks. We needed to fit all our belongings into this car. Plus my bike. Plus Emma’s bike. It needed to be reliable, and comfortable. We had a budget of max £5,000.

We set…

PWA’s will need persistent storage sometimes but it is damn painful to do without studying indexedDB — so I did it for you

The key challenge — Async interactions

This is a problem I have hit a few times. You can’t just get data from the db by stating it — ie. const value = db.value. This is different for most of us.

Instead we need to say that we want it, and then say what we will do with it after it comes back — callbacks.

Mozilla talks about a common pattern to bear in mind while interacting:

The code should be structured similarly.

Prep work

For the gists below to work you will need to define a few things. Specifically:

const dbName = "whateverYouWant";const version = 1; //…

Work is entering the home. Separation is vague. Everything is built for your attention not your balance. We are all unprepared.

We don’t have awareness of time (and everything is built to capture attention).

If someone asked you to do something, you would likely do it for them. Motivation isn’t even a thought.

But when you give yourself a task, it’s much harder.

There is likely less definition of the task and how to complete it, less accountability as you’re only cheating yourself and less urgency. This hits your life balance. Suddenly, your doing more work than anything else, you neglect the things that make you happy and you burn out.

The defence

I started tracking my hours — every hour of the…

The foundational book on habits reviewed


  • Define who you want to be (and write it down)
    (Identity — eg. “I am someone who enjoys exercise and hence does triathlons”)
  • Define precisely (time and place) your desired habits that support that identity
    (eg. “I should get up at 6:30am and do yoga in the lounge”)
  • Make the habits super small
    (eg. “At 6:30am, I will roll the yoga mat out in the lounge and sit for 5 mins”)
  • Design your environment to make those small habits
    (eg. “I will roll the yoga mat out the evening before”)
  • Stack habits you already do together to make them more…

How APIs are just child blocks, semantic versioning and what major releases are

Model of an API

The API is the hole.

In reality the shape is not a triangle but a structure of data (X contains Y) and format of the data (Y should be a number with no decimal places).

If you are working with an API, you are creating the block, they are managing the hole.

When things change

Things can change in three ways with APIs:

  • PATCH — don’t change the shape
  • MINOR — change the shape a bit
  • MAJOR— completely change the shape

Don’t change the shape

This could be for things like performance improvements, small tweaks in method, or fixing simple bugs.

The short of it is that…

And how I get around it.

I need to compare airbnb’s better, but airbnb has missed this step. I am making something to fix it until airbnb do.


I love airbnb. It is a beautiful idea that is making access to accommodation so much better, directly and indirectly.

Moreover, it is a beautiful experience. Easy search, easy filtering, great visual workflow of decisions and super easy representations of changing decisions:

Airbnb focus on your decision making process

The problem

When searching for things, we tend to work in a double diamond model:

Basically, time zones suck but Mongo saved me from RSI.

I use mongoDB and the MERN stack more generally while I am building:

I couldn’t recommend the stack enough — especially if you are new to learning to code.


I spotted a bug with my most recent release…

The problem — 08/04/21 was the most important date?

It was appearing at the top of everywhere for everyone…

Notice how the 8th April is repeated.

My first though was, “Oh good lord, no, not more timezone pain or something”. Turns out no. After a lot of hair pulling, I by chance spotted this:


Founder of and Product Owner @ dunnhumby; just genuinely interested in a lot of things. Built racecars, built electronics, now building software

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store