// Hi, I'm John Freeman
// I build things, break things, and make them better.
const profile = {
location: "Lakeland, FL",
blog: "eloquentarchitecture.com",
site: "johnfreeman.dev",
twitter: "@johnfreemandev",
philosophy: "Build tools that get out of the way"
}voyager - A remote script execution engine built specifically for safe agentic control
rust
hammerhand - Cross platform native desktop application for managing processes. Processes can share ENV vars and config through Projects. Processes can be executed once manually, in a loop, or on a schedule.
rust process-manager gpui
viewscreen - Viewscreen allows you to easily read streamed JSON while running Claude Code in non-interactive mode
go bubbletea tui
beacon - Distributed API monitoring that scales horizontally without limits. Built on Temporal workflows for bulletproof reliability and exactly-once execution guarantees
go temporal distributed-systems
pathfinder - Enterprise data synchronization pipeline powering real-time AI inference workloads. Kafka streams meet Temporal's durable execution for rock-solid data flows at scale
go kafka temporal ai-inference internal
datatouille - Beautiful database TUI that makes exploring your data a joy. Built with Bubble Tea because terminals deserve nice things too
go bubbletea tui database
I build CLI tools because GUIs are where good ideas go to get complicated. My tools follow three rules:
- Do one thing well - No feature creep
- Stay out of the way - Tools should enhance, not obstruct
- Be composable - Unix philosophy wins
rust > go > typescript
Why? Go for simplicity. Rust when I need to squeeze performance. TypeScript when the web calls.
- 🌐 johnfreeman.dev
- 📝 eloquentarchitecture.com - Where I write about breaking and fixing things
- 🐦 @johnfreemandev
"The best code is no code. The second best is code that deletes itself."






