I like projects that cross layers: emulation, neural networks, terminal interfaces,
APIs, infrastructure, hardware, and the ugly bugs between them.
C++, Python, TypeScript, 6502 assembly, and a growing pile of hardware.
01 — SELECTED WORK
Projects I took too far
Working builds, source code, and evidence that they actually work.
CASE / 01POLICY ACTIVE
STRICT CONTROLFULL RUN / 01:11:18POLICY FEED
PROOF READY00:00 / 71:18
Reinforcement learning / reverse engineering / CUDA
1942//PPO
I trained a reinforcement-learning agent to complete the NES game 1942 from a fresh
power-on.
No action tape, scripted controller, manual assistance, or last-second rescue. The
final policy cleared all 32 stages in one uninterrupted run while making 64,178
controller decisions on its own.
32/32stages
64,178decisions
0action overrides
71 minverified run
The project combines NES emulation, raw RAM observation, PyTorch PPO training, CUDA
acceleration, automated evaluation, and enough debugging to make me briefly hate
the year 1942.
Market systems / terminal UX / defensive engineering
Option Sentinel
A terminal application I built to monitor option positions, inspect risk, manage
orders, and avoid accidentally doing something expensive.
Livebroker data
Dry-runby default
Failsclosed
It connects to Schwab, provides per-leg close and roll workflows, displays intraday
charts, and treats uncertain broker responses as failures instead of pretending
everything worked.
A deterministic fake broker lets me develop and test the dangerous parts without
touching a real account.
// Forge-220M-Instruct — the finished 220M model, instruction-tuned on 460K conversations.
// Real, unedited completions (trimmed only for length), generated on Daniel's GPU. Pick a prompt below.
Language models / from scratch / C#
Forge/220M
I built a small language model from scratch in C# — tokenizer, transformer,
optimizer, GPU kernels — trained it on 4.4 billion tokens, then taught it to
follow instructions.
No PyTorch, no ONNX, no inference framework. The byte-level BPE tokenizer, the GPT
architecture, AdamW, the SIMD CPU backend, the CUDA and D3D12 kernels, and the
checkpoint format are all hand-written. The panel on the left shows real
completions from the finished instruction-tuned model.
219Mparameters
4.4Btokens trained
460Kinstruction chats
0ML frameworks
The base model learned from a FineWeb-Edu–heavy web mixture downloaded, tokenized,
and checksummed by the project's own tooling. Training ran on rented NVIDIA GPUs
through a custom ILGPU CUDA backend, with a ComputeSharp D3D12 backend for Windows
GPUs and a SIMD CPU backend for everything else. A two-epoch pass over the
SmolTalk dataset — user spans masked out of the loss — turned the base model into
Forge-220M-Instruct.
A 220M model answers questions the way a 220M model can: mostly coherent,
occasionally confident nonsense, always interesting. There used to be a live demo
here; one shared vCPU made each reply take a minute, so the model retired to
recordings.
C#.NET 9CUDAD3D12BPE
View source Private
02 — LAB / EXPERIMENTS
Smaller things I’m working on
Not everything needs a case study. These are builds, tests, and useful detours.
01ESP32 MorseEmbedded / Wi-Fi+
A Wi-Fi-controlled ESP32 that takes a message and timing from a tiny local web interface, then blinks it in Morse code.
Small ROMs built close to the hardware: controller polling, palette updates during VBlank, memory maps, and the occasional argument with an emulator.
03Local AI systemsHermes / LLM tooling+
Local models, Hermes-based setups, and the glue required to turn a model running on a machine into something I can actually use.
04Printer automation3D printing / Automation+
Removing repetitive steps from the path between a model, a slicer, a printer, and a finished part.
05Home infrastructureDocker / Unraid+
Containers, storage, local services, monitoring, and all the maintenance work created by trying to reduce maintenance work.
03 — ABOUT / APPROACH
About Daniel
I’m a software engineer in Reno, Nevada. My professional work is primarily C++ and
systems development, while my personal projects range from reinforcement learning
and emulation to developer infrastructure, hardware, and automation.
I enjoy finding the part of a system that everyone assumed was working.
How I build things
I like projects that require understanding the entire system instead of hiding behind
one layer of it. That usually means tracing the real control path, finding the actual
source of truth, and building enough instrumentation to prove the result.
01
Find the real problem
The visible failure is often five layers away from the thing that caused it.
02
Make failures obvious
Unknown, incomplete, and failed are different states. Software should not quietly turn all three into “success.”
03
Prove that it works
Logs, audits, repeatable tests, recordings, and clean evaluation environments beat “it seemed to work when I tried it.”
HELLOHELLOHELLOHELLO
04 — CONTACT
Got something interesting?
Software, AI, infrastructure, hardware, a stubborn bug, or a project that has
completely gotten out of hand.