crkayes
← Projects
Ariyes Office icon, a teal letter A on a dark square

Ariyes Office

Building

An AI workforce platform, where each company gets a private office staffed by AI employees

The Admin Control Panel overview, with platform status, the operator's session and company counts by status, using test data
Admin Control Panel overview, with test data
The companies registry with search, status filters and sorting, listing test companies
The companies registry, with test companies
A company's overview in the Admin Control Panel, with its identity, contact, status, domain and owners, for a test company
A company's overview, for a test company
The customer's Office workspace for a test company, waiting for its departments and AI employees to be provisioned
A customer's Office, before its departments are provisioned
Diagram of Ariyes Office, with the two surfaces and the automation engine, how an AI employee is assembled from six layers, and the default approval policy
A company staffed by AI, and the rules it runs by

Ariyes Office is a platform for running parts of a business with AI employees. Each customer gets a private virtual company: departments and rooms, AI managers and specialists, and the tasks, conversations, approvals, reports and history that come with them. You enter the company, open a department and talk to the manager in charge.

It's early. The foundation is built and tested, but Ariyes Office hasn't been deployed yet, and no AI employees are running.

Two surfaces

  • The Office is where a customer's team works. They see only their own company: its departments, AI employees, tasks, conversations, approvals and reports.
  • The Admin Control Panel is where Ariyes staff create companies, choose plans and departments, and set up each company's AI employees.

Both run on the same API and database. Workflows run in n8n behind a signed gateway, but n8n never holds the truth about companies, tasks or the audit trail. The platform does.

An AI employee is configuration, not a copied workflow

An AI employee is assembled from versioned layers:

  1. A template for a reusable role, like an affiliate manager or a sales researcher.
  2. The company's own employee, with its identity, job description, objectives, KPIs, schedule, reporting line, autonomy and limits.
  3. Capabilities bound to specific, approved workflow versions.
  4. Knowledge from the company's own sources.
  5. Connections to the company's accounts, referenced by secret and never copied.
  6. Guardrails: tool permissions, approval rules, budgets and escalation.

Shared capabilities serve every company. A company only gets a custom workflow when its process truly can't be expressed as configuration.

People stay in charge

The default policy is deliberately conservative:

  • Automatic: reading the company's records, researching the public web, saving and scoring leads, and drafting emails and replies.
  • Needs approval: sending a first email or a follow-up, publishing or changing an outside account, spending money, and deleting or bulk-changing data.
  • Always escalated: legal, pricing-exception and complaint replies. Anything behind a CAPTCHA is done by a person.

An approval covers the exact action and content. Editing an approved message cancels the approval.

How it's built

A TypeScript monorepo with a Next.js web app for both surfaces, a NestJS API on Fastify, and a worker for durable jobs:

  • Isolation: every business request runs inside the company's own row-level-secured PostgreSQL transaction, using one of seven least-privilege database roles.
  • One security boundary: every API route is declared as public, sign-in or business. An unclassified route never runs.
  • Durable work: tasks become jobs with attempts, leases, retries and an append-only event history, queued in PostgreSQL itself.
  • Untrusted input stays data: text from websites, emails and tools is never treated as instructions.
  • Sign-in goes through Keycloak, with two-step verification for sensitive actions.

There are 179 test files, including a browser suite that checks keyboard use, zoom, themes, screen sizes and WCAG 2.2 accessibility.

How it's being built

Two AI agents share the work, each with a clear role. Codex acts as architect and reviewer: it writes one numbered prompt per milestone, reviews the result, and writes a focused fix-up prompt when something isn't right. Claude Code implements each prompt and reports the exact results of its checks. I make the product decisions and accept each milestone. In the first six days that loop produced 27 prompts, 14 of them fix-ups after a review found something, and the newest ones are waiting for review.

The screenshots come from the project's browser tests, which run against test companies and test users.

Built with

  • Next.js
  • React
  • TypeScript
  • NestJS
  • Fastify
  • Drizzle ORM
  • PostgreSQL
  • pg-boss
  • Keycloak
  • n8n
  • Zod
  • Playwright
  • Docker

Changelog

  1. Gateway

    A signed gateway to n8n workflows, and files, evidence, knowledge sources and connections.

  2. Jobs

    Durable tasks and jobs with a worker that handles leases, retries, schedules and cancellation.

  3. Admin

    The Admin Control Panel's overview and companies registry, provisioning of departments, rooms and versioned AI employees, and the engine for policies, approvals and budgets.

  4. Security

    Row-level security and an audit trail for every company, one security boundary for every API route, and sign-in with the Office and Admin shells in light and dark themes, tested for accessibility.

  5. Identity

    The database foundation with least-privilege roles, then companies, memberships, roles and permissions.

  6. Foundation

    The monorepo, CI, Docker images, health checks and the first architecture decisions.

Posts about Ariyes Office

Started 25 Oct 2026