Projects

  • Robotics
  • Machine learning
  • Theory
The Blaze2D flame as a glowing glass sculpture, orange above a blue wave, on black
A photonic band diagram computed with Blaze2D for a hexagonal lattice of air holes in a dielectric, TE in orange and TM in blue, drawn band by band, with the complete band gap shaded
2025 – present

Strongest Research Artifact

Blaze2D

Software that computes how light travels through photonic crystals.

Photonic crystals are materials with a repeating structure that can guide or block light. Blaze2D computes which light can travel through a two-dimensional crystal, and it is built for studies that repeat this calculation across many designs. Its results are checked against MPB, the established reference solver by MIT.

Read the case study

Two dotted lattices turning against each other, their overlap forming a shifting moiré pattern
2025 – present

Master Thesis

Envelope Approximation for Photonic Moiré Crystals

A theory for light in twisted photonic crystals.

Twisting two photonic crystals against each other creates a moiré pattern far larger than either crystal, too large for direct solvers at small angles. My master’s thesis replaces that calculation with a two-scale theory that treats the fine crystal and the large pattern separately.

Read the case study

The Essen-Ruhr terrain in 3D, heights stretched five times, turning slowly while the map changes from height to streams to geology
2026 – present

GeoNeural

Compressing landscapes with neural terrain coders, and using geophysics to help reduce their errors.

Elevation models from airborne laser scanning and satellites are huge: the 1 m model of one German state holds about 34 billion heights. A neural terrain coder, a small network inside an error-bounded compressor, stored them in 17 to 26% fewer bytes than the best standard codecs at errors of 5 to 50 cm, on seven regions it had never seen. Its errors still reroute some streams. A second part brings in geophysics, from geological maps to learned landscape evolution, to help reduce those errors.

Read the case study

The assembled follower arm, a printed six-joint arm with a two-finger gripper
2026 – present

Recover in Real Time

Two robot arms I assembled for a study on recovering from mistakes and delays; so far only human-controlled.

The plan: a learned controller pushes a puck through a gate while a deliberate push and a delay cause mistakes. The study asks whether demonstrations of recovering from mistakes are worth more than extra normal runs, and whether the arm still moves smoothly when its controller answers late.

Read the case study

A simulated two-link arm (solid) and the physics model’s prediction from 0.3 s earlier (faded); the gap between the two hands is the residual
2026 – present

Residual Worlds

A neural network learns to fix a physics model’s errors, tested by steering a simulated robot arm.

The plan: fix an imperfect physics model of a simulated two-link arm in three ways (re-fit its parameters, replace it with a neural network, or let a network learn only its errors) and see which one lets a planner steer the arm best from little data. No results yet.

Read the case study

A grayscale test face above a bar chart of DenseNet’s probability for each of seven emotions; the face changes between happy, surprise and neutral, the bars move with it, and a color map fades in over each face, brightest where graying out the face lowers DenseNet’s confidence the most
2024 and 2026

Facial Emotion Recognition

Computer vision: seven network types learn to read emotions from faces, then get tuned, trained longer and compressed.

Can a network tell from a photo whether someone is happy, sad or surprised? It began as a 2024 course project with serious flaws in training and validation; I rebuilt it from scratch. I cleaned two public face datasets into one and trained seven common network types on it, each with the same tuning budget. Classic convolutional networks came out on top and hardly needed tuning. The best ones then went further: longer training, and compression that makes ResNet-18 sixteen times smaller without losing accuracy.

Read the case study

Two AI agents in the same maze, told to go to the grey box, after the same forced action change: the one trained with extra demonstrations runs out of steps, the one trained with corrections reaches the box

Same maze, same forced mistake: extra demonstrations run out of steps (left); corrections reach the goal (right).

The idea

Animated sketch: a grey band runs from start to goal along the expert’s route. Blue dots place extra demonstrations inside the band. An orange step leaves the band, and green dots place corrections along the learner’s path outside it.

Two ways to spend the same labels

  1. Expert demonstrations cover a narrow band of states. A learner trained on them knows what to do inside it.
  2. Extra demonstrations spend a label budget inside that band, on the kind of states the learner has already seen.
  3. Deployment: one wrong action can take the learner off the band, into states no demonstration covers. There, small errors compound.
  4. Corrections spend the same budget on the states the learner reaches after such a mistake, each labelled with the expert’s way back.

Which of the two helps more is what the study measures.

Results

Dot plot of the gain in success from corrections over extra demonstrations: one dot per training run, their average with its interval, and dashed lines for the smallest useful gain or loss.Bar chart of success rates for the original agent, extra demonstrations, and recovery labels in three conditions: no action change, a familiar change, and a new change, with one dot per training run.
Top: the gain from corrections, per run and on average, against thresholds fixed before testing. Bottom: success in each test condition; “recovery labels” are the corrections.
A man winds up a small robot and says: there, now let’s see how it does. A woman says: great, I have one spare label left.
The man holds up his own label and says: good, I got a spare one too.
The robot picks up a lighter. The woman asks: wait, is that a lighter? That was not in the training set.
The man holds the woman back: let it do its thing. We only have a few labels left. Let it discover what we didn’t train it for. She answers: are you sure?
The man explains: think about it, its own actions can push it into states the expert demonstrations never covered.
He continues: that’s life, that’s the real world. You can’t account for every disturbance, and you can’t perfectly predict how its own actions will change what happens next.
He concludes: let it make mistakes, and we use our spare labels on correcting those mistakes rather than preventing them. Behind him the robot has set itself alight.
The robot stands in a column of flame. The woman shouts: oh my god!
The robot has burned down to a smouldering heap while the two watch.
Nothing is left of the robot but a smoking pile of ash.
The man looks at the ash and says: I’ll build a new one.
2026

Grounded Recovery

Imitation learning: are a limited number of expert labels better spent on more examples, or on corrections after mistakes?

A hobby project outside university, on a question that comes up whenever a machine learns by copying an expert: expert time is scarce, so where should a few extra labels go? Into more demonstrations, or into corrections after the learner’s own mistakes? In a small, controlled maze study with matched budgets, corrections came out ahead in all six independent runs when the agent was pushed off course in a new way.

Visit the website (opens in a new tab)

A box of hard spheres settling under gravity: a regular lattice at first, then layers of green and red crystal growing at the bottom under a gray fluid
2024

Team Project

Hard Sphere Simulations

A team study of hard spheres: a faster collision search and sedimentation under gravity.

A team project of three students on hard spheres: particles that only collide, but still form crystals when packed densely. We simulated them with event-chain Monte Carlo. My parts were a collision search that only checks the cells along a sphere's path, and sedimentation under gravity, where 91,125 spheres formed crystal layers at the bottom of the box.

Read the case study

Particles aligning into flocks under the sampled neighbor rule
2023

Bachelor Thesis

Neural Swarm Dynamics

An attempt to form swarms with multi-agent reinforcement learning, and a neural-network-friendly Monte Carlo rule.

My bachelor thesis tried to let a swarm form through multi-agent reinforcement learning, where every particle learns how to steer. To give each agent a fixed-size input, a Monte Carlo neighbor rule lets it read only a few randomly drawn neighbors, and that rule on its own closely matched the classic Vicsek model. The learning ran end to end but never learned to swarm.

Read the case study