Projects

A mix of things I've shipped: a writing platform, open-source tools, and games.

This Blog

nikhedonia.dev

This Blog

Over two decades of programming and consulting I've accumulated hundreds of code snippets, notes, and case-studies. This is the platform I built to stop them rotting on a hard drive — rough notes polished with help from LLMs and published with proper math rendering and interactive visualizations.

Next.jsTypeScriptMDXTailwind CSSShikiKaTeX
Loop Perfect

Loop Perfect

open source

Buckaroo

A decentralised package manager for Buck and Bazel projects, written in F# and winner of the 2019 F# open-source challenge, that resolves dependencies directly from source control using conflict-driven clause learning.

F#BuckBazelGit

Loop Perfect

BuildInfer

A dynamic build-system analyser that uses ptrace to record system calls during a build, then analyses the event log to automatically transpile build scripts from any build system to Buck or Bazel.

F#ptraceBuckBazel

Loop Perfect

minivisor

A KVM-based x86_64 userspace hypervisor that runs any Linux ELF binary — static or dynamic, including Python and Node — inside a sandboxed guest VM with configurable filesystem policy, syscall interception, and process snapshotting.

C++KVMBazelx86_64

Loop Perfect

ptracer

A ptrace-based recording tool that intercepts every syscall made by a process tree — file reads, writes, forks, execves — and stores the full trace in a DuckDB database. File writes can be redirected to a content-addressed store for reproducible builds and sandboxed execution.

C++ptraceDuckDBBazel

Loop Perfect

VibeLoop

An orchestration platform for coding agents — Kanban board, live terminals, MCP server per agent, and real-time notifications so you know the moment an agent gets stuck and can act immediately. Agents run on AWS VMs sandboxed with ptracer and minivisor for security and full observability.

Next.jsTypeScriptGraphQLxterm.js
◆ Open Source

Open Source

SmallFunction

A header-only C++ alternative to std::function that uses fixed-size capture optimization (small-buffer optimization) to avoid heap allocation — 3–5x faster in benchmarks.

C++14CMakeGoogle Benchmark

Open Source

Conduit

A header-only C++ library that leverages the Coroutine TS to bring lazy sequences to C++ — infinite sequences, sequence transformations, and zero-cost abstractions.

C++17Coroutine TSCMake

Open Source

valuable

A header-only C++ library providing value_ptr — a smart-pointer with value semantics that fills the gap left by unique_ptr, shared_ptr, and weak_ptr.

C++14CMake

Open Source

neither

A header-only C++ Either type for error handling — lift errors into the type-system with the same performance as error-codes and without the pitfalls of exceptions.

C++14CMake

Open Source

RxTerm

A C++ library for functional-reactive terminals — lean ANSI-powered UI without ncurses.

C++14BuckBazelANSI Escape Sequences
Games · Mobile
Lineball

Game · Mobile

Lineball

A turn-based mobile game originally conceived as a pen-and-paper game during lectures. Players take turns moving a ball toward the opponent's goal by drawing lines — bouncing off walls and previous lines.

Networker

Game · Mobile

Networker

A pipe-rotation puzzle game inspired by graph theory. Connect all sources to all sinks by rotating pipe segments. Puzzles are procedurally generated using an algorithm similar to maze generation.

Game of Gauss

Game · Mobile

Game of Gauss

Matrix inversion in disguise. A puzzle game built around Gaussian elimination — the same algorithm used to solve systems of linear equations — presented as an intuitive grid-based challenge.

Brain Overload

Game · Mobile

Brain Overload

A cognitive training game that fuses multi-modal N-Back and N-PASAT with classic arcade games — Tetris and Snake — to push working memory and divided attention to their limits.

Bullet Arena

Game · Mobile

Bullet Arena

A physics-driven bullet hell arena where bullets carry real kinetic energy — smashing enemies and you across the stage. Push every enemy out of bounds to survive.