
A sharded, multipurpose Discord bot and everything around it (dashboard, website, status page, CDN), serving 200,000+ users from hardware I run myself.
- 208,429users
- 290servers
- 162public commands
- ~250klines of code
Levels I've built
Bots, libraries, desktop tools and systems experiments. Each one solves a real problem for someone, often me first. Spin the moon and pick a level, or scroll on for the full list.
The most impressive projects.

A sharded, multipurpose Discord bot and everything around it (dashboard, website, status page, CDN), serving 200,000+ users from hardware I run myself.

Node library that turns two emojis into a Google Emoji Kitchen image URL. Downloaded over 120,000 times and depended on by 1,200+ repositories.


System-wide pop-up dictionary for Linux (X11) and Windows. Hold a key, point at a word in any application, even in a game or a video, and see its definitions.
$ t ls TID | ID | NAME | STATUS | LAST TOUCHED | NOTE --- | -- | ----------------------------- | ------ | ------------ | --------------------- 1 | 8 | tracker | dev | 1m ago | release 1.0.0 today 2 | 3 | von-neumann-machine-simulator | dev | 23m ago | review saturday 3 | 26 | discord-profile-studio | stable | 1h ago $ t 12 es blocked
CLI project tracker with Git repository discovery, search and filtering, bulk edits, undo, and a background update daemon.
Smaller utilities, libraries and experiments that solve one problem well.



A teaching simulator for a simple Von Neumann machine, with a native GUI showing the CPU, registers, memory and console while programs step through.

Scripts and X11/XFCE configuration that make Japanese input with IBus and Mozc work reliably on a keyboard with no Japanese keys.

Quadrant, half and directional window tiling for XFCE / xfwm4, across multiple monitors, driven by keyboard chords.

Windows GUI for editing User and System PATH entries that keeps working past the 2047-character limit that breaks the built-in editor.

Downloads every GIF in a Discord favourites export in parallel, converts video sources to proper GIFs, and names files after what they contain.


A fork of milaq's libstrangle frame limiter with the __libc_dlsym lookup corrected, so OpenGL frame limiting works again on current glibc.
root = x11.XDefaultRootWindow(dpy) bits = (ctypes.c_ubyte * 3)() for evtype in (XI_RAW_BUTTON_PRESS, XI_RAW_BUTTON_RELEASE): bits[evtype >> 3] |= 1 << (evtype & 7) mask = XIEventMask(XI_ALL_MASTER_DEVICES, len(bits), bits) xi.XISelectEvents(dpy, root, ctypes.byref(mask), 1) any_modifier = XIGrabModifiers(XI_ANY_MODIFIER, 0)
A small python program for X11, which plays back a recording of the current microphone input with a bit of delay. Used for testing how my voice sounds before I say something.
Things I build and run for the communities I help manage.

The tooling I build and run for the Escape the Backrooms community as a community manager for Fancy Games: a speedrun verification bot, a LiveSplit autosplitter, a UE4SS fork and the community wiki.
Coursework I went further with than the brief asked.

A multithreaded feed-forward neural network in C++26 with no ML libraries, trained on UCI Car Evaluation and MNIST. Submitted as my algorithms and data structures final project.

Twelve sorting algorithms drawn one comparison at a time with OpenGL and ImGui, with audio, a benchmarking mode and plotted results.

A hospital emergency department where every role is a separate process, coordinating purely through POSIX message queues, shared memory, semaphores and signals.

Twelve lab programs for my numerical methods course, from nonlinear systems and linear solvers to finite-difference methods for partial differential equations.

Everything from my computer science degree, organised by semester, plus every exercise from the .NET course.
Miscellaneous configs and themes I use.

My long-running modification of a 16-year-old TF2 HUD, tuned for playing Spy, with a speedometer moved out of the way of the cloak meter and a rebuilt scoreboard.



A mirror of the XFCE notes plugin with the .git folder detection and the folder name in the title removed.
The Grand Archives.

The first stripped-down public showcase of the Relaxy! bot, from 2023. Superseded by relaxy-public-v2.

A bot for an old roleplay server called The Grand Archives. Fun fact: emoji-mixer happened because I wanted the alchemy command to combine emojis!

A Win32 app that builds teams for Escape the Backrooms, used by nightmare-difficulty runners early in the game's life.

The scripts and notes I used as study material for the Polish Matura computer science exam.

An Asteroids clone in SFML, a C sorting visualiser built in Code::Blocks and a first backpropagation network in Python, from when I was first learning.
Nothing matches that combination.