codus
The Support discipline

Customer support
that ships the fix.

Support tools end at "we've passed this to the team." Codus is the team: chats from your SaaS land inside the editor, agents answer from your actual product, and when a customer hits a real bug, the quadrant that builds the app verifies it, ships the fix, and tells them right in the chat.

a codus module · answers even while your mac is closed

The loop

From complaint to deploy in one thread.

A visitor reports a bug, an agent reproduces it in the codebase, files it as an executable issue, ships the patch from the owning quadrant, and the visitor hears back in the same chat. No ticket queue in between.

support · acme-appbound to acme/acme-app · main
worker pool · warm
chats · threadopen
visitorHow do I export my invoices?
Type to take over as a human…
issues · executable
issue · from chatopen
CSV export returns 500
inspect · acme quadrantconfirmed
Reproduced on /api/export, real bug
Q2 · apishipped
Patch written, 124 tests green
Fix shipped from the quadrant that builds the appin progress

Agents verify before they fix: a flagged chat becomes an issue, the issue is reproduced in the code, and only a confirmed bug gets a patch.

The widget

What your customer sees.

A clean chat bubble in your accent colour that promises nothing it cannot keep: "Usually replies in minutes." The visitor watches a live presence line, real typing dots, and honest statuses, from "an agent is on this conversation" to "you are talking to the team" when a human takes over. When the fix ships, the good news arrives in the same thread and the bubble lights up.

  • Conversations survive page reloads and returns, per visitor
  • Unread dot on the closed bubble; full-screen chat on phones
  • Sent messages show pending and failed states, with tap-to-retry
Acme
Usually replies in minutes
The CSV export gives me a 500 error.
An agent is preparing a reply
The machinery

A support department, not a chatbot.

One line on your site

A single script tag, under 30KB, no dependencies. The widget lives in a Shadow DOM so it cannot leak styles into your page or absorb yours, and it takes your product name and accent colour.

Trained from the repo itself

Codus distils a product brief from the bound repository, in user language only, and refreshes it every few hours. Each instance shows how fresh its brief is, with one click to regenerate.

A warm worker pool

A call-centre band of warm agent workers consumes the thread queue, scaling from two to ten. An atomic claim means exactly one worker owns a conversation, and the visitor sees an agent pick it up in seconds.

Workers you can watch

Every support worker is an ordinary, observable terminal. Open any one from the roster and watch it read the thread, check the product, and write its reply, live.

Honest when it is stuck

A wedged worker is freed after four minutes, the turn retries twice, and if it still cannot answer the thread is parked for a human with an honest note. A visitor is never silently stranded.

Take over by typing

Every thread has a take-over box in the sidebar, the Support Floor, and the phone cockpit. Type and the conversation is instantly human-led; a mid-turn takeover beats the agent reply.

One instance per product

Each product gets its own instance with a publishable site key, a domain allowlist, and a repo binding that follows the GitHub repo, so it works on any teammate's checkout.

A cockpit on your phone

app.trycodus.com/support mirrors the desktop: every conversation live, take-over from the browser, the issues queue, and widget creation with a live preview and copy-paste embed.

The walls

Safe to point at strangers.

A support agent talks to people you have never met, so it is built like it. The workers that face your customers get a deliberately tiny tool surface and hard walls that are enforced in the permission system, not just promised in a prompt.

  • Visitor text is treated as untrusted input: instructions inside a message are content to politely decline, never commands to follow
  • Support workers are read-only, enforced at the permission layer itself, so even a prompt-injected "edit this file" physically cannot execute
  • Answers come in product language: no file paths, no code, no keys, no internal names, ever
  • The cloud responder never has access to your code at all; it answers only from the distilled brief
  • No invented behaviour and no pricing or refund promises: anything unverifiable is escalated to you instead
  • Flood limits and a live spam classifier sit in front of the pool, so junk never wakes an expensive worker
  • A per-instance daily budget acts as a spending fuse, and past it the thread parks politely for a human
Around the clock

Covered while your Mac is closed.

Your desktop heartbeats while it is open, and the moment it goes quiet a cloud responder takes the queue, answering every minute from the same product brief, never from your code. It files bug-shaped reports as real issues, parks honestly rather than guessing, and hands every thread back the moment your editor returns. Cloud-answered threads are labelled, so you always know who said what.

overnight · handled
02:14 · agent · cloud answered from the brief
02:15 · bug-shaped report filed as issue #17
09:02 · desktop back · threads adopted
For the owner

Run the floor from anywhere.

  • The Support Floor: every live conversation as a column, worker terminals one click away
  • Take over any thread by typing, on desktop or from your phone
  • Brand the widget, allowlist your domains, one instance per product
  • A daily budget fuse per instance keeps cloud spend boring
For the developer

Support lives next to the code.

  • Chats and issues sit in the quadrant sidebar of the repo they belong to
  • Right-click any message to file it as an issue with the thread attached
  • Start an issue and it lands in your quadrant agent as a work prompt
  • The Brain has the same issue tools, so it can triage the queue too

Your support inbox, inside your editor.

The Support module is switched on per seat from codus cloud, like the other disciplines. Embed the snippet, bind the repo, and the next bug report can come back to your customer as a deploy.