I'm an engineering lead at PepsiCo eComm. I work mostly in Elixir and on the BEAM, and build programming languages in my spare time.
I write at by-cha.se(under construction).
A statically typed functional language with an ML-style type system, Elixir-inspired syntax, actor concurrency, and module level capailities. Compiles to native code through LLVM.
I built the compiler, runtime, standard library, LSP, REPL, debugger, and package tooling. March uses Perceus reference counting instead of a tracing GC, along with an FBIP optimization pass that reuses uniquely owned allocations when possible and does a few other fun optimizations along the way.
March also targets WebAssembly and JS and can cross-compile Linux binaries from any host.
OCaml, C, LLVM
The package registry for March, with publishing, versioning, organizations, 2FA, and generated documentation.
ForgePM is written entirely in March, including its web framework, Postgres layer, S3 request signing, and Markdown renderer. The package manager also documents and library capabilities and capability diffs between versions.It's also where I tend to stress-test new language and standard-library features.
March, PostgreSQL, S3/R2
A reading app for language learners. Paste in an article link and get per-word definitions, translations, conjugations,a nd more. Saved words go into an FSRS study queue.
Article extraction and classification run in Rust NIFs, with LLM-generated quizzes and TTS for listening practice.
Elixir, Phoenix LiveView, Rust, Oban
Visit the site.
A backend-free podcast player for iOS 17+. Search uses Apple's iTunes API; episodes, chapters, and audio come directly from podcast RSS feeds and are handled on-device.
Swift, SwiftUI, SwiftData
Feature flags for Elixir with named variants, weighted sticky assignment, targeting rules, reusable segments, prerequisites, and scheduled rollouts.
Supports in-memory, Ecto, and Redis storage, with an ETS cache that invalidates across nodes and async-safe test support.
Elixir, Ecto, Redis
An Ecto adapter for Snowflake that we run in production at PepsiCo. Implements Ecto.Adapter, Adapter.Queryable, and Adapter.Schema over a pluggable transport.
Its native HTTP transport uses key-pair authentication and replaced our previous ODBC setup. It also supports query tagging and structured error metadata. I manage work on this repo and occasionally commit code.
Elixir, Ecto, Snowflake





