Selected Projects

  1. A kaleidoscopic Fleeting Garden snapshot of cyan, violet, and yellow agent trails radiating from a central knot.

    Fleeting Garden

    A single-file WebGPU drawing toy. Your strokes seed a swarm; nine numbers per vibe give each preset its personality.

  2. The e-ink frame on the wall showing a dithered landscape scene with the capture age and EXIF location painted into the bottom corners.

    Frame

    A LAN-only e-ink photo frame. Pulls from self-hosted Immich, gated on Home Assistant presence, Atkinson-dithered to 6 colours, no cloud.

  3. The Perfect Postcode dashboard with active filters on property type, price, transit time, and crime, showing a Manchester map with matching properties as a heatmap.

    Perfect Postcode

    A UK property-intelligence map. ~25M historical transactions, ~150 features per row, all u16-quantised in RAM, served from a single Rust binary.

  4. The reconcile-text logo and tagline "Conflict-free 3-way text merging".

    reconcile-text

    One Rust core, three packages. Merges Markdown notes from three editors I don't control, with no operation history. Never emits markers.

  5. Example Python code using the GreatAI API.

    GreatAI

    One decorator on a Python function turned it into a deployed ML service. MSc thesis with a survey to back the API choices.

  6. SDF-2D browser demo with soft lighting effects.

    SDF-2D

    A browser 2D ray-tracer tuned for the phone in your pocket. Tile-based passes, deferred shading, shaders generated per scene and device.

  7. The decla.red browser game interface showing a space scene.

    decla.red

    Browser multiplayer where the client and server linked the same TypeScript rules module. Concurrency bugs you can't have are bugs you don't have.

  8. The Ad Astra handheld game running on its OLED display.

    Ad Astra

    A handheld game built from a custom PCB up: ATtiny85V, OLED, IR, EEPROM. 8-bit ALU at 8 MHz, 50 FPS floor.

  9. Life Towers goal tracking interface with tower-like visual structures.

    Life Towers

    A multi-device goal tracker. The trie underneath made the sync diff free; the towers were just the UI.

  10. Cooling system simulator interface with pipes, pumps, and temperature values.

    Cooling System Simulation

    A live cooling-plant simulator for a PLC cybersecurity event. Flow as graph traversal and heat as a matrix solve: two passes instead of one PDE.

Older and Smaller Projects

  1. Placeholder thumbnail for the backup container project.

    Backup Container

    A Bash container around BorgBackup. BTRFS snapshot for atomic consistency, numeric env vars for multi-target 3-2-1, sleep-loop instead of cron.

  2. Screenshot of the My Notes Android markdown app.

    My Notes

    A small Android Markdown note app. The point was a few weeks outside the web stack.

  3. Chart from a foreign exchange prediction experiment.

    Foreign Exchange Prediction Experiment

    A Hanning-windowed STFT experiment on EUR/USD. Passable backtest, sober conclusions, no real money risked.

  4. JavaFX editor interface for the cooling system simulator input graph.

    Graph Editor

    A drag-and-drop JavaFX editor that let event organisers reconfigure the cooling sim without me sitting next to them.

  5. Screenshot of a Unity city traffic simulation.

    City Simulation

    A Unity city where REST-controlled traffic lights made bad PLC code visible as car crashes.

  6. Screenshot of a colour grading interface applied to a photograph.

    Photo Colour Grader

    Pick a colour, edit every nearby colour as a function of distance. A grader built around one interaction idea.

  7. Screenshot of the Fizika practice app showing topic-selection buttons.

    Fizika

    I needed it for my own physics érettségi: 659 past-paper questions, jQuery, localStorage, no accounts. Eight years on, students still find it.

  8. Screenshot of the Avoid canvas game.

    Avoid

    My first browser game, kept around so the timeline is honest.

  9. Screenshot from an early 3D platform game.

    Platform Game

    My Basics of Programming project. 3D voxel game in C and SDL 1.2. Pointers, learned painfully.

  10. Screenshot of a generated photography site.

    Photo Site Generator

    Point a Webpack script at a folder of photos, get a static site with responsive image variants. An excuse to walk with a camera.

  11. RGB LED strips glowing from a music synchronization project.

    Lights Synchronized to Music

    Raspberry Pi music player, NumPy FFT, MOSFETs, RGB strips. The first thing I built that I actually finished.