/ About
Who am I?
I'm a passionate software engineer and adventurer who happens to be partially titanium. I've grown teams and built companies, transformed ideas into products, surmounted 14,000ft peaks, weathered Icelandic winter storms, and crisscrossed America from coast to coast and summit to sea level.
Whether we're building a new product together, leveling up a team, or exploring somewhere new, I've got the experience and expertise to see us through safely and successfully.
Every spork needs a sidekick. Let's team up.
So, what's with the sporks?
I've been known by the moniker doomspork for well over a decade. How it came to be is a long and not particularly exciting story, but the gist is: I like sporks and the idea of a comical clumsy cartoon super villain spork came to mind one day — a Spork of Doom, or doomspork.
The spork is a good representation of myself though: utilitarian and efficient.
And yeah, I actually use sporks.
/ Projects
From Minecraft mods downloaded millions of times to the Elixir ecosystem's most popular learning platform — if it's useful, I've probably built it with a spork.
Elixir School
CreatorTranslated into 30 languages and averaging over 10K visitors a week, Elixir School is the leading resource for learning the Elixir programming language.
Guardian
Core TeamThe go-to authentication and JWT library in the Elixir community.
Ueberauth
Core TeamIntegrate third-party OAuth into your applications with ease. Strategies for Google, Facebook, GitHub, and many more.
luagents
CreatorAgents that think in Lua code, inspired by smolagents. Bringing AI agent capabilities to the BEAM ecosystem.
cobblestone
CreatorA powerful data querying and transformation library for Elixir.
Minecraft Mods
CreatorCreated the original Auto Run mod and the first Server List mod, downloaded millions of times. The Server List inspired Mojang's official implementation.
Elixir Fountain
Co-hostThe Elixir community's source for news and updates via podcast.
Sheriff
CreatorA simple and intuitive authorization library for Plug-based applications such as Phoenix.
Slime-lang
CreatorThe Slim markup implementation and supporting libraries for Elixir.
Elixir-Companies.com
CreatorA collection of companies that currently use Elixir in production.
Enjoy the work? You can sponsor it.
/ Writings
Sometimes the spork has opinions. Find them on Elixir School and Utensils.
TIL: Persona-based Prompting
utensils.ioExploring how giving AI a persona leads to more personalized interactions and better results.
Staying Clean with Git Hygiene
utensils.ioPractical version control recommendations designed to improve team collaboration with tips teammates will appreciate.
Trigger GitHub Actions from another repository
utensils.ioA workaround for cross-repository workflow automation, addressing the lack of official GitHub support for triggering workflows across repos.
Going Static with NextJS and TailwindCSS
utensils.ioThe technical choices behind the Utensils website redesign, examining the rationale for selecting NextJS and TailwindCSS.
TIL about Process.send_after/4
elixirschool.comWant to schedule something to run later? Need a recurring task? Today we learn how!
Building web apps with Plug.Router
elixirschool.comWhen it comes to building a web application with Elixir many people will immediately reach for Phoenix. However, did you know Plug.Router is just as viable an option?
Umbrellas: only when it rains?
elixirschool.comA look at umbrella applications and how they can help us write cleaner maintainable code.
Ecto query composition
elixirschool.comFollow along as we look at how to dynamically compose Ecto queries using pattern matching and reduction.
Configuration Demystified
elixirschool.comWe attempt to clear up some confusion around configuration by looking at the different types, the roles they play, and a different approach we could take.
A look at Elixir 1.6
elixirschool.comA peek at the latest Elixir release including the all new code formatter, exciting dynamic supervisors, and editor changes.