Work
three research platforms, and the field-to-software work between them
Most of my work follows one pattern: take a piece of research software that would otherwise die as an un-runnable desktop binary, re-implement it in pure Python, pin the re-implementation to the original's output with a regression test, and deploy it as a documented, openly-licensed web service that someone else can actually run. It's a deceptively boring-sounding goal — make the tool outlast the paper — but it's most of what separates research code that gets cited and reused from research code that rots. The three research platforms below started as C++/Qt desktop tools. Three research platforms built that way are live now — alongside current work under my PFP Works banner, and earlier health-tech work for the UK NHS.
Landuse Analyst
la.arkygeek.com — modelling what a region's land and water could support, through time.
LA answers a specific question for a specific region and period: given a reconstruction of rainfall, hydrology and terrain, what range of agropastoral activity could the land-and-water budget sustain? It began as the C++/Qt tool behind my PhD (the agricultural catchment of an Early Bronze Age settlement on the Jordan Rift) and is now a cloud platform plus a QGIS plugin.
- Architecture. A FastAPI orchestration tier; an Astro + Svelte + MapLibre front-end; a separate, off-host compute service for the heavy pipelines, reached over signed service-to-service calls; the whole thing presented as one host through a thin edge worker, with a documented deploy pipeline.
- Engines. Walking-cost catchments (Tobler's hiking function + a binary-search threshold sweep over per-crop suitability rasters), palaeo-hydrology / flow accumulation, and an anisotropic wildfire-spread model.
- The catalogue. The global landscape partitioned into prehistoric land-use regions, each carrying a transparently scored stack of around ninety ingestible datasets — so a pipeline built in one region can be ported to another with a known data footing.
- Reproducible. A pure-Python re-implementation that reproduces the original thesis runs.
DataRanking
dataranking.arkygeek.com — grading the quality of datasets used to calibrate agro-ecosystem models.
Drop in a dataset and DataRanking returns an overall Platinum / Gold / Silver / Copper tier plus per-block tiers across the framework's eight categories, with a radar chart of where the data is strong and where it's thin. It's a web port of the Kersebaum et al. 2015 framework — a paper I co-authored — re-implemented from the original 2014 C++/Qt desktop tool.
- Reproducible by construction. The port is pinned byte-for-byte to the original Windows binary's verdict via a regression test against Kersebaum's own Müncheberg crop-rotation example. This is the single detail I'd point a reviewer to first: it's the difference between "a rewrite that's probably faithful" and "a rewrite that is provably faithful."
- Interoperable. Accepts raw JSON and AgMIP / ICASA
.aceb/ ACE-JSON files; ships versioned weight sets (the binary's behaviour and the published paper's intent, documented where they differ); exposes an OpenAPI schema and/docs.
Agricultural Model Adapter
mad.arkygeek.com — a model-suitability and configuration translation companion.
The Agricultural Model Adapter (A MAD Toolbelt) is a zero-dependency, local-first browser platform designed to bridge crop, livestock, and farm-economic models. Originally built as a Qt/C++ desktop utility under the European FACCE MACSUR network, this web companion scales the original dataset quality ranking to support multi-model ensembles, FAIR compliance matrices, and direct configuration exporters.
- Multi-Discipline Mappings. Supports Crop (AgMIP/ICASA standard vocabularies), Livestock (LiveM pasture and herd dynamics), and Economic (TradeM adoption rates, regional returns) blocks.
- Cross-Model Linkages. Instantly calculates suitability percentages against major biophysical simulations (HERMES, DSSAT, APSIM, WOFOST, MONICA, AquaCrop, STICS) and warns if critical cross-discipline dependencies are unchecked.
- DSSAT & APSIM Exporters. Automatically translates and formats AgMIP Crop Experiment (ACE) JSON data to space-aligned DSSAT
.SOLand APSIM JSON configuration files directly in the browser.
How they connect
These aren't unrelated side projects. LA's own method for scoring palaeoenvironmental datasets is a direct extension of the DataRanking framework into a new domain — one platform is, in a real sense, the methodological parent of a subsystem in the other. The through-line across all of it is the same: rigorous, reproducible, reusable research software for the archaeological and agro-environmental sciences.
PFP Works
my software & food-production venture.
My current work lives under PFP Works — the name I build software platforms and sustainable food-production ventures under. Two of them: Prairie Fresh Produce, a farm-to-table aquaponics venture, and Prairieline, a multi-tenant retail platform. It's where I do current full-stack product work end to end — architecture, development, deployment and operations.
Earlier work: OpenPCI
health-tech — clinician–patient communication for the UK NHS.
A full-stack Laravel + Vue web application for communication between healthcare professionals and patients, with a simple, robust scheme for protecting patient information. It grew out of a research project at Edge Hill University carried out with NHS clinicians, and the prototype was approved for use at Aintree University Hospital — a notably strict NHS Trust for information governance. Different domain and stack from the platforms above (PHP rather than Python), which is exactly why it's here: the instinct to build durable, trustworthy software travels beyond archaeology into a regulated, high-stakes environment. The repository is private (it's medical software); a code walkthrough is available on request.
Research → · CV → · GitHub →