What Probeo Is
Probeo is a website observability platform for large sites. It crawls every page, every run, extracts 200+ signals per page — SEO, security, accessibility, performance, content intelligence — and surfaces governance violations and revenue leaks before they compound. It has paying customers. More in the pipeline.
The company runs solo. Claude Code and Codex are the AI coding tools. DNA, ZeroMCP, and Husk are the infrastructure that makes solo operation possible.
The Engineering Day
Probeo's codebase is a monorepo with 12 internal packages: crawler, viewer, content pipeline, research pipeline, performance analysis, observability reports, and six open source libraries (anymodel, fast-a11y, anyserp, workflow, and two more). The stack is TypeScript on AWS (ECR, Lambda, SQS, Batch, multi-region) for the crawler and Cloudflare (Workers, Pages, R2) for the viewer and website.
DNA loads the context
Claude Code starts a session. DNA has already loaded. The Probeo brain is a git repo with directories for product, engineering, customers, marketing, sales, finance, and advisors. Each directory has a CLAUDE.md. Each customer has a subdirectory.
When Claude opens the crawler repo, it knows: functions must be 20-30 lines max, ESM only with .js extensions required, queued file I/O through ctx.fs and never bypassed, probeo-core builds first. It knows the pipeline architecture. It knows which customer issues are active and what's blocking them.
Switch to Codex for a different task. Same brain. AGENTS.md stays in sync with CLAUDE.md through DNA's /push command. The architectural decisions, the coding conventions, the customer context. Both tools read the same truth.
ZeroMCP connects the services
Probeo touches 18+ external services daily. Stripe for billing. Attio for the CRM. GitHub for repos, issues, PRs, and release traffic. Google Workspace for Sheets, Docs, Drive, Gmail, Calendar. Plus Jira, Linear, ClickUp, Notion, AWS, Cloudflare, Vercel, Netlify.
Before ZeroMCP, each service was a separate MCP server process. 18 processes. Orphaned Node processes surviving terminal closes. Credentials in plaintext JSON configs. 14GB of RAM consumed by zombie processes. Adding a connector meant editing JSON, getting the path right, restarting Claude Code, debugging why it didn't load.
During development, Claude Code can check a Stripe subscription, look up a customer in Attio, review a GitHub PR, and search Google Drive without switching tools or managing connections. One tool surface.
Husk is the terminal
The switch from Ghostty to Husk happened the week of April 7, 2026. Ghostty is a well-regarded native GPU-accelerated terminal. Choosing Husk over it is a real signal, not loyalty.
A typical development session means running the crawler, the viewer, customer work, and open source development simultaneously. Multiple terminals, multiple Claude Code sessions. Husk's status bar shows what Claude Code is doing in each session, how much context window is consumed, and what's running across all sessions. That visibility matters when you're the only person watching all the processes.
Husk is the development environment for building Husk. The terminal is its own development environment.
The Business Operations Day
The same three tools handle the non-engineering half of the company. This is where the stack earns its name as infrastructure, not just a developer tool.
Billing and subscriptions
Stripe handles billing. Through ZeroMCP's Stripe connector, Claude Code can pull up a customer's subscription status, check invoice history, look at charge details. No switching to the Stripe dashboard. No logging in. The query happens inside the same terminal session where code is being written.
When a new customer comes on, the billing setup happens through the same tool surface. Create the customer, set up the subscription, confirm the invoice. All through MCP tools, all with DNA providing context about the pricing model and account terms.
NDAs and agreements
Customer agreements and NDAs live in the brain. DNA's legal skill pack provides 6 templates.
When Claude Code drafts an agreement, DNA provides the company context automatically: entity type, trust structure, standard terms. The AI doesn't need to be told these constraints every time. They're in the brain.
Document search and email
Google Workspace is connected through ZeroMCP: 24 tools covering Sheets, Docs, Drive, Gmail, and Calendar. "Find the Q1 memo I sent the CMO" is a query Claude Code can answer without opening a browser. "What did the customer say about the content pipeline?" pulls from email.
This matters for a solo founder because the alternative is context-switching between 6 browser tabs, 3 apps, and 2 terminal windows to find one piece of information. The MCP connector surface makes the search happen where the work happens.
Customer communications
A single customer has 6 contacts across decision-making, content, engineering, and executive roles. Each gets different communications. The decision-maker gets high-level impact reports. Engineering contacts get technical implementation details. The content lead manages the approve/reject workflow for rewrites.
The Voice Layer
DNA holds the brand voice guide for both Probeo and Antidrift. When Claude Code writes anything — customer-facing or internal — the voice is already loaded.
For Probeo: direct, technical, no fluff. Observability, drift, governance, system health, revenue impact. No "boost your rankings." No "dominate search."
For customer communications: AP Stylebook primary, no em dashes, no adverbs, no prohibited buzzwords. Customers with their own editorial style guides get those layered on top. The AI output guardrails are enforced in the content generation layer and in every ad hoc email draft.
When the founder writes a cold outreach email, a customer memo, an NDA cover letter, or a LinkedIn post, the voice is already there. When the content pipeline generates rewrites across thousands of customer pages, the voice is there. One person's voice, applied consistently across every output.
What a Day Looks Like
Morning. Open Husk. Three terminal panes: crawler development, viewer development, and business operations. DNA is loaded in all three. ZeroMCP is serving 280+ tools through one process.
Check a customer's site health through Probeo's own crawler output. Draft a technical summary for their engineering contact. DNA knows the role. The email is scoped without specifying it.
Switch to the content pipeline. The v2 work needs fact research integration via anyserp, SERP gap injection, and a review workflow through Google Docs. Claude Code has full context on the pipeline architecture, the editorial style, and what shipped in v1. No ramp-up.
Check Attio for the sales pipeline. A prospect re-engaged. Draft prep notes for warm intro calls. DNA knows the advisor relationships, the deal history, and the company's position on VC money.
Invoice goes out through Stripe. Customer question comes in through Gmail. An NDA needs a revision. A GitHub issue needs a response. Husk shows all sessions. ZeroMCP connects all services. DNA provides all context.
One person. Not because the work is small. Because the tools compress what used to require a team into a workflow that one person can operate without losing context between tasks.