Back

Projects

Current projects, prototypes and experiments across systems, AI, data visualisation, realtime apps and creative tooling.

DesiMapper

Live

3D DESI DR1 galaxy-survey visualiser: data pipeline, Blender cinematic, and interactive Three.js/WebGL point cloud.

PythonThree.jsBlenderAstronomy

Processes DESI LSS clustering catalogues for BGS, LRG, ELG and QSO tracers. Raw FITS files are fetched, converted to Parquet, projected from RA/Dec/redshift to 3D Cartesian coordinates, then downsampled to ~500k browser points. The cinematic is rendered via Blender Python and exported as MP4.

IHaveWatched

Active

Collaborative watchparty tracker with real-time boards, TMDB search, TV hierarchy imports, and per-person watch state.

Next.jsRustSpacetimeDBReact

Uses a Rust SpacetimeDB module with Next.js 16 App Router. Boards sync over WebSocket subscriptions, invite links add participants, TMDB route handlers fetch media metadata, and react-konva renders a zoomable node canvas with show → season → episode collapse levels.

Traincraft

Current

Minecraft 1.21.1 / NeoForge rewrite of the original Traincraft mod: locomotives, rails, machinery, and 80+ items.

JavaNeoForgeMinecraft

Complete rewrite targeting NeoForge 21.1.2. Includes 20 blocks, 80+ items, industrial machinery, oil/petrol systems, steel/copper/curved rails, and drivable rolling stock with fuel-gated acceleration, steam whistle and persistent coupling physics.

SL Studio

Prototype

Local-first forensic document analysis platform for PDFs, images, audio, and DOCX evidence files.

TauriRustSvelteKitAI

Built on Tauri 2 + Rust backend with SvelteKit 5 frontend. Runs GGUF models locally via llama.cpp with Metal acceleration. Pipelines cover facts, financial crimes, document analysis, OCR and audio; exports JSON, CSV, PDF and Excel.

fervo

Draft

Draft protocol specification for federated, auditable zero-trust voting in open-source governance.

ProtocolZK-ProofsCryptography

Separates voter identity from cast ballot via Semaphore-style Groth16 Merkle membership proofs. Supports public-signed and secret-ballot modes with append-only transparency logs and planned Rust crates for core types, circuits, consensus, tally and verification.

Project SteinLine

Asymmetrical distributed forensic platform: storage nodes feed GPU inference, visualised on an infinite canvas.

PythonAICUDAQt

Optimised for Raspberry Pi 5 storage nodes plus RTX 3090/4090 inference. Processes documents, images and video using multimodal AI, recursive windowing, PDF deconstruction, OCR and audio transcription. Source evidence stays read-only.

TrackBound

Flutter app for railway enthusiasts to log, visualise and share train journeys on a bundled rail network.

FlutterDartMaps

Ships with precomputed rail edges loaded into SQLite. Users toggle travelled segments on the map, reset progress, hard-reset rail data, and receive automatic reseeds when seed fingerprints, counts or schema versions change.

BadAppleStein

Reconstructs high-contrast video by matching frames to closest pages from a PDF library.

PythonCFFmpeg

C matching core compiled to a shared object and called from Python. Multiple arrangement scripts choose PDF pages per frame; render scripts assemble quality/speed variants; FFmpeg encodes final video.

CCC - GCC Studio

Flask tool comparing assembly output from GCC and Claude C Compiler for the same C snippet.

PythonFlaskC

Browser form submits C code. Backend compiles with GCC and Claude C Compiler, disassembles both outputs, then returns side-by-side assembly for studying compiler differences.

Benchmarks

Cross-language benchmark suite for C, C++, Rust, Python and Java with interactive TUI results.

CRustPythonBenchmarks

Benchmarks 12 categories including matrix ops, sorting, hashing, regex, JSON, file I/O, networking, crypto, ML and concurrency. Results persist to SQLite and can be explored through graph/table TUI views.