Projects

GPU Particle Simulation

GPU
Compute-Shaders
Kotlin

A molecular dynamics simulation written using GPU compute shaders. These can run efficiently on most consumer hardware, including in browser using WebGPU. Users can interact with particles live, changing parameters like time step, heat, or even the forces between particles. Some pairwise atomic potentials are provided by default, with an API for users to add more (read the docs.)

A 3D scene with two particle types, plotting the size distribution of clusters in the sidebar.
A 3D scene with two particle types, plotting the size distribution of clusters in the sidebar.

Geary

ECS
GameDev
Kotlin

An entity component system I wrote from the ground up in Kotlin. It lets users write fast code in a modular way by making systems that quickly iterate over entities with desired data. It uses archetypes for its architecture, and the design would allow for data to be packed tightly in memory once value objects are added to Java. It also has entity relations built into the engine, inspired by flecs.

You can see a demo in my blog post Making an efficient Minecraft particle system using ECS

Sysadmin work at Mine in Abyss

Docker
Ansible
Grafana
Linux

A community-driven recreation of Made in Abyss in Minecraft. I did game development and server infrastructure work across several projects that help us deploy and maintain servers as a small team, here's a quick summary of my work there:

The golden bridge in Orth overlooks the Abyss.
The golden bridge in Orth overlooks the Abyss.

Weekly task planner

Android
Compose
Sqldelight
Kotlin

A cross-platform task and week planning app written on Jetpack Compose, with a sync server. It uses sqlite for storage, with near-instant startup times on Android, alongside a quick-add feature.

The application home screen on Desktop
The application home screen on Desktop

Game jams

Unity
C#

I've worked in Unity and Godot with C# to create games for game jams. My latest entry was Rock Bottom in Ludum Dare 46. I worked in a team of three to create a physics puzzle game using an event driven architecture.

Pet rocks in the pet rock shop return home
Pet rocks in the pet rock shop return home

Frontend roundup

TailwindCSS
Django

Here are a few of my projects involving frontend work: