Portrait of Nathaniel E. Harris.
Nathaniel E. Harris

Reliable software for complex systems.

I build backend services and data pipelines, and I work below them too: custom engines, machine code and legacy hardware.

Now at Space Interactions, on the services and pipelines behind satellite and orbital data.

What I do

Backend and data systems

Services and pipelines that take data in, validate it and keep it, with typed contracts between the parts.

RustC#TypeScriptMongoDB

Operational software

Software for work that runs on real rules: orbital data, field-service scheduling and mapping, and SMS compliance.

Orbital dataLogisticsSchedulingCompliance

Systems internals and legacy hardware

Custom engines, firmware, reverse engineering and machine code, down to 6502 and x86 assembly.

C++Firmware650265816x86

Where the three meet is the work I like best: understanding an unfamiliar system, keeping it reliable, and connecting it to modern software.

Work

Selected projects.

Backend platforms, operational software and systems internals, from a space-domain awareness platform to 6502 and 65816 assembly.

Forerunner

Space Interactions · Since 2024

A space-domain awareness platform. I build the services and pipelines that bring in satellite and orbital data, and the views that show it.

I built Rust and MongoDB back-end services for the platform's data operations. I also develop and extend the TypeScript and Electron frontend that visualizes the data, and I design the 3D models that the orbital views are made of.

  • Automated the retrieval, validation and archival of TLE (two-line element) orbital data.
  • Custom HLSL shaders that made the orbital views render faster.
Role
Data Engineer, Senior Programmer
Stack
TypeScriptElectronRustMongoDBHLSL

Field-service platform

Phillips Lifestyles · 2018 to 2023

Work orders, scheduling, job maps and dispatch, in one platform for a field-service team.

As software lead I automated the data integration behind it: work-order history and scheduling, GPS maps of jobs and company vehicles, and messages between field workers and dispatchers. I also pulled point-of-sale data into Google Calendar, so the whole company scheduled from one place.

  • A C# application that designs and prints retail sale signs.
  • Custom WordPress modules for the company website.
Role
Software lead
Stack
C#Google APIsGPSWordPress

Relay and RelayPing

Harris XR · Since 2023

Data-integration and automation tools that small businesses run on every day, and a network monitor with its own iOS app.

The Relay suite is in daily production use at a regional appliance-service company. RelayPing watches networks and reports to an iOS app that is in production, and a custom data-compression scheme keeps the bandwidth it needs low.

  • An interactive SMS texting platform, built to the carrier rules in the CTIA guidelines.
Role
Co-founder, lead programmer
Stack
iOSREST APIsSMSData compression

Retro Hardware Homebrew

Personal projects

Reverse engineering old software & hardware, then rebuilding and upgrading them.

I have built compression and decompression tools for 6502 and 65816 software, and a modding tool for graphics, palettes and 65816 assembly. Currently, my primary personal project is developing for the SFX-100, the SNES CD prototype also known as the "Nintendo PlayStation".

  • An unofficial map editor for Warcraft I.
  • Custom TMNT: Tournament Fighters build for state-wide tournaments.
  • In development: IDE, clean room BIOS & programs for SNES CD.
Role
Developer
Stack
650265816x86AssemblyData compression

Blockade Runner

ZanMgt · Since 2011

A 3D voxel space sim, on a custom engine that I wrote and then moved from XNA to SharpDX.

As engine lead I built the engine's internals: the 2D and 3D rendering pipelines and their shaders, the font rendering, the asset loading, the netcode and the modding support.

  • Also made Liquid Cubed, a real-time simulation of liquid in a voxel world.
Role
Co-founder, engine lead
Stack
C#XNASharpDXHLSL