Research entry
What I've Been Building
29 March 2026 · 4 min read
A snapshot of what's been occupying the late nights — physics simulations, LLM compression, telescope anomaly detection, a codebase visualizer, a crypto trading system, and a GPS football tracker.
I spend a lot of time at both ends of the abstraction stack. Some weeks I’m deep in Monte Carlo thermodynamics or fitting spectral models to telescope data. Other weeks I’m writing Django views and thinking about recruiter conversion rates. This post is just a snapshot of what’s been occupying the late nights lately — no grand thesis, just an honest look at what’s on the workbench.
Physics & Research
ising-rs — What started as a 200-line college Python script for a statistical mechanics course has turned into a full Rust + CUDA Monte Carlo engine for spin model research. It supports three universality classes (Ising, Heisenberg, XY), a Wolff cluster algorithm, GPU parallel tempering, and a finite-size scaling pipeline. The current benchmark: 0.01% of the theoretical 3D critical temperature. There’s a live WebAssembly demo if you want to watch spins flip in your browser. The longer-term goal is a Physical Review E submission.


spin-quant — A research project asking whether statistical physics intuitions can improve LLM weight compression. The core idea: quantize each row of a weight matrix independently using k-means, weighted by input activation magnitude. I ran 26 experiments on GPT-2, systematically exploring non-uniform codebook allocation, attention layer quantization, and layer sensitivity ranking. Best result: perplexity of 84.2 at 0.836 bits per weight — roughly 38× compression compared to FP32 bit count. The findings log is fully documented, including the two experiments that closed off dead ends.

sdss-spectral-anomalies — Seven anomaly detectors running on public stellar spectra from SDSS DR18, ranging from PCA + Isolation Forest to a conditional normalizing flow that asks “is this spectrum strange for a star with these parameters?” The recent addition is a PBH (primordial black hole) signature screening pipeline — microlensing scores, accretion feature detection, Gaia astrometric cross-matches, multi-epoch variability. I’m not claiming discoveries. The goal is to build the tooling to flag candidates worth a second look, and to get comfortable with what “anomalous” actually means across 50K+ spectra.
Product & Creative
roleup — A live Irish job board at roleup.ie. The differentiator is a public recruiter response score — every company gets rated on response rate, speed, and consistency, calculated from real application data. Candidates can see before they apply who actually gets back to them. On the salary side there are benchmarks pulled from 22 data sources, with PDF reports and subscription tiers for deeper access. It’s a real product with real users and a proper ops setup.
animstudio — An early experiment in AI-generated animation. The pipeline goes: plain-text screenplay → character reference sheets → storyboard → animation clips → voice synthesis → lip sync → final MP4. Emotion tags in the script drive voice generation. Still early, but the goal is to produce 2D anime-style YouTube content from nothing but a text file.
cviz — A native Rust + wgpu application that turns any git repository into an interactive 2.5D spatial map. Files are positioned using co-change frequency (files that change together, stay together) combined with TF-IDF semantic similarity. Directories group into convex hull backgrounds. You can zoom, pan, click a node to see its commit history and co-changed neighbours in the terminal, and switch between file-type and recency colour modes. The part I find most interesting: a Unix socket listener means Claude Code can light up files in real time as it reads and edits them — so you watch the agent navigate the codebase spatially. Working prototype, 30 commits, tested on three repos.
Trading bot → hedge fund — A multi-strategy algorithmic trading system currently in dry-run on the Mac Mini. Three strategies running in parallel: mean-reversion with an adaptive volatility threshold, a vol-regime strategy that adjusts aggressiveness based on 24h vol z-scores, and a funding rate strategy that exploits extreme z-scores on perpetual futures. On top of that there’s an XGBoost signal confidence filter trained on 3,033 historical outcomes — it doubles win rate from 24% to ~50% by dropping low-confidence signals before they reach the executor. Monitoring via TimescaleDB + Grafana + Telegram. The carry trade layer (long spot + short perp = market-neutral funding capture) is built and dry-run enabled. 88 tests passing.
Football team tracker — A budget GPS and fitness tracking system for amateur football teams. The Django dashboard is built and working locally: player cards, per-session GPS track maps via Leaflet, Chart.js trend charts, and a fitness score algorithm weighting distance, sprints, high-intensity percentage, and consistency. The hardware side is ESP32 T-Beam GPS loggers that write sessions to SD card as CSV, which the dashboard ingests. The commercial equivalents (Catapult, STATSports) cost €5,000–50,000 per team per year. This stack costs about €100 in hardware per player slot. T-Beam units ordered for April.
More updates as things develop.