Skip to content
View tom-snyder's full-sized avatar

Organizations

@Susquehanna-Syntax

Block or report tom-snyder

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tom-snyder/README.md

Thomas Snyder — AI Systems, Backend Engineering, Infrastructure

Software developer working across application, backend, and infrastructure layers. Currently focused on self-hosted systems and local model serving.

Clarks Summit, PA · Member of Susquehanna Syntax


Selected work

DesignRNG — desktop authoring tool

TypeScript Electron Python last commit

An Electron desktop application for authoring procedurally-generated content packs. The 3D editor is built on React Three Fiber — transform gizmos with legal-angle rotation, face-resize handles, and a snap-point editor that defines where each part docks on a chassis. A Python sidecar speaks JSON-RPC to the renderer and owns schema validation and packaged export, which keeps the domain logic out of the UI process.

Decisions are recorded as 8 architecture decision records, with supersession tracked when a decision replaces an earlier one.

Arms NG — JVM runtime

Java Gradle last commit

The runtime that consumes those packs — a Minecraft Forge mod that composes weapons from authored parts at load time. It ships no built-in content: everything is resolved from the pack on disk.

The part that matters

These are two separate programs, in two languages, maintained in two repositories. What connects them is a versioned wire schema with its own fixtures and a drift check that runs in CI, so a change to the authoring side cannot silently break the runtime. Designing and holding that contract is the work I'd point to first.


Languages

Language distribution across public repositories: Java 57.9%, TypeScript 24.7%, Python 16.3%
Languages Python · Java · TypeScript · JavaScript · GLSL · Bash / PowerShell
Application Electron · React · React Three Fiber · three.js · Zustand · Vite · PySide6 / Qt
Backend ASGI / Uvicorn · httpx · JSON-RPC · SQLite · REST
JVM Java 25 · Gradle (Groovy + Kotlin DSL)
Infrastructure Linux · Raspberry Pi OS · systemd · image builds · GitHub Actions
Testing pytest · Vitest · fixture + schema-drift verification

Current focus

Self-hosted model serving. A provider-agnostic broker exposing one Anthropic-Messages-compatible API, routing requests to hosted APIs or local CLI agents, with preflight guardrails, run history, and a small companion UI. Target deployment is a Raspberry Pi Zero 2 W running Pi OS Lite. Status: working skeleton — not yet deployed.

GPU hardware evaluation. Assessing RTX 3090-class hardware as the basis for a local inference server, starting with a single GPU before deciding whether to expand. Status: evaluating — nothing purchased, benchmarked, or deployed.

How I work

  • Architecture decision records — decisions written down and locked, supersession tracked
  • A domain glossary per project — one agreed word per concept, so naming stays stable
  • Versioned wire contracts — cross-language boundaries specified, fixture-tested, drift-checked
  • CI and release automation — GitHub Actions for tests, schema checks, and packaged builds

Contact

Email

Some of my work is in private repositories.

Pinned Loading

  1. Arms-NG Arms-NG Public

    Minecraft Forge runtime mod that rolls procedurally-composed weapons from authored content packs, over a versioned wire contract.

    Java

  2. DesignRNG DesignRNG Public

    Desktop authoring tool for procedurally-generated weapon content packs — Electron + React Three Fiber, with a Python export sidecar and a versioned pack schema.

    TypeScript

  3. Susquehanna-Syntax/Anvil Susquehanna-Syntax/Anvil Public

    Go 1