I'm an engineering manager at Very Good Ventures, the creator of Chickensoft, and a board member of the IGDA Twin Cities. I care about open source, enjoyable architecture, and the idea that making games and apps should actually be fun.
I love everything people, game dev, compilers, native and mobile apps, NLP, music production, etc.
Lately, I've been working on a little toy called Cow. Cow is a terminal-based program that runs local AI models on your machine. Built in Dart with FFI bindings to llama.cpp, it supports reasoning, tool use, and a beautiful TUI. Cow is not very smart or useful yet, but we'll see how far we can take it.
cow_demo2.mp4
I created Chickensoft in 2021 as a home for my Godot + C# experiments. Over time, it has evolved into a grassroots community for Godot + C# developers and a suite of open source packages. Today, Chickensoft is a volunteer organization with a team dedicated to furthering Godot + C# development.
Chickensoft kicked into high gear when I wrote It's time to make that indie C# game in Godot — it had a little moment on Hacker News which helped kick off the community as we know it today.
| Project | What it does | |
|---|---|---|
| 🕹️ | GameDemo | Fully tested 3D game built with Godot + C#. |
| 🤖 | GodotEnv | Manage Godot versions & addons from the CLI on every platform. |
| 🧱 | GodotGame | C# game template with CI/CD, testing, and overage. |
| 💡 | LogicBlocks | Hierarchical, serializable state machines that generate diagrams as you code. |
| 💉 | AutoInject | Reflection-free dependency injection for Godot node scripts. |
| 🚀 | setup-godot | GitHub Action to run Godot headlessly in CI/CD. |
| 🧪 | GoDotTest | Test executor for Godot and C# — debug from VSCode, collect coverage, run from CLI. |
| 🔮 | Introspection | Build-time mixins & metadata generation for AOT-safe reflection. |
| 📦 | Serialization | Serializable models with AOT support and System.Text.Json compatibility. |
...and many more — save file systems, native platform extensions, logging, collections utilities.
I ported architectural patterns from React/Flutter/Vue to Godot's scene tree and wrote about it extensively. The result is what I affectionately refer to as Enjoyable Game Architecture — a modular, testable, and consistent approach to building games. I created the Chickensoft Game Demo to accompany the blog.
| When | Where | Talk |
|---|---|---|
| 🎙️ Dec 2024 | Nice Games Podcast | Serialization — Saving, loading, and why it's harder than you think |
| ☁️ Apr 2024 | Google Cloud Next 2024 | Build AI-Powered Games with Gemini and Flutter |
| 🎮 Mar 2024 | Minneapolis Game Dev Meetup | Making It Fun to Make Games With Godot & C# (The Chickensoft Story) |
| When | Where | Article |
|---|---|---|
| Jun 2024 | Chickensoft | Serialization for C# Games |
| Dec 2023 | Chickensoft | Enjoyable Game Architecture |
| Nov 2021 | VGV Blog | How to Use Bloc with Streams and Concurrency |
| Jun 2022 | Medium | It's Time to Make That Indie C# Game in Godot |




