$ ls -l ~/software

Open code
for open questions

I try to put everything I build out in the open, so others can use it — and, with a bit of luck, help me make it better. Grab the code on GitHub, open an issue, send a pull request.

$ ls -l ~/software/web-apps

Web apps

CONCEPT CARTOGRAPHY.GIF
Screen recording of Concept Cartography: switching example maps, browsing the maps list, then searching and zooming the Research Data Management Principles map. 01 / 05
Web app

Concept Cartography

Collaborative concept maps for classrooms and research groups.

A free and open source tool for defining ideas precisely, naming how they relate and arguing about the connections together. Concepts carry shared definitions, links between them are typed (such as “part of” or “depends on”), and every link has its own discussion thread.

  • Web
  • Education
  • Collaboration
STORIE DI INSETTI.GIF
Screen recording of Storie di Insetti: switching the site to English, choosing a cicada or firefly and a story format, then continuing to the recording step. 02 / 05
Participatory archive

Storie di Insetti

Stories, sounds and images about cicadas and fireflies, contributed by the public.

A participatory storytelling platform made with PianetaLab. Contributors pick a cicada or a firefly, choose to share an audio recording, a written story or an image, and review their submission before it joins the archive: cicadas for exoskeletons and emergence, fireflies for signals, sparkles and summer nights.

  • Web
  • Citizen science
  • Storytelling
RMU₂.GIF
Screen recording of the RMU₂ workshop site: the home page, the programme, the shared models space and the light theme. 03 / 05
Workshop website

RMU₂

Responsible Modelling Under Uncertainty: a two-day workshop in Exeter and online.

The site for Responsible Modelling Under Uncertainty (23–24 September 2026, Exeter and online), a workshop on how to build and communicate models responsibly when uncertainty cannot be eliminated, only framed and interpreted — and how to make it visible, usable and open to challenge. Talks, panels and hands-on exercises with speakers including Erica Thompson, Andy Stirling, Andrea Saltelli and David Spiegelhalter.

  • Web
  • Modelling
  • Events
GIGWORK.CITY.AVI
04 / 05
Interactive platform

GIGWORK.city

Courier stories from three European cities, behind the moving dot on the map.

The work in the gig economy is characterised by opacity and alienation, digital platforms effectively hiding from view the intensive human labour that enables our daily instant gratifications. For platform food couriers, this hidden work is concealed behind a dot moving on and across a map, deprived of identity or history. Using graphic illustrations, GIS data and audio diaries, this interactive multimedia platform gathers courier stories from Manchester, Cluj and Lyon to problematise the discourses of flexibility, independence and entrepreneurship surrounding gig work. Part of the research project Doing Gig Work.

  • Web
  • GIS
  • Audio
  • Storytelling
RIVER SENTIMENT DASHBOARD.GIF
Screen recording of the River Sentiment Dashboard: searching for a river, its sentiment chart over time, and the river on the map. 05 / 05
Dashboard

River Sentiment Dashboard

Social-media sentiment alongside the ecological status of 450+ rivers in the Thames basin.

People talk about rivers online: from complaints about pollution to celebrations of wildlife, rivers provoke passionate social media comments. When people express their feelings about rivers on Twitter, we get a glimpse of how nature affects human wellbeing. The dashboard displays social media sentiment alongside data about the ecological status of more than 450 rivers in the Thames basin in England. A prototype developed by the University of Oxford and Thames21.

  • Web
  • Sentiment analysis
  • Environment
$ ls -l ~/software/r-packages

R packages

ABSTR.GIF
Simulated trips generated with abstr in A/B Street 01 / 03
R package

abstr

An R interface to the A/B Street transport simulation and network editing software.

abstr converts origin–destination data, combined with data on buildings representing origin and destination locations, into .json files that can be imported directly into the A/B Street city simulation. See the formats page in the A/B Street documentation for details of the schema the package outputs.

  • R
  • Transport
  • Simulation
EACATCHER.BMP
02 / 03
R package

eaCatcheR

Programmatic access to the Environment Agency catchment planner.

eaCatcheR provides an interface to data from the environment.data.gov.uk catchment planner, a resource for spatial and ecological datasets on waterbodies in England. Three main functions — get_wb_rnag(), get_wb_classification() and get_wb_sf() — retrieve data by geography type (e.g. RBD, MC, OC) and name.

  • R
  • Open government data
  • Hydrology
DIMAQDATA.BMP
03 / 03
R data package

dimaqdata

Ten global air-quality datasets from the WHO Data Integration Task Force.

Datasets provided by members of the Data Integration Task Force, a multi-disciplinary group established following the first meeting of the WHO Global Platform for Air Quality (Geneva, 2014): a WHO world map, yearly global ground-monitor stations, population-weighted PM2.5 concentrations, yearly exceedances by country, and global predictions for 2011–2016 at 0.1° × 0.1° resolution.

  • R
  • Open data
  • Air quality