Terminal-First: How I Build 60+ Client Ecosystems From Warp
I manage 60+ client ecosystems. I don't use Jira. I don't use Notion. I don't have a project management tool with 47 integrations and a monthly bill that costs more than my hosting.
I live in Warp terminal with Claude Code open. That's it. Everything else is a tool I built myself to make the next thing faster.
Why Terminal-First
Every GUI is someone else's opinion about your workflow. Every SaaS app is a tax on your attention. Every time you leave the terminal to click through a web app, you lose context.
Warp is the terminal that doesn't fight you. Blocks of output you can reference. AI built in but not in your way. Split panes. Command history that actually works. It's the cockpit — everything else plugs into it.
Claude Code sits in the terminal with me. It reads my project, understands the architecture from CLAUDE.md, and executes. I don't copy-paste code into a chat window. I don't describe what I want in a prompt playground. I say what needs to happen and it reads the codebase, writes the code, runs the tests, and commits.
The terminal is the IDE. Claude Code is the pair programmer. Warp is the shell that makes it all feel fast.
Building Tools That Reduce Token Usage
Here's what most people get wrong about AI-assisted development: they burn tokens explaining context that the AI should already have. Every conversation starts from zero. Every session is a cold start.
I spent time building the opposite — tools and systems that front-load context so every AI interaction starts warm:
CLAUDE.md per project
Every project has a context file. Architecture, conventions, commands, what to touch and what not to touch. Claude reads it first — no wasted tokens explaining the codebase every session.
Knowledge retrieval engine
A Rust CLI that walks my Obsidian vault's link and tag graph. Instead of stuffing an entire vault into context, it traverses connections and returns only what's relevant. Surgical context, not a firehose.
Auto-memory system
Claude Code's memory persists across sessions. I've trained it to save user preferences, project decisions, and feedback without me asking. Next session picks up where the last left off — zero re-explaining.
MCP servers as tool layers
Business intelligence, knowledge retrieval, even peer discovery between Claude instances — exposed as MCP tool-calling servers. The AI queries live data mid-conversation without me fetching and pasting it.
Multi-client scripts
One script updates 60+ client codebases. One script checks git status across all repos. One script commits and pushes everywhere. I don't open 60 terminals — I run one command.
Native menu bar monitors
SwiftUI apps that sit in my menu bar — one monitors Vercel deployments across all accounts, another tracks client task status. Colored dots tell me if something's broken without leaving Warp.
A Typical Session
Here's what a real work session looks like. No screenshots of VS Code. No Figma boards. Just terminal.
That's not a week of work. That's a session. The terminal-first approach with structured context means Claude doesn't waste tokens guessing. It reads, understands, and executes.
The Token Efficiency Loop
Every tool I build makes the next session cheaper and faster:
CLAUDE.md eliminates cold starts. No more "let me explain the project structure" every session. The AI reads the file and knows the codebase in seconds. That's thousands of tokens saved per conversation.
Memory persists decisions. "Don't use yellow." "Pricing is not public." "No npm packages — all local." Saved once, never repeated. The AI remembers across sessions.
MCP servers replace copy-paste. Instead of dumping data into a prompt, the AI calls a tool and gets exactly the data it needs. Surgical retrieval instead of brute-force context stuffing.
Sub-agents parallelize work. Instead of one long sequential conversation, spawn 3 agents working on independent tasks simultaneously. Same output, a third of the wall time.
Scripts replace repetition. If I do it twice, it becomes a script. Update 60 clients? One command. Check all git statuses? One command. The AI never has to do the same thing twice.
The result: I use fewer tokens per task than most people use per question. Because the system around it is doing the work that tokens used to do.
What I Don't Use
No VS Code. Claude Code in Warp is the IDE. The terminal reads, writes, and navigates faster than any GUI.
No Jira / Linear / Asana. Tasks live in the conversation. Claude tracks them with built-in task tools. Done when it's done.
No Notion / Confluence. Obsidian vault with Cortex retrieval. Markdown files, linked by tags, queryable by AI.
No ChatGPT / prompt playgrounds. Claude Code in the terminal, in the project directory, with the codebase loaded. Not a chat window.
No LangChain / CrewAI. CLAUDE.md + skill files + MCP servers. The agentic framework is a folder.
No Figma for wireframes. Built a Figma plugin that generates Highlander wireframes from a template selector. One click, full page layout.
Build the System Around the AI
The AI is powerful. But it's only as useful as the context you give it. Build the tooling. Structure the knowledge. Reduce the friction. Then the AI stops being a chatbot and starts being a factory.