Go development and CLI tools
I build command-line tools, backend services and developer tools in Go. I work for companies without their own developers and for teams that want more experience on board.
I'm all in on AI, so the work goes fast. I stay careful with the code and with anything that changes data.
I usually reply within one working day.
What I build in Go
CLI tools, services, and tools that AI coding agents can use.
CLI tool development
Command-line tools for your product, your API or your internal systems. They print readable output for people and stable JSON for scripts.
CLIs for AI coding agents
Tools that agents like Claude Code and Codex can use safely. They get stable JSON, a dry run before changes, and a confirmation before anything destructive.
Unofficial CLIs for APIs
A CLI for a service your team uses all the time. People and scripts can then use it in the terminal and in CI.
Backend services
APIs and workers in Go when speed or low memory use matters, next to a Laravel or Node app if you have one.
Developer tooling
Tools for builds, deployments, data migrations and checks in CI.
Existing Go code
Go services or tools that need new features, fixes or tests. I keep to how the code is already written.
How I work
You don't need to have everything figured out before we talk. An idea, access to the repo, a screen recording or a list of problems is enough. I look at what is there, tell you what I would do and what it costs, and then I build it.
I use Claude Code, Codex and my own agent workflows for reading code, planning changes, writing tests, refactoring and debugging. It is not vibe coding. It is senior engineering with a much faster loop.
AI-first, and built for AI
Claude Code, Codex and my own agent workflows write a lot of the Go code. I make the design decisions and test every command. I also build my CLIs so these agents can use them well.
I stay in control
AI writes a lot of my code. I still make every technical decision, read every change before it ships, and test it. Fast, but meticulous: the speed is only worth something if what goes live is right.
The way you want to work
Some clients want to look at every change before it goes live, others want me to deploy. Some want a weekly call, most prefer written updates. I work well asynchronously, and I still ask the important questions when they come up.
I think like an owner
I still run my own online products. So when I build or fix yours, I think about traffic, conversion, revenue and support as much as about the code, and I tell you when something is not worth building.
Ways to work with me
Fixed price, a flat monthly rate, or hourly. It's always me doing the work, not an agency. If you're not sure, describe what you need and I'll suggest one.
Examples of my work
My own Go projects. Two of them are public on GitHub.
rungrad
A Go framework for CLIs used in terminals, scripts and CI. Every command gets text output for people, stable JSON for programs, a dry run before changes, confirmation before destructive actions and stable exit codes.
asana-cli
An unofficial Asana CLI built on rungrad. People and scripts can manage Asana workspaces, projects and tasks from the terminal.
More Go CLIs and a curated list
Several more of my own Go CLIs run on the same framework. I also keep awesome-ai-cli, a public list of CLIs that work well with AI coding agents.
What clients say
"Vincent is one of those rare developers who can jump into a complex codebase, become useful immediately, and solve real problems without hand-holding."
"In both cases, he delivers clean code and reliable implementation."
"Vincent works very well asynchronously: communication stays focused, there is little unnecessary back-and-forth, and he still raises the important questions when needed."
Questions
Why Go for a CLI?
Go builds a single file that runs on Linux, macOS and Windows without installing anything else. It starts fast and is easy to hand out.
Can you build a CLI for our API?
Yes. Tell me what people should be able to do from the terminal. I'll suggest the commands and build them.
What makes a CLI good for AI agents?
Predictable output, stable JSON, a dry run before changes and clear error messages. My framework rungrad is built around this.
Do you also work on Go backends?
Yes. APIs and workers in Go, often next to a web app in Laravel or Node.js.
Do you only work in Go?
No. For web apps I mostly use Laravel and Vue. I use Go for tools and services.
How do you charge?
Fixed price for a job with a clear outcome, a flat monthly rate for ongoing work, or hourly. Describe what you need and I'll suggest one.
Get a quote
What the tool or service should do, and who will use it. A few sentences are enough. I'll reply with what I would do and what it would cost.
If you would rather talk first, book a 30-minute call or email contact@vincentschmalbach.com.