What I build
I work on various SaaS products. Frontman is the centerpiece of my visual AI workflow - and the standout tool in my setup. Its strength is simple: the AI works with the interface that actually renders, not just guesses from source code.
Agents & harnesses
- Frontman (current): An open-source, browser-based coding agent. Select an element, describe a change, and it edits the real source with hot reload. Live DOM, computed CSS, component context, and server context make it an exceptional fit for visual frontend work.
- Pi (current): My terminal coding-agent harness, with file access, shell tools, skills, and MCP connections. It complements Frontman’s visual focus with repository-level coding work.
Apps
- Ghostty (current): My terminal for the command-line side of development.
- Helix (current): My editor/IDE alongside the AI tools.
- LM Studio (current): The local-model side of my setup.
Skills & agent instructions
- Ponytail (active): Pushes the agent toward the smallest correct change: understand the code first, reuse what exists, fix root causes, and leave a runnable check for nontrivial logic.
- Impeccable and frontend design skills (available): Add focused guidance for interface design, accessibility, polish, and visual review.
- Tiqet workflow skills (available): Support a shared task ledger and reviewed handoffs for multi-step agent work.
MCP connections
- Context7 (configured): Library documentation context.
- Sentry (configured): Error and issue investigation.
- Daytona, Search Console, and Resend (configured): Connections for development environments, search-performance data, and email operations.
How I work
The core visual loop is select → describe → edit → inspect. For a spacing or layout fix, Frontman starts from the element in the running app, uses its browser and source context to make the change, and hot reload exposes the result immediately. That direct connection between intent, code, and visible output is what makes Frontman so compelling.
Pi, Ghostty, and Helix cover the repository and terminal side around that loop. My agent instructions emphasize understanding the affected code before editing, keeping changes small, and checking the result—not building abstractions for hypothetical future needs.