↓Skip to main content

Projects

A selection of the projects I’ve enjoyed working on most, from university coursework and research to things built for their own sake. Filter by the tags below.

Dynamatic + XLS: integrating dynamic and static HLS

C++ · Compilers · Hardware
My master’s thesis: integrating Google’s XLS into the Dynamatic high-level synthesis compiler, so a dynamically scheduled circuit can contain statically scheduled islands.

Memory partitioning for Dynamatic

C++ · Compilers · Hardware
Implementing and evaluating memory partitioning schemes in the LLVM-based Dynamatic high-level synthesis compiler.

Social Force Modelling

C · HPC
In a group of 4 we wrote and progressively optimised a social force crowd simulation in C, tuning it for vectorisation, cache locality and raw throughput.

Barrelquiche

C · Systems · Hardware
In a group of 5 we designed and implemented a capability-based microkernel operating system from (more or less) scratch for a multi-core microcontroller.

GPU Revised Simplex Solver

C++ · HPC
In a group of 5 we implemented and analysed multiple variants of the revised simplex algorithm on an NVIDIA GPU in C++.

Truffuzz / Disqillery

Rust · Security
A fuzzer for SQLite built in a team of two in Rust, paired with a query minimiser that reduces every crashing input to a readable test case.

Mining asset detection (MAD)

Python · Machine Learning
Using the YOLO object-detection model to locate global mining activity from Sentinel-2 satellite imagery.

RAG system over Swiss law

Python · Machine Learning · Teaching
A retrieval-augmented generation system over publicly available Swiss legislation and case law, built as the capstone project for an applied ML course.

Automated Moodle exercise generation

Python · Teaching
A pipeline that generates and auto-grades randomised exercises for an ETH continuing-education course, delivered straight into Moodle.

Implementing the Oxocard for WebTigerPython

Python · TypeScript · Hardware
My bachelor thesis: integrating a microcontroller with a browser-based Python learning platform, so students can program real hardware from a browser tab.

Parallel particle swarm optimizer

Rust · HPC
In a team of two we implemented and analysed a parallel particle swarm optimizer for finding minima of continuous functions in Rust.

Flatmate Management App

Dart · UI/UX
A cross-platform flat-management app designed, built and user-tested by a team of five for the Human Computer Interaction course.

Reliable transport protocol on top of UDP

C · Networking · Systems
A QUIC/TCP-style reliable transport protocol implemented from scratch over UDP in C, with its own connection handling and congestion control.