Projects
Personal projects I've built and released.
Aura
A C++ library for extracting prominent color swatches from images, inspired by Android's Palette API. Aura operates on raw RGBA pixel data with zero external dependencies, and runs on Linux, Windows, and macOS on both x86_64 and ARM.
A C interface makes it easy to integrate from other languages, including a PHP extension available on Packagist. A WebAssembly build is also available, with a JavaScript wrapper planned to make it accessible to JS/TS developers.
Sandpaper Sudoku
A GTK4 Sudoku application built for the PineNote ePaper device (ARM64), where the primary input is stylus handwriting. Digits drawn on screen are recognised using an ONNX/MNIST model, with support for pencil marks alongside full answers.
Backed by lib-sudoku, a pure C++23 library for generating and solving puzzles (Easy / Medium / Hard), kept in a separate repository so the logic layer stays free of any GTK or rendering dependencies and can be reused by other frontends. A companion training app lets you collect your own handwriting samples and replace the bundled model with a personalised one.
Experiments
Rougher than the projects above: proofs of concept, half-finished ideas, or things I leaned on AI heavily to build rather than polishing by hand.
Nameday
A small Linux desktop daemon that displays Hungarian name-day notifications. Runs as a systemd user service, wakes at local midnight, queries a SQLite database for the next three days of namedays (leap-day variants included), and fires a desktop notification via libnotify.
Testikles
A header-only C++ unit-testing library inspired by PHPUnit, built to explore what C++26's compile-time reflection makes possible. Instead of macros or manual test registration, it discovers and runs any public, void-returning method whose name starts with test automatically, in declaration order.
Supports setUp/tearDown lifecycle hooks, two assertion styles (stop-on-first-failure vs. collect-and-continue), data providers, and PHPUnit-style console output. Currently developed against GCC's trunk build with -freflection, since C++26 reflection hasn't landed in a stable compiler release yet.