Selected work

A selection of projects, research and teaching that reflect how I work with AI, data and cultural collections.

Making AI tools easier to use

I build tools and workflows that help people—and AI agents—work with models, datasets and compute.

My UV scripts provide self-contained recipes for tasks such as training classifiers, evaluating models and processing data. They run locally or on Hugging Face Jobs, making it easier to move from an experiment to a repeatable workflow.

I also contribute to Hugging Face’s command-line tools and documentation, including improvements to running Jobs, inspecting logs and understanding what to do next. My DataTrove Jobs executor connects data-processing pipelines to the same infrastructure.

Opening cultural collections to new uses

I’m excited by what happens when people can build on openly shared data—often years later, in ways its publishers hadn’t anticipated.

I started BigLAM in 2022 to help make library, archive and museum collections easier to discover and use for machine learning. British Library book text I shared then later became training data for a Victorian-language chatbot.

This work goes beyond putting files online. Recent projects include making over a million British Library book images searchable and using small models to identify and extract illustrations from digitised Encyclopaedia Britannica volumes. I share the resulting datasets, models and tools so others can explore the collections and build on the work.

Through Small Models for GLAM, which I co-maintain with William Mattingly, I’m extending this approach to reusable, task-specific models for cultural collections.

Understanding what makes models and data useful

A recurring question in my work is whether a model or dataset is useful for the task someone actually needs to do.

My research on the impact of OCR quality on downstream NLP tasks examined how recognition errors affect subsequent analysis. Today, I develop OCR Bench for collection-specific comparisons using model judges and human review. Through FineBooks, I also work on the BHL OCR leaderboard, evaluating open models against expert transcriptions of historical books. Our write-up explains the methods, findings and limitations.

I also co-authored Datasheets for Digital Cultural Heritage Datasets, helping document the context and limitations that matter when reusing collections.

Beyond cultural heritage, I contributed to BigScience’s collaborative data work for ROOTS and BLOOM. My work on Data is Better Together and FineWeb-C explores community participation in annotating and improving multilingual datasets.

Sharing practical methods

I write teaching materials that help people apply machine learning to their own questions and collections.

These include the co-authored Computer Vision for the Humanities lessons for The Programming Historian and An Introduction to AI for GLAM.

The co-authored Flyswot book documents how we built a machine-learning pipeline to identify mislabelled manuscript pages as part of a library workflow.

I’m also writing AI Design Patterns for Information Professionals, a book in progress connecting practical techniques with decisions about data, evaluation and use.