Backend engineer with 15+ years of experience in software engineering, consulting, and pre-sales, delivering scalable solutions across finance, tech, retail, and government sectors for organizations ranging from startups to Fortune 100 companies.
Java and Kotlin specialist focused on backend development leveraging cloud infrastructure (AWS, OCI, Cloudflare), CI/CD automation, and trunk-based development.
Experienced in async, remote-first teams since 2012.
Graduated from Iowa State University in 3 years with a BS in Management Information Systems.
Follower of Jesus at The Austin Stone Community Church.
Outside of work: disc golf, bowling, snow skiing, games, movies, rock concerts.
- Why Your Team Doesn't Need Pull Requests
- The Art of Effective Code Reviews
- Group Decision Making Approaches
- Business Continuity
- More posts on my blog
- neul-labs/stout - Stout is a drop-in replacement for the Homebrew CLI that's 10-100x for most operations. (1 week ago)
- aquaproj/aqua-registry - aqua's Standard Registry (2 weeks ago)
- jdx/mise - dev tools, env vars, task runner (1 month ago)
- Kuberwastaken/claurst - Agentic Coding for Builders who Ship (1 month ago)
- jhult/recalldory - A learning memory system for AI coding assistants, written in Inko. (1 month ago)
- neul-labs/grite - The issue tracker that lives in your repo. Built for AI agents. Works for humans. (1 month ago)
- neul-labs/homebrew-tap - (2 months ago)
- jhult/inko-tantivy - Tantivy FFI bindings for full-text search in Inko. (2 months ago)
- jhult/inko-syntax-guide - A comprehensive guide to Inko 0.19.1 syntax and patterns, learned from building Inko projects. This guide focuses on commonly used patterns, gotchas, and best practices. (2 months ago)
- jhult/inko-emailparser - A comprehensive email parsing library for Inko, implementing RFC 5322 (Internet Message Format) and RFC 2045 (MIME). (2 months ago)
- aquaproj/aqua-registry (v4.534.0, 2 days ago) - aqua's Standard Registry
- jdx/mise (v2026.7.5, 2 days ago) - dev tools, env vars, task runner
- atuinsh/atuin (v18.17.0, 2 days ago) - β¨ Making your shell magical
- Kuberwastaken/claurst (v0.1.7, 5 days ago) - Agentic Coding for Builders who Ship
- jdx/hk (v1.50.0, 5 days ago) - git hooks and project lints
- rust-lang/mdBook (v0.5.4, 5 days ago) - Create book from markdown files. Like Gitbook but implemented in Rust
- gastownhall/beads (v1.1.0, 1 week ago) - Beads - A memory upgrade for your coding agent
- aaif-goose/goose (v1.41.0, 1 week ago) - an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
- objective-see/LuLu (v4.4.0, 3 weeks ago) - LuLu is the free open-source macOS firewall
- SimonHalvdansson/Harmonic-HN (v3.0.2, 1 month ago) - Modern Android client for Hacker News
- fix(link): use overwrite=true in upgrade/reinstall and surface conflicts on neul-labs/stout (1 week ago)
- fix(doggo): use github backend for v1.2.0 asset naming on jdx/mise (2 weeks ago)
- fix(mr-karan/doggo): add version override for v1.2.0 asset naming change on aquaproj/aqua-registry (2 weeks ago)
- fix(aqua): support doggo v1.2.0 asset naming in vendored registry on jdx/mise (2 weeks ago)
- fix(casks): show which app needs admin privileges and cache sudo for session on neul-labs/stout (3 weeks ago)
- fix(update): skip re-downloading index when already up to date on neul-labs/stout (3 weeks ago)
- fix: retry rename on Windows transient file locks during install on jdx/mise (1 month ago)
- Add MIT license on Renvect/X-Ray-Claude-Code-Interceptor (1 month ago)
- fix(link): detect broken same-package symlinks and add --overwrite flag on neul-labs/stout (1 month ago)
- fix(upgrade): sync state, deduplicate casks, and auto-repair on errors on neul-labs/stout (1 month ago)
- specstoryai/getspecstory - Install our local first extensions for your favorite AI IDE or Terminal Agent. Process your histories into reusable skills with Lore. Sync your conversations to the cloud. File issues and requests. (1 day ago)
- Owloops/claude-powerline - Beautiful vim-style powerline for Claude Code (2 days ago)
- jalaalrd/anti-ai-slop-writing - AI writing skill that eliminates detectable AI patterns. Works with Claude Code, Codex, Cursor, Gemini CLI, and 8+ other agents. (2 days ago)
- hardikpandya/stop-slop - A skill file for removing AI tells from prose (2 days ago)
- sabrogden/Ditto - Ditto is an extension to the Windows Clipboard. You copy something to the Clipboard and Ditto takes what you copied and stores it in a database to retrieve at a later time. (2 days ago)
- rynfar/meridian - Use your Claude Max subscription with OpenCode, Pi, Droid, Aider, Crush, Cline. Proxy that bridges Anthropic's official SDK to enable Claude Max in third-party tools. (3 days ago)
- smithersai/zmux - tmux-style PTY session multiplexer as a Zig package. Long-lived daemon owns sessions and PTY child processes; clients attach over UNIX-domain JSON-RPC. (3 days ago)
- prime-radiant-inc/serf - A non-interactive coding agent: give it a prompt and it reads, writes, runs commands, and searches code in a loop until the work is done, using native tool-calling across OpenAI, Anthropic, and Google models. (3 days ago)
- petergombos/contentdrip - (3 days ago)
- cpuguy83/crucible - (3 days ago)
Want your own self-generating profile page? Check out readme-scribe!




