Software projects

  • I created and maintain GPIO Zero – a simple interface to GPIO devices with Raspberry Pi
  • I created and maintain piwheels – Python package repository providing wheels (pre-built binaries) for Raspberry Pi
  • I led the development of mosromgr at the BBC – a Python library for managing TV and radio running orders
  • I created and maintain hostedpi – a Python interface to the Mythic Beasts Hosted Pi API
  • I created and maintain Meme Overflow – Simple framework for Twitter bots creating memes from Stack Exchange questions
  • I co-created pyjokes – A Python library and CLI providing one-line jokes for programmers

Work projects

  • BBC News Labs:
    • Personalised AV research – investigating various ways we could deliver personalised content to people
    • Digital Paper Edit – a web app allowing journalists to rough-cut edit audio and video files by editing an automated transcript
    • MOS Running Order Manager – a Python library and suite of AWS services for managing MOS running orders and extracting information about stories within TV and radio programmes
    • Personalised Skippy – a hack project re-using news clips from Skippy (the BBC News Alexa integration project) for a non-interactive personalised audio news experience
    • Personalised AV prototype – a web app displaying a personalised selection of segments from TV programmes
    • Live Segment Notifications – proof-of-concept for notifying users of relevant upcoming stories within TV and radio programmes in real-time, generated from running order data
    • Wiley Heatman – a hack project allowing users to add reactions and comments to specific blocks within pieces of modular content
    • MODUS – a project to help journalists create article formats that appeal to different audience groups from the same block of text
  • Raspberry Pi:
    • I gave talks at many conferences and events

Twitter bots


  • set – Python implementation of the card game Set, using PyGame Zero
  • uno – Python implementation of the card game Uno, using PyGame Zero

Mini projects: