Projects

Selected professional and personal projects.

2025

ruby-on-rails, privacy, civic-tech

Privacy-centric Rails API and backend for Third - a private documentation app for women experiencing abuse - from conception to production with Lumi.

Third

2025

ruby-on-rails, privacy, civic-tech

With product studio Lumi, I designed and built the privacy-centric Rails API/backend for Third - a private app that helps women record experiences safely, recognise patterns, and access support without pressure to report before they’re ready.

My work covered the backend from conception through production: REST API for authentication and sync, encrypted note-taking, recovery flows, admin tooling, and Kamal-based staging/production deployment (credentials, workers, ops). The client is React Native.

Stack highlights: Ruby on Rails 8, Devise, Solid Queue, ActiveAdmin, Postmark, Docker/Kamal.

Visit project

ruby-on-rails, science

Full-stack build of a platform where researchers anonymously rate papers on methodological quality, not prestige or citation counts.

Paperstars

ruby-on-rails, science

Led full-stack development of Paperstars with product studio Lumi. Paperstars is a platform where researchers find, rate, and review published papers on scientific merit: methods, statistics, data presentation, limitations, and transparency, rather than journal prestige or citations.

Reviews are anonymous by default so people can give honest, critical feedback without career risk. Academics can verify with an institutional email (badge on profile) while remaining unnamed on reviews; when you engage with a paper you get a one-off pseudonym (e.g. “PurpleMicroscope”) for that paper only. Authors can claim papers and respond; moderation keeps discourse professional.

The goal is a lasting quality signal alongside traditional citations so good science is easier to find and weak work is visible to the community building on it.

Visit project

2025–2026

civic-tech, ruby-on-rails

Integrating Jigsaw’s Sensemaking AI with CONSUL DEMOCRACY for richer analysis of public participation input.

Consul Sensemaker Integration

2025–2026

civic-tech, ruby-on-rails

Ongoing work integrating CONSUL DEMOCRACY with Jigsaw’s Sensemaking tools.

Consul is open-source software used by cities and organisations worldwide for citizen participation - debates, proposals, voting, participatory budgeting, and collaborative drafting. Sensemaking AI helps turn large volumes of public input into themes, summaries, and actionable insight.

The focus of this integration is connecting Consul participation data to AI-assisted analysis so civic processes can move from collecting contributions to understanding them at scale (themes, reporting). Built in the Ruby on Rails / API integration space around the Consul platform.

Visit project

ruby-on-rails, svelte-js, browser-extension

Boolerize is a browser extension that helps recruiters find candidates.

Boolerize

ruby-on-rails, svelte-js, browser-extension

Boolerize helps recruiters find candidates faster with a library of Boolean searches, save/reuse workflows, and (upcoming) AI refinement. I built and operate the full product: a Rails 8 API/backend and a cross-browser extension.

Backend - Rails API with Postgres, Redis, Meilisearch, JWT auth, Stripe/AppSumo licensing, and Kamal/Docker deployment (including accessories such as Meilisearch).

Extension - WXT + TypeScript + Svelte. It talks to the backend API and, on LinkedIn and recruiter surfaces, uses content scripts and background workers to parse SSR/DOM state (profile URLs, filters, pagination) and to read/parse search payloads that power the Boolean search workflows.

Visit project

personal, hotwire, ruby-on-rails, d3-js

A personal side project - thousands of free and premium map graphics and tools built with Rails and D3.js.

Super Map World

personal, hotwire, ruby-on-rails, d3-js

Super Map World is a personal project I built after experimenting with generative map styling in D3.js. The site offers thousands of free (and premium) map graphics for 200+ countries and regions-colourful, browsable by location and projection, and editable in the browser, with animation tools for export.

Under the hood it is a Ruby on Rails app (Stimulus, D3, Tailwind) that generates map styles programmatically-randomising projections, palettes, boundaries, and graticules, with contrast correction so land and sea stay legible. What began as a single-page demo on Creating with Data grew into a full product launch.

Visit project

ruby-on-rails, stimulus-js

A needs-led platform for R&D teams to capture, validate, and prioritise innovation challenges before ideation.

EBNLab

ruby-on-rails, stimulus-js

Managed and led full-stack development of EBNLab for InsightInnovate Ltd. - software that helps innovation and R&D teams surface and rank real needs (from stakeholders and customers) before generating ideas, in line with the ISO 56002 Innovation Management System.

The workflow covers structured capture, validation, and prioritisation, then clearer, evidence-backed ideation.

Technologies: Ruby on Rails, Stimulus, Tailwind CSS, Azure Container Apps, Azure Pipelines.

Visit project

RASA, chatbot

Dionysus was a chatbot designed to help artists better describe and market their performances.

Dionysus

RASA, chatbot

Dionysus was a chatbot designed to help artists better describe and market their performances.

2019-2025

open-data, civic-tech, training

Open data training for Irish public sector bodies with UrbanTide, commissioned by the Department of Public Expenditure and Reform.

Open Data Training (Ireland)

2019-2025

open-data, civic-tech, training

Delivered and supported open data training for Irish public bodies with UrbanTide, under the DPER training framework for Ireland’s Open Data Initiative-from classroom sessions through to online delivery after 2020, with courses continuing into 2025.

Courses delivered individually or as part of the trainer team:

  • General Introduction to Open Data
  • Training on the Open Data Directive
  • Training on Data Audits and Data Publication
  • Training on Data Analytics and Visualisations
  • Training on Data Anonymisation Techniques

The programme helps public sector staff meet open-data obligations under the Open Data and reuse of PSI Directive. See UrbanTide’s case study and four-year retrospective.

Visit project

django, data-visualisation, civic-tech

A crowd-sourced directory of data visualisation tools-filter by platform, skills, data type, and chart style.

VisBrowser

django, data-visualisation, civic-tech

Django app built for VisBrowser (VisTools): anyone can add and discover visualization software, from D3 and Vega-Lite to Flourish and QGIS, with filters for availability, features, platform, programming skills, data types, and visualization styles.

Visit project

civic-tech, open-data

Technical consultancy on community-services data standards for the Local Digital discovery that led to Open Referral UK.

Open Community Data Standard

civic-tech, open-data

Consulted with Snook and council partners on the Open Community discovery-reviewing existing standards (OpenReferral, Locally Delivered Services, Open Eligibility) and drafting a framework to evaluate them on technical and governance grounds, as week notes #1 describes. Findings and recommendations are in the discovery report on data standards (PDF). That work informed the Open Referral UK standard and the later Local Digital beta.

Visit project

design-research, arduino, physical-computing

Speculative hairdryers that trade energy on Ethereum - design research for the EU Blockchain4EU programme.

GigBliss

design-research, arduino, physical-computing

Technical implementation for GigBliss-a series of connected hairdryer prototypes (Plus, Balance, Auto) that explore how smart contracts on Ethereum could mediate distributed energy trading and different levels of user control. Led by Larissa Pschetz with Chris Speed; commissioned for #Blockchain4EU at the EU Policy Lab. See the project video and the broader Design Informatics portfolio in Blockchain and Beyond (ACM TOCHI).

Visit project

design-research, chatbot, ethnography

A chatbot for gathering ethnographic field data in situ-studied at the Royal Highland Show for CHI 2018.

The Ethnobot

design-research, chatbot, ethnography

CHI 2018 paper on using a conversational agent to collect ethnographic accounts without a human ethnographer on site. Thirteen participants shared their experiences at the Royal Highland Show; we reported on what worked, what did not, and how to design chatbots for field research in an IoT-heavy world.

Visit project

personal, open-data, civic-tech

A checklist of best practices for engagement and impact in open data initiatives.

Open Engagement Checklist

personal, open-data, civic-tech

I created the Open Engagement Checklist after delivering a workshop on “Achieving Engagement & Impact with Open Data”. This is an attempt to distill lessons learned from working in and around open data initiatives. You can read the checklist here where you’ll find a list of practical steps to make your open data initiative more engaging and impactful.

Topics include making data findable, clear licensing, access and usability, demand-driven publishing, quality metadata, context for datasets, supporting conversation around data, building capacity, and collaborating on data as a common resource. The document adapts earlier work by Opquast, Tim Davies, and others.

