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
Projects
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.
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.
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.
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.
HTTP/1.1 functionality written from scratch in Go.
Multithreaded handling of concurrent requests.
- Working on chunked transfer encoding.
- Adding reverse proxy functionality.
Vi editor clone written in Rust.
Comments