Research Ideas

These are research ideas that include new, ongoing and completed projects. They are only open to Cambridge students for now, with the occasional exception for summer interns.

I get a vast number of LLM-driven applications and cannot reply to every one. Your chances are much higher if you read some of the ideas here and send a short, specific enquiry about something concrete you would like to do. Original ideas are welcome too, but try to relate them to one of the projects here if you can.

>_TESSERA, a pixelwise geospatial foundation model3 open2 under way

Machine learning the world 10m at a time

Interpretable downscaling of local weather predictions

An MPhil or Part III project, proposed in 2026, co-supervised with Pedro Sousa and Sadiq Jaffer.

Weather reanalyses and forecasts are usually plotted on grids of ~25km, but the people's decisions about weather-related actions happen much more locally! Within a single coarse grid cell the land surface isn't uniform, so the weather at a …

>_OxCaml Labs3 open1 under way6 previous

Pushing forward OxCaml as a platform for high-performance, reliable systems programming

Compiling Lean specifications into OxCaml enforcement automata

An MPhil or Part III project, proposed in 2026, co-supervised with Cyrus Omar.

Bastion is an OS architecture for safeguarded AI where what an agent may do is expressed as a "capability signature". This is an Dijkstra monad whose commands are the only effects the agent can reach, with the indexed monad providing the mo…

An io_uring IO implementation for Lean

An MPhil or Part III project, proposed in 2026, co-supervised with KC Sivaramakrishnan.

Modern operating systems are increasingly moving away from the syscall-at-a-time POSIX model towards shared-memory submission/completion queues like Linux's io_uring, Windows IoRing and macOS' various async interfaces. In my VMIL 2025 keyno…

A hardware description language using OCaml effects

An MPhil or Part III project, proposed in 2025, co-supervised with KC Sivaramakrishnan and Andy Ray.

Programming FPGAs using functional programming languages is a very good fit for the problem domain. OCaml has the HardCaml ecosystem to express hardware designs in OCaml, make generic designs using the power of the language, then simulate d…

A Hybrid Graph-Vector Database in O(x)CamlA Part II project, completed by Oliver Fogelin in 2026
Effects based scheduling for the OCaml compiler pipelineAn internship project, completed by Lucas Ma in 2025
Bidirectional Hazel to OCaml programmingAn internship project, completed by Max Carroll in 2025
Runtimes à la carte: crossloading native and bytecode OCamlAn internship project, completed by Jeremy Chen in 2025
An imperative, pure and effective specification languageA Part II project, completed by Max Smith in 2024
Gradually debugging type errorsA Part II project, completed by Max Carroll in 2024
>_Planetary Computing2 open1 under way7 previous

The efforts here center around constructing system interfaces for hermetic large-scale data processing, with careful support for versioning and spotting sources of non-determinism that lead to non-reproducibility.

Autoscaling geospatial computation with Python and Yirgacheffe

An internship project, proposed in 2025, co-supervised with Michael Dales.

Python is a popular tool for geospatial data-science, but it, along with the GDAL library, handle resource management poorly. Python does not deal with parallelism well and GDAL can be a memory hog when parallelised. Geo-spatial workloads -…

Using computational SSDs for vector databases

An MPhil or Part III project, proposed in 2025, co-supervised with Sadiq Jaffer.

Large pre-trained models can be used to embed media/documents into concise vector representations with the property that vectors that are "close" to each other are semantically related. ANN (Approximate Nearest Neighbour) search on these em…

Bidirectional type slicingAn MPhil or Part III project, completed by Max Carroll in 2025
ZFS replication strategies with encryptionAn internship project, completed by Becky Terefe-Zenebe in 2025
Effective geospatial code in OCamlA Part II project, completed by George Pool in 2024
Privacy preserving emissions disclosure techniquesA PhD, completed by Jessica Man in 2024
Assessing high-performance lightweight compression formats for geospatial computationAn MPhil or Part III project, completed by Omar Tanner in 2023
Towards reproducible URLs with provenanceA Part II project, offered in 2024 and no longer open
Composable diffing for heterogenous file formatsAn MPhil or Part III project, offered in 2024 and no longer open
>_Enki, a Dashboard of Life on Earth2 open1 under way

A willingness to work with large datasets

A Living IUCN Red List of the World's Species

A PhD, under way with Shane Weisz since 2025.

