I build software that
builds itself.

Programming languages. Autonomous systems. AI that writes code verified by the compiler it runs on. I like making things that work with minimal resources.

See what I buildAbout me

What I build

A Programming Language

Built from scratch in 3 months. It compiles itself — the output is byte-identical. Runs on ARM, x86, Linux, and in your browser via WebAssembly. Try it live below.

Self-Training AI

The compiler verifies the AI's output. If it compiles, the code is correct. 7,600+ verified programs and counting. The model gets better at writing the language it's tested by.

Autonomous Robotics

Real-time neural control running at microsecond speed. The language IS the inference engine. Competition entry in progress.

Distributed Compute

Three machines, three architectures. Mac Mini compiles and serves. RTX 3070 trains models. Pi Zero runs at the edge. All coordinated by software written in the language.

v2.0.0 // 2026-04-03

The numbers

4,200 lines of Rail compile to ARM64, x86_64, Linux, and WASM. Native IEEE 754 floats. Conservative GC in assembly. Try/catch with setjmp. Zero C dependencies.

View on GitHubRead the story
Rust
21,086
Rail
4,212
Binary
~8 MB
Binary
686 KB
Targets
1
Targets
ARM64 + x86 + Linux + WASM
Tests
92/92
Deps
as + ld (zero C deps)
Reilly Gomez
Reilly Gomez
Systems Engineer

I like building things that work with minimal resources. Most of my time goes into Rail and the infrastructure around it. Before that I spent nine years running a food production business, which taught me that systems need to be reliable before they can be clever.

The story

Rail started as a Rust project in January 2026. Three months later, it has four backends and trains its own AI.

JAN
21K lines of Rust
Interpreter, parser, type checker, Cranelift JIT
FEB
ARM64 codegen
Native compiler written in Rail itself
MAR 16
Self-hosting
Fixed point. Rust deleted.
MAR 20
Flywheel
Self-training loop: compiler is the oracle
MAR 25
Performance
Matches C -O2. 5 instructions/iteration.
APR 2
Native floats
Unboxed IEEE 754 in d-registers. Zero heap allocation.
APR 3
v2.0.0
WASM backend, try/catch, REPL, HTTP server. 92 tests.

How it works

4,212 lines. Source in, native binary out. Four targets from one compiler.

.rail
source
Lexer
tokens
Parser
AST
Codegen
ARM64 / x86 / WASM
as + ld
686K binary

Allocator

1GB bump arena
+ free list

GC

Conservative
mark-sweep

Runtime

Tagged pointers
TCO + closures

Full technical details on /system

Try it live

These Rail programs are compiled to WebAssembly and run in your browser. No server. No install.

main =
  let _ = print "Hello from Rail!"
  let _ = print "Running as WebAssembly."
  0
fib n =
  if n < 2 then n
  else fib (n - 1) + fib (n - 2)

main =
  let _ = print (fib 10)
  let _ = print (fib 20)
  let _ = print (fib 30)
  0
square x = x * x
cube x = x * x * x

main =
  let _ = print (square 7)
  let _ = print (cube 5)
  let _ = print (square 12 + cube 3)
  0
fizzbuzz n =
  if n > 30 then 0
  else
    let _ = if (n % 15) == 0 then print "FizzBuzz"
      else if (n % 3) == 0 then print "Fizz"
      else if (n % 5) == 0 then print "Buzz"
      else print n
    fizzbuzz (n + 1)

main = fizzbuzz 1

The flywheel

The compiler is the oracle. If it compiles, the code is correct. The model gets better at writing the language it is verified by.

COMPILERoracleGenerateCompileHarvestTrain

7,600+

verified examples

25

curriculum levels

3

nodes (M4 + 3070 + Pi)

Other work

Autonomous Robotics

Real-time neural control with native float MLP. Rail as the inference engine. Competition entry in progress.

Compute Fleet

Mac Mini M4 Pro + RTX 3070 + Pi Zero. Rail fleet agents, CUDA QLoRA training, cross-compilation. 3 architectures.

WASM + HTTP

Rail compiles to WebAssembly. Built-in HTTP server and REPL. Programs run in browsers, on servers, and at the edge.

Nanoversight

Autonomous oversight. One file, one loop, one LLM. Open source.

Interested in working together?

Open to remote work and collaboration.

EmailGitHub
> LEDATIC v2.0.0
targets: arm64 x86_64 linux wasm
self-compile: 92/92
floats: native ieee754 d-registers
READY