Isaac Schwarz

Software Engineer

B.S. Computer Science, Northern Arizona University.

Currently working on: a container orchestrator in Go and Rust... and my homelab cluster.

Resume
Go Rust gRPC

Dinghy

A container orchestrator modeled on Kubernetes architecture. Control plane written in Go, cluster state stored in a Raft-replicated key-value store written in Rust.

  • Scheduler places containers onto nodes; controllers run reconciliation loops to drive the cluster toward its declared desired state.
  • Distributed key-value store in Rust, replicated with the Raft consensus algorithm.
  • The Go control plane and Rust store communicate over gRPC, with the interface defined in Protocol Buffers.
k3s Terraform Prometheus Ansible Flux

Homelab

A virtualized Linux homelab on Proxmox hosting a Kubernetes (k3s) cluster, with infrastructure managed as code in Terraform.

  • Node configuration with Ansible; cluster workloads deployed via GitOps with Flux.
  • Monitoring and alerting for the cluster and its services with Prometheus, Grafana dashboards, and Alertmanager.
Rust TLA+

ConTiNGENT

An NVMe testing tool for Sandisk driven by formal specifications. Correct device behavior is described in TLA+, and a Rust execution engine issues commands against an NVMe device.

  • TLA+ specifications create an abstract representation of the NVMe drive and define behavior to test.
  • TLA+ instrumentation uses community module "escape hatches" to interact with the Rust execution engine and incorporate real drive state into the abstract state-space.
  • The Rust execution engine translates messages from TLA+ into nvme-cli commands, executes them, and returns parsed results.
  • If an invalid state is reached, the TLA+ process throws an error and returns a detailed trace showing how it was reached.
Go TypeScript Canvas

NYT RPG

A web-based RPG built around New York Times games. Backend powered by Go with gorilla/websocket; frontend built on Canvas and TypeScript.

  • Concurrent WebSockets for live gameplay features.
  • REST API backed by SQLite for asynchronous features.
  • Containerized with Docker and deployed on AWS through a GitHub Actions CI pipeline.
Go

HttpGo

HTTP/1.1 functionality written from scratch in Go. Multithreaded handling of concurrent requests.

  • Working on chunked transfer encoding.
  • Adding reverse proxy functionality.
Rust

Vi

Vi editor clone written in Rust.