← All work

AI systems engineering

AI assistant & workspace

An AI assistant and workspace for business.

Internal system built by Outermost

AI engineering · Business workflows · Web development

The mobile workspace.

View full-size screenshot →
Business workspace showing a fictional vendor enquiry with its linked source email and a conversation asking the assistant to prepare a reply.
The working interface, shown with fictional business records and adapted branding.

The workspace

The task, its context, and the next step.

Review source emails, manage open work, and prepare replies in one place. The connected assistant gathers context and tracks responses, with approval controls for consequential actions.

The web workspace keeps correspondence, documents, conversation, and drafts attached to the task. A messaging interface provides another way to work with the assistant, using the same underlying task records.

In the same workspace

Review the reply before sending.

The prepared reply keeps its recipient, subject, and message together. Approval applies to that version; edits require review of the updated content before sending.

The mobile reply review.

View full-size screenshot →
Reply review showing a fictional vendor email, the prepared response, and controls to confirm sending or return to editing.
The reply review step, shown with the same fictional business records.

From an enquiry to a tracked response

The workspace holds the source material and next step. The assistant prepares the reply; sending it requires approval of the exact content. Reply monitoring stays attached to the original task.

  1. RequestRead the source + task context
  2. PreparationDraft the next action
  3. ReviewApprove the exact reply
  4. Follow-upRecord the result + track replies

System architecture

Reasoning connected to controlled actions.

Selected interaction and provider paths
AI assistant and business workspace architecture Selected request path. A Next.js and React business workspace and a Telegram messaging interface connect to a Claude Agent SDK runner. The runner proposes typed actions to a separate TypeScript and Hono broker. The broker checks policy, requests human approval when required, and accesses Gmail and Google Calendar. Separate SQLite databases retain runner and broker state, including conversations, tasks, approvals and execution results. Background event intake and reply monitoring are omitted from this view. SELECTED REQUEST PATH INTERFACES REASONING ACTION CONTROL Actions Session state Results Provider calls Business workspace Next.js / React Tasks, drafts & human review Messaging interface Telegram Claude Agent SDK AI runner Context and tool selection Resumed conversations Restricted execution environment Action broker TypeScript / Hono Typed requests and policy checks Scoped provider access Human approval when required Bound to specific action content SQLite persistence Conversations, tasks & approvals Separate runner + broker databases Google services Gmail / Google Calendar External reads and controlled actions

The web workspace and Telegram connect to a Claude Agent SDK runner. A separate action service validates requests, applies approval rules, and connects to providers. SQLite preserves conversation and work state.

Providers and responsibilities
  1. Business workspace · Next.js / React

    Source emails, task conversations, documents, drafts, and approvals are available in the web interface.

  2. Messaging interface · Telegram

    Messages provide another route into the assistant and its task records. Approval decisions can also be made through Telegram.

  3. Anthropic · Claude Agent SDK

    Conversation sessions resume across turns. The reasoning layer works in a restricted execution environment.

  4. Action broker · TypeScript / Hono

    Validated action definitions, scoped access, and approval rules control provider calls. Provider credentials are held outside the agent sandbox.

  5. Google services

    Gmail supplies correspondence and draft/send actions. Google Calendar provides calendar reads and controlled changes through the broker.

  6. SQLite

    Separate stores retain conversations, tasks, draft revisions, approvals, and execution results. Work records persist beyond the current chat.

The runner handles reasoning; the action broker controls access to external services. Conversation state and work records live in separate SQLite databases. Background event handling and reply monitoring support work beyond an individual turn.View the full diagram →

Engineering decisions

Keep context, control, and outcomes together.

Keep the work with its context.

Task records link source correspondence, documents, conversation, and draft revisions. The workspace and messaging interface use the same underlying records, so the next interaction can continue from the work already done.

Control actions outside the model.

A separate broker validates requests and applies action-specific permissions. Sending a reply requires approval tied to its exact content; changing the draft invalidates the earlier approval.

Record outcomes before moving on.

Action results and provider checks are saved separately from conversation. Reply monitoring assesses new evidence against the request. A sent message does not automatically mark the underlying task complete.

Contact

What would you like to build or improve?

hello@outermost.us