About me
Most software in this world is slapdash - built quickly, upon unreliable foundations, just good enough to work most of the time. I'd rather use strong type systems, formal verification, and good design to build systems that work reliably and can be altered confidently.
Day to day, I work primarily in Rust and Python, with professional experience spanning systems programming, build tooling, full-stack web development, and cloud infrastructure. I'm also actively developing in Lean 4 — I'm drawn to what theorem proving and formal verification can bring to practical software engineering. Over the years I've shipped production code in C/C++, Scala, Ruby on Rails, Elm, and Haskell. I like to use Nix to bring rigor and codification to builds, OS configuration, and infrastructure.
I studied Computer Science, Linguistics, and Japanese at the University of California, Berkeley (I like languages, natural and artificial). Outside of work, I tinker with programming language design, 3d graphics, and microcontrollers.
Projects & Contributions
My professional Github profile is @gshuflin. I have used @neunenak as a personal Github profile in the past, and still use it for contributing to projects that use Github as their main git repository host. I've moved most of my personal code to a self-hosted Gitea instance at code.everydayimshuflin.com, to reduce my dependency on cloud services I have no control over.
Pants
As part of my work at Toolchain Labs, I was a contributor to the Pants build system. Much of my work on this project involved porting the codebase from a legacy Python execution engine to a modern and more performant Rust execution engine.
lean-sdl3
SDL3 bindings for Lean 4, including webcam functionality. Forked from ValorZard/lean-sdl3 and actively developed with expanded API coverage.
diskonaut-ng
Terminal disk space navigator with a visual treemap interface. I took over this unmaintained project in November 2025, forking it as diskonaut-ng to continue active development. The tool allows users to scan directories, explore folder hierarchies, and delete files while tracking freed space. Published on crates.io and packaged for NixOS.
nh
A Nix helper tool for the nix-community. My contributions include fixing Clippy warnings, code formatting improvements, and adding terminal hyperlinks with GitHub URLs to search results.
just
I'm a user of and occasional contributor to this command runner, written in Rust.
Rust parser combinator library
A quick and dirty parser combinator library in Rust, mostly as a proof of concept. I'd like to see if I can incorporate some of the ideas from the paper Efficient parsing with parser combinators to make it faster.
hilite
A simple Rust command line program for highlighting stderr console output, inspired by Mike Schiraldi's hilite utility, which I used at Meraki for making the actual errors more obvious in lengthy C++ compiler output. Published on crates.io.
leipzig-glossing
A Typst package for typesetting linguistic interlinear glosses according to the Leipzig Glossing Rules.
Koka
I contributed a basic Vim plugin for the Koka language, a research programming language experimenting with the very neat idea of algebraic effect systems.
Untrusted
A Javascript roguelike where every level is deliberately unbeatable, and the player must edit the source code of the level in order to progress. Co-developed with Alex Nisnevich. An early version won first place in the Spring 2013 Berkeley CSUA hackathon. (code)
Asshole Transit Bureaucrat 2015
Entry for the Ludum Dare 33 72-hour game jam (theme "you are the monster"), where the player takes on the role of a corrupt public transit bureaucrat tasked with making the public bus system worse. Written in Elm.
Kalevala
A two-player tile-placing game inspired by the board game Völuspá by Scott Caputo. The frontend is written in Elm, the backend is a Haskell server. Co-developed with Alex Nisnevich. (code)
SNES Assembly experiments
Experiments in writing custom ROMs in the assembly language used by the Super Nintendo/Super Famicom/SNES.