The IUCN Red List of Threatened Species is one of the world's most important conservation resources–often referred to as a Barometer of Life. It provides a standardised, evidence-based assessment framework for grouping species into extinc…

>_Mapping LIFE on Earth1 open1 under way2 previous

Identifying and creating global-scale datasets for various aspects of natural and human activity is needed here, especially if it can be baselined to prehistoric (i.e. pre-human activity) timescales.

Using wasm to locally explore geospatial layersA Part II project, completed by Sam Forbes in 2024
An access library for the world crop, food production and consumption datasetsAn internship project, offered in 2025 and no longer open
>_Conservation Evidence Copilots1 open8 previous

This will be of interest to those wanting to work on LLMs and literature scanning, as a practical and very impactful application.

Assessing Conservation Action Suitability using Multimodal RepresentationsA Part II project, completed by Radhika Iyer in 2026
Evaluating LLMs for providing evidence-based information on conservation actionsAn internship project, completed by Radhika Agrawal in 2025
Accurate summarisation of threats for conservation evidence literatureAn MPhil or Part III project, completed by Kittson Hamill in 2024
Generating chunk-free embeddings for LLMsAn MPhil or Part III project, completed by Mark Jacobsen in 2024
Crawling grey literature for conservation evidenceAn internship project, completed by Shrey Biswas and Kacper Michalik in 2024
Evaluating RAG pipelines for conservation evidenceAn internship project, completed by Radhika Iyer in 2024
Assessing mangrove literature for conservation evidenceA Part II project, offered in 2024 and no longer open
Spatial and multi-modal extraction from conservation literatureAn MPhil or Part III project, offered in 2024 and no longer open
>_Unikernels1 open6 previous

Developing unikernels means turning every part of the software stack into a library rather than a wrapper, and so an interest in software architectures and functional programming comes in useful here.

An antibotty defensive testbed to protect network services

An MPhil or Part III project, proposed in 2026.

The mean time to exploit a vulnerability is now negative, as LLM-driven exploitation precedes the publication of a fix. A coding agent needs to be given little more than the class of a bug, and -- combined with the source code -- it can wri…

Distributed Task Scheduling Framework over IrminA Part II project, completed by Mohammed Daudali in 2019
A strongly consistent index for email using git and MirageOSA Part II project, completed by Oliver Hope in 2019
CausalRPC: a traceable distributed computation frameworkA Part II project, completed by Craig Ferguson in 2018
Consolidating Trust for Client Groups that use TLS to Secure ConnectionsA Part II project, completed by Johann Beleites in 2014
Extending 64-bit MIPS support for LLVMAn internship project, completed by William Morland in 2011
Control flow analysis for privilege separationAn internship project, completed by Chris Harding and Ross McIlroy in 2011
>_Remote Sensing of Nature5 under way9 previous

Research work in remote sensing involves handling a large amount of satellite data, so these will be of interest to computer scientists wanting to explore multi-modal image analysis at scale.

Low-power sensing infrastructure for biodiversity

A PhD, under way with Josh Millar since 2024, co-supervised with Hamed Haddadi.

In-situ sensing devices need to be deployed in remote environments for long periods of time, and minimizing their power consumption is vital for maximising both their operational lifetime and coverage. We are exploring the construction of a…

Battery-free wildlife monitoring with RioteeAn internship project, completed by Dominico Parish in 2025
Habitat mapping of the Cairngorms Connect restoration areaAn internship project, completed by Isabel Mansley in 2025
Affordable digitisation of insect collections using photogrammetryAn MPhil or Part III project, completed by Beatrice Spence, Arissa-Elena Rotunjanu and Anna Yiu in 2025
Validating predictions with ranger insights to enhance anti-poaching patrol strategies in protected areasAn internship project, completed by Hannah McLoone and Smera Sachin in 2025
Reverse emulating agent-based models for policy simulationAn MPhil or Part III project, completed by Pedro Sousa in 2023
Species distribution modelling using CNNsAn MPhil or Part III project, completed by Emily Morris in 2023
Scalable agent-based models for optimized policy designAn MPhil or Part III project, completed by Sharan Agrawal in 2022
Exploring Concurrency in Agent-Based Modelling with Multicore OCamlA Part II project, completed by Martynas Sinkievič in 2021
Diffusion models for terrestrial predictions about land use changeAn MPhil or Part III project, offered in 2024 and no longer open
>_Interspatial OS1 under way9 previous

Latency rules supreme in this space, so any computer science needs to focus on rapid response, incremental models of computation that can interface with physical topologies.

Interspatial Networking with DNS

A PhD, under way with Ryan Gibb since 2023, co-supervised with Jon Crowcroft.

The existing Internet architecture lacks support for naming locations and resolving them to the myriad addressing mechanisms we use beyond IP. While there have been many advances in addressing locations via multiple routing schemes, it rema…

3D printing the planet (or bits of it)An internship project, completed by Finley Stirk in 2025
Low power audio transcription with WhisperAn internship project, completed by Dan Kvit in 2025
Building bigraphs of the real worldA Part II project, completed by Roy Ang in 2024
Enhancing Navigation Algorithms with Semantic EmbeddingsAn MPhil or Part III project, completed by Gabriel Mahler in 2024
Scheduling for Reduced Tail Latencies in Highly Utilised DatacentersA PhD, completed by Smita Vijayakumar in 2023
A DSL for decentralised identity in OCamlA Part II project, completed by Michał Mgeładze-Arciuch in 2022
Spatial Name SystemAn MPhil or Part III project, completed by Ryan Gibb in 2022
Low-latency wayland compositor in OCamlA Part II project, offered in 2024 and no longer open
Deep learning for decomposing sound into vector audioAn MPhil or Part III project, offered in 2024 and no longer open
>_OCaml Labs8 previous

If you're interested in principled approaches to programming, including everything from a mature language to package management and open source development, then OCaml is for you.

Implementing a higher-order choreographic languageA Part II project, completed by Rokas Urbonas in 2024
Parallel traversal effect handlers for OCamlA Part II project, completed by Sky Batchelor in 2024
Using effect handlers for efficient parallel schedulingAn MPhil or Part III project, completed by Bartosz Modelski in 2022
Probabilistic Programming in OCamlA Part II project, completed by Hari Chandrasekaran in 2018
Concurrent revisions for OCamlA Part II project, completed by Dimitar Popov in 2013
Macro- and Micro-benchmarking in OCamlA Part II project, completed by Sebastian Funk in 2012
Analysis of the Raft Consensus ProtocolA Part II project, completed by Heidi Howard in 2012
Functional Reactive Web ApplicationsA Part II project, completed by Henry Hughes in 2010
>_Information Flow for Trusted Execution4 previous

A combination of challenges here involving both low-level OS hacking as well as defining sensible and usable semantics for emerging techniques such as DIFC.

Secure Programming with Dispersed CompartmentsA PhD, completed by Zahra Tarkhani in 2022
Decentralised Capability-based Code Collaboration using MatrixA Part II project, completed by Samuel Wedgwood in 2022
Security analysis of brain-computing interfacesAn internship project, completed by Malachy O'Connor Brown and Oscar Hill in 2021
Void Processes: Minimising privilege by defaultAn MPhil or Part III project, completed by Jake Hillion in 2021
>_Trusted Carbon Credits3 previous

Computer science is combined with econometric and counterfactual approaches here, and the algorithms involve careful and precise specification of statistical models.

Legal perspectives on integrity issues in forest carbonA postdoctoral project, completed by Sophie Chapman in 2024
Meta Properties of Financial Smart ContractsA PhD, completed by Derek Sorensen in 2023
Making GPS accurate in dense forests using sensor fusionAn internship project, completed by Keshav Sivakumar in 2020
>_Personal Containers2 previous

An interest in self-hosting data and in developing local-first processing approaches is essential.

Improving Resilience of ActivityPub ServicesA Part II project, completed by Gediminas Lelešius in 2023
Simulating XMPP Group CommunicationA Part II project, completed by Farhān Mannān in 2011
>_Functional Internet Services2 previous

One can never get tired of rebuilding a fresh network protocol in OCaml for fun, and there is something to be learnt every time we do this!

Not-quite-so-broken TLS in OCamlAn internship project, completed by Hannes Mehnert and David Kaloper-Mersinjak in 2014
Functional ABNF parser generatorsA Part II project, completed by Nicholas Skehin in 2011
>_Ubiquitous Interaction Devices1 previous

A willingness to hack on embedded devices is needed here, and to be creative about how to squeeze unexpected functionality out of an existing device.

Audio networking using commodity hardwareA Part II project, completed by Gareth P. Williams in 2004