Skip to main content
Back to the professional stuff

Trains

Locomotives, model railroading, and the engineering that makes it all work. Some interests don't need justification.

What I'm Building

RailMind

Active

iPad-first 2D track planner with an AI proposal engine. N scale, Kato Unitrack. The AI understands signaling, accessory decoders, route logic, and DCC terminology.

Swift
SwiftUI
MCP
AI Proposals

RailThrottle

Active

WiThrottle iOS client for controlling locomotives directly from your phone. Connects to JMRI over Wi-Fi for real DCC throttle control.

Swift
WiThrottle Protocol

Conductor LoRA

Trained

Custom-trained language model adapter focused on model railroad operations. Understands signal aspects, block detection, turnout control, and layout planning.

Ollama
LoRA
Fine-tuning

JMRI MCP Server

Active

Model Context Protocol server bridging AI agents to JMRI. Natural language control of locomotives, turnouts, sensors, and block detection.

Python
MCP
JMRI REST API

The Hobby

N Scale

Kato Unitrack. Compact, detailed, and endlessly configurable.

DCC

Digital Command Control. Sound decoders, consisting, and programming on the main.

Signaling

Block detection, signal aspects, and automated route logic via JMRI.

Operations

Car cards, switch lists, and realistic freight operations.

Layout Design

Track planning, grades, curves, and making the most of limited space.

Why trains?

Model railroading sits at the intersection of everything I care about: systems design, spatial planning, real-time control, and building physical things that actually work. It's the same engineering mindset I bring to software—just with locomotives instead of microservices.

I run N scale on a compact layout with DCC, JMRI-based automation, and AI-assisted operations. The same Mac Mini that runs my homelab also runs my railroad.