
Gradium landing page
I created an animation that responds to speech in an AI voice chat for Gradium, a Kyutai spinoff.

I created an animation that responds to speech in an AI voice chat for Gradium, a Kyutai spinoff.

We were invited to give a talk at AvailabilIT, a conference organized by the Dutch student organization SNiC.
I ran a week-long seminar on creative coding at a retreat organized by the European Academic Foundation. The seminar ran for five days (8–12 September...
Radix sort is older than the computer yet quicker than quick sort. Why aren’t we all using it?
Speak to an AI using Kyutai's real-time speech-to-text and text-to-speech.
A story of how I decided to build a robot guitar without knowing anything about hardware.
A Polylog video about zero-knowledge proofs, a mathematical magic trick.
Turn any sound into music, in real time, in your browser.

Control an ant colony by placing pheromone trails on the ground that ants follow. Made for Ludum Dare 56.
What if we could run algorithms backwards? We discuss how we could do this by turning algorithms into circuits, and how it all connects to P vs NP.
A robotic stringed instrument: one motor tunes the string, and another one plucks it. Fretless, since the pitch is controlled by tuning. Controllable ...
We explain why Avi Wigderson got this year’s Turing award: We show how you can make any randomized algorithm deterministic.
A game about drawing the weirdest thing that an AI (CLIP) still thinks is a dog.

The first video on my new personal YouTube channel, explaining how spacetime maps work.
A Polylog video about the Byzantine Generals Problem, a solution, and how it relates to distributed databases and blockchains.
A map where distances mean _time_ and not _space_. Points that are close but take a long time to travel between get pushed away from each other, and v...
An interactive website for exploring how human speech can be reduced *extremely* and still be intelligible.
Our entry to the Summer of Math Exposition 3 video contest. And this time, it's _actual_ math, none of that computer science mumbo jumbo.
Get a ChatGPT-powered Gandalf to reveal the secret password for each level. Every time you guess the password, he levels up and tries harder not to gi...

A Python package for sine wave speech. What's that? Let's listen to an example. Can you tell what the voice is saying? I bet not:
Another Polylog video! We teased this one on April Fools' Day with a video claiming that we had found the optimal algorithm for factoring numbers. Thi...
An algorithm explainer video from our Polylog channel, this time on how A\* is basically Dijkstra with some adjustments to the edge lengths.
Impromptu is a game I've been working on with a few friends since September 2022, shortly after Stable Diffusion was released.
My ETH Zürich Master Thesis. Making AI-generated instrument sounds fast enough to comfortably run in real-time.
A video we made with Vašek (Václav) Rozhoň on making dice that can select random permutations. This one was for Summer of Math Exposition 2 so we trie...
A video we made with Václav Rozhoň on the simplest sorting algorithm. Turns out the algorithm's weirder than you'd expect. We tried to keep it short a...
Living a double life must be hard. How about a quadruple life? Quintuple? Find out! Navigate all your partners through the city using crossroad direct...
A video we made with Václav Rozhoň on an algorithm to solve the Rubik's cube, with several digressions on more general topics.
Oh no! There's a fire in the city and José and Grant have to save the day. A cooperative platformer we made in three days for Mini Jam 98.
A video showcasing a surprising way to view a certain graph algorithm. Made together with Václav Rozhoň for 3blue1brown's Summer of Math Exposition c...
Towers do all the work in TD games. But who will defend the defenders themselves? A recursive tower defence game we made for Ludum Dare 48, whose th...
A game about the transience of human relationships. We made it for Ludum Dare 46, whose theme was "Keep it alive".
Begin your skewer journey and satisfy every customer’s specific request. A puzzle game about learning to create the best skewers. We made it for L...
You don’t like bugs. Get rid of the bugs to move on to the next level. We made it for Ludum Dare 44, whose theme was "Your life is currency".
I got really into esoteric languages at some point, which culminated in me writing the Sieve of Erathostenes in Brainf*ck, a programming language with...
I re-implemented the classic game Tron to support 4 players. We used to play a Flash version of the game at school but it was only for two players, s...