Visit project

2018-2020

civic-tech, django, open-data

Stewarded Scotland’s national health and wellbeing service directory - production ops, UI improvements, and an OpenReferral-based API.

ALISS

2018-2020

civic-tech, django, open-data

ALISS (A Local Information System for Scotland) helps people find and share information on health and wellbeing resources, services, and support in their local community and online. It is a national digital programme from the Health and Social Care Alliance Scotland (the ALLIANCE), co-designed so communities can contribute information themselves.

I did not build ALISS from scratch. I took over and stewarded the existing platform for about two years: kept it running in production, supported the internal ALLIANCE team, and made sure the system worked for external organisations contributing and maintaining crowdsourced local service data.

During that time I also introduced a number of UI improvements and led delivery of a new API version based on the OpenReferral data standard.

Technologies: Python, Django, Heroku, Elasticsearch, jQuery, OpenReferral.

Visit project

open-data, APIs, ruby

Supported the ODI’s OpenActive API dashboard - Ruby tooling for datasets and APIs published under the open opportunity data standard.

OpenActive API Dashboard

open-data, APIs, ruby

Supported the Open Data Institute (ODI) development team building an API dashboard for the OpenActive data standard - open opportunity data for physical activity.

Work included Ruby tooling and support for a dashboard listing datasets and APIs published as part of the OpenActive initiative.

Technologies: Ruby, Sinatra, Docker.

Visit project

cryptocurrency, design-research, physical-computing

Cryptocurrency, design research, and physical computing through Design Informatics.

BitBarista

cryptocurrency, design-research, physical-computing

Exploring decentralised incentive and vending-style interactions with connected hardware.

Visit project

open-data, civic-tech, ruby-on-rails

Interactive assessments against the Open Data Institute’s maturity models, including the Open Data Maturity Model.

ODI Maturity Assessment Tool

open-data, civic-tech, ruby-on-rails

Worked on the ODI Maturity Assessment Tool for the Open Data Institute-a structured way for organisations to benchmark open data, data ethics, and broader data practices and receive tailored reports from their responses.

Visit project

2014-2015

civic-tech, open-data

Partook in a collection of projects to support the development of civic tech in Scotland, learning from leading partners across Europe.

Code 4 Europe

2014-2015

civic-tech, open-data

Scottish strand of civic tech and open-data work alongside European partners, building capability and exchanging practice.

Visit project

civic-tech, open-data, data-visualisation

Front-end for OPEN Glasgow’s city dashboard-live data from the Future Cities demonstrator.

Glasgow Future Cities Dashboard

civic-tech, open-data, data-visualisation

Developed the front-end for the Future Cities Dashboard as part of Glasgow’s £24m Future Cities Demonstrator - turning a graphic design and back-end APIs into a working interface that consumed live city data and presented it in novel, explorable views.

The dashboard sat within the wider OPEN Glasgow programme (data, innovation, and engagement workstreams), which helped open up council and city systems and was later cited as a flagship of the city’s smart-city investment.

Visit project

2013-2017

personal, environment, events, community

Meetups for developers and entrepreneurs using the web to tackle sustainability and climate challenges.

Cleanweb Scotland

2013-2017

personal, environment, events, community

Founded and ran Cleanweb Scotland meetups from 2013 to 2017. It brought together technologists, entrepreneurs, and sustainability advocates to explore how digital tools can support climate and environmental goals.

For an overview, this article by Grist looks at the cleanweb movement, and how it was a forum for discussing the internet and connected systems as infrastructure for sustainability, alongside the hardware of cleantech, through apps, open data, sensor networks, and new web-based business models.

Visit project

2012-2014

personal, ruby-on-rails, events, training

A series of in-person evening courses on Ruby on Rails for newcomers building their first web application.

Build Great Things

2012-2014

personal, ruby-on-rails, events, training

Developed and delivered an evening class on Ruby on Rails between 2012 and 2014 - a starting point for people who wanted to grow their coding skills and ship a first web app. Over a few weeks, attendees covered:

  • The basics of Ruby
  • Building databases using migrations
  • The architecture of Rails apps
  • Logins and authentication

You can find the slides for the first session here.

Visit project