I've spent the better part of a decade living inside terminals. SSH sessions into production boxes at 2am. Tailing logs across a dozen services. Bouncing between databases trying to figure out why something that worked yesterday doesn't work today. Terminals are where I live.

And almost all of them feel a little buggy. iTerm2 is the exception, but it's Mac-only. On Windows, every terminal I've tried has weird copy/paste quirks or downright bizarre usability issues that make you wonder if anyone on the team actually uses it daily.

The Problem Nobody Talks About

Here's the thing about terminal apps in 2026: they all make you choose. You want AI? Cool, sign into Warp with your email and let them phone home with telemetry. You want something that works properly on Windows? Good luck — most terminal developers treat Windows like an afterthought, if they think about it at all. You want database connections built in? That's a separate app. SSH management? Another app. Redis? Another one.

I had six tools open to do what should be one workflow. A terminal. A database GUI. An SSH manager. A Redis client. An AI chat window. A text editor.

That's insane.

I wanted a terminal that:

Nothing like this existed. So I built it. I called it Yaw.

A Decade of Frustration, Compressed

I'm not a junior developer who got lucky with a weekend project. I've been doing DevOps and SRE work for years — the kind of work where you learn exactly what terminal workflows actually look like in practice, not what some product manager imagines they look like. Every architectural decision I made came from years of being the end user.

That domain knowledge is the part that took a decade to accumulate. It's also the part AI can't replace. But AI absolutely changed the math on everything else.

Claude Code Changed How I Work

I need to be honest about this because the internet has a bad habit of either overhyping AI ("I built a SaaS in 20 minutes!") or dismissing it ("it just writes bugs"). The reality is somewhere in the middle, and the middle is still transformative.

I used Claude Code throughout the entire build. Here's what that actually looked like day to day.

Where it was incredible: Scaffolding. When I needed to wire up a new database connection type, I didn't have to go read driver documentation for two hours. I described what I needed, Claude Code generated the integration, and I refined it. The boilerplate-to-thinking ratio shifted dramatically. Instead of spending 70% of my time on plumbing and 30% on decisions, it flipped. I spent most of my time making decisions and Claude handled the wiring.

The CLAUDE.md trick: Early on I started maintaining a CLAUDE.md file in my repo — basically a living document that describes the project's architecture, conventions, patterns, and decisions. Every time I'd work with Claude Code, it had this context. And it got better over time. Eventually Claude Code understood my codebase's patterns well enough that its suggestions actually matched how I'd write the code myself. This file became a competitive moat I didn't expect. The more I built, the smarter the AI assistance got, the faster I could build. A compounding loop.

Where it fell short: The decisions that mattered most. Which features to include and which to cut. Whether to require sign-in or stay anonymous. How the AI integration should feel — not just work, but feel right in a terminal workflow. These aren't code problems, they're product problems, and they come from years of being the frustrated user. No AI has that scar tissue.

The Stack (And Why Electron Isn't the Enemy)

Yeah, I used Electron. I can already hear the comments.

Here's why: xterm.js is the most battle-tested terminal emulator on the planet. VS Code uses it. Millions of developers use it daily without knowing. It handles Unicode, ligatures, truecolor, mouse events — all the stuff that takes years to get right in a native implementation.

And node-pty with ConPTY gives you real, native terminal process management on Windows. Not a shim. Not WSL pretending to be a terminal. Actual ConPTY support that makes Windows feel like a first-class platform. Copy and paste just works — which sounds ridiculous to brag about, but if you've used terminals on Windows, you know.

Could I have gone native? Sure. I'd also still be working on it months from now, fighting platform-specific rendering bugs instead of shipping features that matter.

The rest of the stack is React, Zustand for state management, Vite for builds, and Electron Forge for packaging. Nothing exotic. I didn't need exotic. I needed fast, reliable, and cross-platform on day one.

What "No Sign-In, No Telemetry" Actually Means

This isn't a marketing slogan. It's an architectural decision.

When you use AI in Yaw, the API calls go directly from your machine to your AI provider. Claude, ChatGPT, Gemini, Grok, Mistral, Bedrock, OpenRouter, HuggingFace — nine providers, you bring your own keys. Or run models locally with Ollama where nothing leaves your machine at all. Either way, the request never touches my server. I never see your prompts. I never see your responses. I have no infrastructure to log them even if I wanted to.

There is no account system. There is no user database with your email in it. There is no analytics pipeline watching what commands you type. This isn't because I'm too lazy to build those things. It's because I think the current model of "give us all your data in exchange for using our app" is broken, and developer tools especially should not work that way.

Your terminal sees everything. Every command, every password you type, every SSH session, every database query. A terminal app that phones home with telemetry is a terminal app you shouldn't trust.

The Hard Parts AI Couldn't Solve

Not everything was smooth.

Updates. Getting the update process dialed in across three platforms was a surprisingly deep rabbit hole. It sounds simple — check for new version, download, install. In practice, every platform has different expectations for how apps update, and getting it to feel seamless instead of janky took more iteration than I expected.

Software detection. Yaw detects installed software and makes it easy to install tools like AI CLI utilities across all platforms. Sounds straightforward until you realize every tool can be installed five different ways into five different directories depending on the platform and package manager. Accounting for all of that without breaking on edge cases was tedious, unglamorous work that AI couldn't shortcut.

Organizing the chaos. Where does every feature live? What keyboard shortcuts make sense? When you're building a tool that combines a terminal, database client, SSH manager, Redis client, and AI — the UX decisions multiply fast. There's no right answer, just a lot of "try it, use it, realize it's wrong, move it."

Knowing what NOT to build was harder than building. I shipped at least five features that I ended up ripping out entirely. AI makes it dangerously easy to add things. You describe a feature, it materializes in an hour, and suddenly you've got scope creep disguised as productivity. The discipline to kill your own work is entirely human.

Shipping Fast Isn't Just About the First Version

One thing I didn't anticipate: the speed advantage doesn't stop at launch. An early user asked if I could add AWS Bedrock as an AI provider. I shipped it in three hours. Not three days. Not "we'll add it to the roadmap." Three hours from request to release.

That's what happens when you have deep knowledge of your own codebase, a well-maintained CLAUDE.md, and no layers of process between a user request and a deploy. The early feedback from DevOps engineers and SREs has been exactly what I hoped for — people who get it, who've been waiting for a tool that respects how they actually work.

What I Actually Learned

A solo developer with deep domain knowledge and AI tools can now ship what used to require a team and months of runway. That's not hype. I did it.

But the takeaway isn't "AI replaces developers." The takeaway is that the bottleneck has shifted. It used to be "can you write the code?" Now it's "do you know what to build and why?" Domain expertise, taste, and architectural judgment are the scarce resources now. The typing is the easy part.

If you've been sitting on an idea for a tool you wish existed, the calculus has changed. The gap between "I wish this existed" and "I built it" has never been smaller. And once you ship, you can iterate at a pace that keeps up with your users instead of making them wait.

Building Yaw with Yaw helped me realize this, experience it, and hopefully now extend that ability and experience to others.


Yaw is free to download

No sign-in required. Install from PowerShell:

irm https://yaw.sh/install-win.ps1 | iex

All platforms →

Related Articles