# Nathan Michlo > Architect and tech lead. I design the platforms AI teams build on, and take products from prototype to customers. Notes, open-source projects, research papers and small browser tools. Notes are written by hand, without AI. Projects marked pre-ai were written without AI coding assistants. Every note is also available as markdown at its URL plus .md. ## Notes - [My Infrastructure as Code for DNS](https://michlo.dev/notes/my-infrastructure-as-code-for-dns.md): Using dnscontrol for stateless DNS management - [Introductions](https://michlo.dev/notes/hello-sveltia.md): Who am I and what I do ## Projects - [color](https://color.nates.tools): Colour blindness simulator for any image (2026, Web) - [diskuse](https://github.com/nmichlo/diskuse): Disk usage terminal browser, built for speed (2026, Rust) - [gst-plugin-iceoryx](https://github.com/nmichlo/gst-plugin-iceoryx2): GStreamer plugin for zero-copy video over shared memory with iceoryx2 (2026, Rust) - [paints](https://paints.nates.tools): Miniature paint visualisation and planning (2026, Web) - [mtg-vision](https://github.com/nmichlo/mtg-vision): Real-time recognition of 100,000+ MTG cards, in the browser or on a server, via detection and contrastive embeddings trained only on synthetic data (2025, CV) - [multisensor-lmb-filters](https://github.com/nmichlo/multisensor-lmb-filters-rs): Rust and Python port of Stuart Robertson's MATLAB multi-sensor tracking filters, 50x to over 1000x faster (2025, Rust) - [norfair-go](https://github.com/nmichlo/norfair-go): Go port of norfair, the object tracker, 50-60x faster on small and medium workloads (2025, Go) - [norfair-rs](https://github.com/nmichlo/norfair-rs): Drop-in Rust and Python replacement for norfair, the object tracker: up to 180x faster from Rust, 20-50x from Python (2025, Rust) - [pydependence](https://github.com/nmichlo/pydependence): Python dependency analysis that finds lazy, optional and minimal imports for legacy code and Docker, built after untangling dependencies across Dragonfruit's repos (2024, Python, pre-ai) - [doorway](https://github.com/nmichlo/doorway): Python data wrangling utilities for atomic IO, fast hashing, stale files, sharding and proxied downloads (2022, Python, pre-ai) - [disent](https://github.com/nmichlo/disent): Modular VAE disentanglement framework built on PyTorch Lightning for my MSc. Meta Research's code for an ICLR 2023 paper credits it as a reference implementation of disentanglement metrics (2021, PyTorch, pre-ai) - [lightning-nca](https://github.com/nmichlo/lightning-nca): Neural cellular automata in PyTorch Lightning (2021, PyTorch, pre-ai) - [ruck](https://github.com/nmichlo/ruck): An evolutionary algorithms library with JIT and distributed compute across processes or machines via Ray, built for my MSc and later spun out. Over 65x faster than DEAP on NSGA-II (2021, Python, pre-ai) - [mtg-dataset](https://github.com/nmichlo/mtg-dataset): Magic: The Gathering card image dataset with HDF5 support (2020, Data, pre-ai) - [stretched](https://github.com/nmichlo/stretched): Python bindings for Stretch, a flexbox layout engine written in Rust (2019, Python, pre-ai) - [maze-gen-visualiser](https://github.com/nmichlo/legacy_maze-gen-visualiser): Maze generation visualiser with swappable algorithms, built for a university competition (2016, C++, pre-ai) - [bsp-procedural-generation](https://github.com/nmichlo/legacy-bsp-procedural-generation): 2D procedurally generated world, streamed in chunks. Built for fun in high school (2015, Java, pre-ai) - [teapot-saga-iv](https://github.com/nmichlo/legacy_teapot-saga-iv): A basic RPG with A* pathfinding. My grade 10 final project, and my first big program (2013, Java, pre-ai) ## Research - [Identifying 100,000+ MTG cards in real-time](https://michlo.dev/talks/2025-pydata-mtg-cards.pdf): PyData Johannesburg 2025 - [Video Surveillance Processing Based on Distortion Identified in Video Streams](https://patents.google.com/patent/US20250285291A1/en): Patent pending, co-inventor. US20250285291A1, filed by Dragonfruit AI 2024 - [Overlooked Implications of the Reconstruction Loss for VAE Disentanglement](https://www.ijcai.org/proceedings/2023/453): IJCAI 2023 - [Overlooked Implications of the Reconstruction Loss for VAE Disentanglement](https://michlo.dev/talks/2023-ijcai-presentation.pdf): IJCAI 2023, paper presentation (Macao) 2023 - [Disentanglement Using VAEs Resembles Distance Learning and Requires Overlapping Data](https://wiredspace.wits.ac.za/items/8f8ee472-d8d1-4cfc-acb5-9b75c8f19f12): MSc thesis, Wits 2022 - [Accounting for the Sequential Nature of States to Learn Features for Reinforcement Learning](https://www.raillab.org/publication/michlo-2022-accounting/): RLDM, extended abstract 2022 - [Data Overlap: A Prerequisite for Disentanglement & Metric Learning Solutions](https://michlo.dev/talks/2021-brown-data-overlap.pdf): Brown University Intelligent Robot Lab, invited talk (online) 2021 - [Bandit PBT: Enhancing Population-Based Training with Smart Exploit Strategies](https://github.com/nmichlo/wits-honours-research-bandit-pbt): BSc Honours report, Wits, unpublished 2019 ## Optional - [Everything](https://michlo.dev/llms-full.txt): All notes inlined