Ten variations in, you are looking at final_v2_REAL.csv with no record of what produced it. Written in pure Python with no dependencies, Ancestree offers a lightweight and simple way to keep track of every result and its lineage, natively on your machine. Deduplication means it stores 3.93× less on a mixed corpus. Identical reruns skip execution entirely and return the cached result almost instantly.
Joshua Smith
Graduate engineer at AWE, seeking data engineering and quantitative research roles.
I turn numbers into models, decisions, and the occasional bull.
Projects
This server
Live
Checking the running containers
- Svelte
- JavaScript
- Docker
- Linux
- Python
I run my own home server: it's currently hosting this website! In addition to supporting other personal projects, it also runs an API publishing live data about itself. The box is designed around security: public access goes through a Cloudflare tunnel, with no inbound ports exposed on my home network.
Crypto orderflow
Live
Checking retained history
- Python
- Docker
- Polars
- NumPy
Vendors selling granular, multi-platform, multi-asset cryptocurrency data charge a premium. So I built my own collector — it stores ~11.5M rows a day across ten venues in Parquet. The archive backs a market-neutral strategy with a 2.39 net Sharpe over 6.5 years.
ascii-art
In use
Generated the ASCII illustrations on this site
- C
- Make
ASCII art is cool, so I wrote my own renderer in C. It converts images to monochrome, greyscale or full colour, block-averaging source pixels instead of sampling them for a result that stays stable at any size. In a benchmark, it rendered a 667×667 photo as 132,800 characters in around 13 ms, and drew the ASCII illustrations across this site.
Experience
2024 — Present
Graduate Engineer, AWE
Turning noisy, high-volume signals into fast, reliable estimates.
- Slurm
- Python
- scikit-learn
- NumPy
- MATLAB
- CUDA
3 km median localisation error
Synchronised 9 geographically distributed RF sensors to microsecond precision, correcting drift between their internal clocks and GPS time. Cleaned and denoised the data, then used TDOA cross-correlation and multi-objective optimisation to localise signals to a 3 km median error worldwide.279 m median position error at 700 km range
Designed a radar-based terrain-imaging navigation system, validated against recorded Sentinel-1 satellite data travelling at 7.5 km/s. Built the preprocessing pipeline and an ML-assisted optimisation solver, hitting a 279 m median position error with 4-second end-to-end latency on just 8 GB of RAM.7.5× fewer simulations
Built a surrogate-modelling based multi objective optimiser for expensive black-box simulators with a professor of statistics, cutting simulations required from 150,000 to 20,000. Also designed the stopping conditions and ported it to CUDA for a further 26× speedup over the CPU version. Shipped company-wide.
2020 — 2023
BEng Engineering Mathematics
University of Bristol, 2:1. Modelling, statistics and scientific computing.
Contact
What's on your radar?
Whether it's an opportunity, an interesting problem, or a question: get in contact. I'd love to connect.
UK-based · 02:36 BST (UTC+1)


