Why I Built My Own Terminal
5 min read
Stickynotepickles
Why I Built My Own Terminal
I live in the terminal all day. SSH-ing into servers, editing configs, running scripts, jumping between a dozen different projects before lunch. It's just the nature of the work — if you're managing infrastructure and shipping code regularly, the terminal isn't a tool you occasionally open, it's the place you actually live.
For years I bounced between two tools that never quite fit right. Termius is paid, and the moment you outgrow the free tier you start feeling the walls closing in — host limits, sync limits, feature gates on things that feel like they should just be basic functionality. Warp, on the other hand, has genuinely great AI features and a slick interface, but it's heavy, resource-hungry, and honestly just not built with serious SSH-heavy workflows in mind. It feels like a general-purpose terminal that happens to support SSH, not a tool designed around it.
At some point, after enough context-switching and enough small annoyances stacking up, I got fed up enough to stop complaining and just build the thing myself. That became OrbiTerm.
What it actually is
OrbiTerm is an Electron app, built with React and TypeScript under the hood, using xterm.js for the actual terminal rendering engine. What started out as a simple goal — "I just want a decent SSH client that doesn't nickel-and-dime me for basic features" — slowly turned into something a lot bigger than a terminal replacement. Over time, feature by feature, it became closer to a full workstation for anyone who spends their day connected to remote servers.
Here's what's in it so far:
SSH host manager
Save all your servers in one place and connect with a single click, instead of digging through ~/.ssh/config every single time you need to jump onto a box. Organizing dozens of hosts across different clients and projects stops being a mental tax.
Encrypted keychain
Credentials are stored properly — encrypted at rest — instead of sitting around in plaintext config files waiting to become a problem down the line. Security wasn't an afterthought bolted on; it shaped how the whole storage layer was designed.
Built-in code editor
Powered by Monaco, the exact same engine that runs VS Code. You can open and edit a remote file directly, right inside the same window, without tabbing out to a completely separate editor and losing your terminal context.
File manager
Browse and move files on remote servers visually, for all the times you don't want to ls, cd, and scp your way through a directory structure just to grab or drop a file.
Split panes
Run multiple sessions side by side in the same window, so you're not constantly alt-tabbing between windows when you need to watch logs in one pane while actively working in another.
Built-in web browser
This one sounds like a strange thing to bolt onto a terminal app, but in practice it's one of the features I use the most. When you're deploying something and need to check the live site or glance at a dashboard mid-session, having a browser tab right there — instead of switching to a whole separate application — keeps you in flow instead of breaking it.
AI chat drawer
Ask questions about an error message, a flag you don't remember, or a command syntax you always forget, without leaving the app or opening a browser tab somewhere else to search for it.
Notebooks
A place to keep notes and snippets tied directly to the servers they're actually about, instead of maintaining a completely separate note-taking app just to remember which server does what, or which command fixed that one weird issue three months ago.
Workflows
Command chains you run often — deploys, log checks, restarts, whatever your repetitive tasks happen to be — saved and triggered with a single click instead of retyping them from memory or scrolling endlessly through shell history trying to find that one command again.
Team sharing
Multi-user support with proper authentication baked in, so you can share server access with a teammate or contractor without just handing them raw credentials over Slack and hoping for the best.
Themes
Because if you're going to be staring at this thing for eight-plus hours a day, it should at least look good while you do it. Small thing, but it matters more than people admit.
The actual win
Honestly, the biggest improvement to my day-to-day wasn't any single feature on that list above. It was eliminating the need to have five different apps open just to manage servers — Termius for SSH, VS Code for remote editing, a browser tab for the live dashboard, Notion for notes, and Warp whenever I wanted AI help debugging something. All of that context-switching adds up over a day, and now it all lives in one window instead.
Where it stands now
Still actively building on it, and it keeps growing in directions I didn't originally plan for. I just finished packaging it for the Snap Store, which turned out to be its own entire adventure with packaging quirks I wasn't expecting going in. I'm also going back and forth on whether to eventually open source it — haven't fully made up my mind on that one yet, still weighing it.
Sometimes the best tool you'll ever find is the one you get annoyed into building yourself.