How to make the most of free moments

The input-output framework

Today I want to share a framework that that has supercharged my productivity over the last few years. It has helped me make the most of free moments that arise throughout the day, and I believe the positive cumulative impact has been huge.

The first step is that I divide everything that I do into either an input or an output activity.

Input is seeking to understand the ideas of others; studying, reading or listening to someone’s point of view.

Output is creation; writing a blog, working on a project, brainstorming solutions to a problem.

The second step is to decide what I want my inputs and outputs to be.

I personally love learning about technology, psychology and productivity. I have more books and articles on these than I have time to read. These are my main inputs.

I love to write about ideas that I think can help others, on my blog or my newsletter. Writing helps me gain clarity on what I think. I love thinking about ways technology could be used to improve healthcare. These are my main outputs.

What are yours?

Within both input and output, I have a rough hierarchy in terms of the value of the task and the attention required. I’d rather read a book than listen to an audiobook, but it requires more attention. Likewise, I’d prioritise an audiobook over reading short articles on my phone, which comes ahead of watching an educational YouTube video - each level broadly requiring less optimal conditions then the previous.

I have a similar hierarchy for output activities.

The next step is where the productivity arises. Whenever a free moment arises, all I have to do is ask myself:

In my current context, what is the highest task in the hierarchy I can do? (and is my current priority input or output?)

If I’m at home, with peace and quiet for the next few hours, I’ll start writing an article or grab and book and start reading.

If I’m on a noisy bus, I know I’ll struggle to read a book. Easy: I pop on an audiobook.

If I’m at a café, waiting for a friend who could arrive at any moment, I’ll take my phone out and read short articles on Pocket or Medium.

The nice thing about this approach is that it removes the need to make decisions in the moment. Free moments pop up throughout the day, and this framework makes it frictionless to be productive with them.

It works best if I know what I’m working on; what articles will I be writing next? what books shall I read?

If my context changes, perhaps a lecture is cancelled or a friend wants to come over in 15 minutes, I only have to re-ask the question: “In my (new) current context, what is the highest task in the hierarchy I can do?”, and then get cracking.

Life’s not all about productivity, but productivity is about managing time and time makes up life. This framework helped me take control of my time, which includes freeing up more time to be delightfully unproductive.

I hope you find it as helpful as I do :)


This week’s video: Coding a Medical Calculator

I’m making a series of 5-6 videos to teach Python programming through practical exercises applying coding to medicine. The blog form of the exercises are available on

This week’s podcast: Machine Learning for Medicine on the Big Picture Medicine podcast

I absolutely loved being interviewed for this podcast, and I think Mustafa has done a fantastic job with the final product. We talked about key definitions (AI vs machine learning vs deep learning), the current state of AI in healthcare research, whether AI will replace doctors, how to read medical ML papers and how to get involved.

This week’s blog: Automating my job search with Python (using BeautifulSoup and Selenium)

I’m currently looking for data science roles, so wrote a Python script to automatically find me jobs to apply for. I wrote a blog post about it here for the Towards Data Science magazine.

Project opportunity:

A good friend of mine is working with a team to model coronavirus transmission in refugee camps. They are providing models to humanitarian NGOs who are working to contain the outbreak. The team are looking for anybody with epidemiology modelling experience or coders with R or python skills. They are also in need of technical writing and UI UX research volunteers.

If interested, the website is and my friend (Yanhong)’s email is

Stay happy and healthy,