Case studies

AI systems our team built and runs

We try our methods on our own work first. Names, hosts, and data stay private. Each number below comes from the system itself, with the date it was measured.

  1. 01CRM with an AI sales assistant
  2. 02Data warehouse with an AI analyst
  3. 03SEO agent pipeline
  4. 04Content loop with a human editor
  5. 05Product hypothesis loop
  6. 06Applicant tracking with AI scoring
01
In production since September 2026

CRM with an AI sales assistant

Our own CRM with an assistant that summarizes deals, drafts follow-ups, researches leads, and proposes next steps for a person to approve.

The problem

Sales context was spread across a third-party CRM, email, chats, and call recordings, so the full history of a deal was hard to see in one place.

What people decide

Every action the assistant proposes waits for a person to apply or reject it.

What the AI does

  • Writes short deal summaries and morning and evening digests for the team chat.
  • Drafts replies and follow-ups inside the deal card.
  • Runs background research on a lead and attaches the findings to the deal.
  • Proposes actions, such as a task or a field change, that wait for a person to apply or reject them.

How it's built

  • A web app with an API, a mail poller, a call transcriber, and its own MCP server, so agents work with CRM data through typed tools.
  • The assistant calls an LLM through an internal gateway and has 13 tools, such as deal brief, find records, create task, and request research.
  • It runs on a schedule, on deal events, through automation rules, and when someone mentions it in the team chat.

How we check it

  • A fact-anchor validator lets the assistant praise only what appears in the deal context.
  • A tone gate with thresholds calibrated on 378 real messages from the team.
  • Automated checks run in CI before every production deploy.
2,777assistant messages since launch on September 9
738lead research tasks completed out of 1,087
64 / 28proposed actions applied and rejected by people, out of 282

Measured October 16, 2026. Related service: AI agents →

02
In production since September 2026

Data warehouse with an AI analyst

One warehouse for sales, marketing, finance, and delivery data, with dashboards and a chat that answers only from defined metrics.

The problem

Comparing a month with the same month in past years gave numbers that didn't match. Pipelines changed, systems were replaced, and web analytics sampled the data.

What people decide

People define each metric as a contract with SQL and an oracle check, and they confirm every new dashboard.

Known limit

Explaining why a number changed is the weak part, because only a small share of deals has a written reason.

What the AI does

  • Answers questions in plain language inside the BI tool.
  • Takes every number from a versioned metric contract through a parameterized query, not from free-form SQL.
  • Finds supporting quotes in sales conversations and call transcripts, and searches the internal wiki.
  • Drafts a dashboard from existing charts, which a person creates with one click.

How it's built

  • PostgreSQL with pgvector. Raw data lands unchanged, and units are normalized only in the marts layer.
  • 15 ingestion pipelines from 9 source types: CRM, search console, SEO platform, rank tracking, web analytics, ad accounts, accounting, task tracking, and the wiki.
  • Apache Superset for dashboards, with the chat embedded as a widget, and multilingual embeddings over masked text for search.

How we check it

  • The chat runs under a read-only database role with a 30-second statement timeout and no access to raw personal data.
  • Code, not the model, verifies each answer: every number carries the contract, version, and result hash it came from.
  • A sentinel checks that personal data masking ran before text reaches the search index.
15ingestion pipelines from 9 source types
11metric contracts with oracle checks
1,249 / 1,257contract checks passed, August 28 to September 17

Measured September 17, 2026. Related service: AI Data Analyst →

03
In production since September 2026

SEO agent pipeline

Agents that find content gaps, write briefs for copywriters, and critique drafts, with a specialist approving every brief.

The problem

A specialist wrote every brief for copywriters by hand and repeated the same research steps for each page.

What people decide

A specialist accepts each brief, returns it for edits, or rejects it with one button in the team chat.

What the AI does

  • Every 30 minutes, a discovery step looks for gaps against competitors and for pages ranking 11 to 30.
  • Machine gates check demand, intent, duplicates, and overlap with existing pages before a brief is written.
  • An agent writes the brief, and three gates check that it queried the SEO tools, that its structure is complete, and that it matches the live site.
  • Drafts go through four critics in parallel: fact check, AI-tell lint, voice, and format.

How it's built

  • 24 specialized agents for research, briefs, drafting, critique, publishing, and analytics.
  • The brief loop runs on a schedule on our own server and posts each brief with its review buttons.

How we check it

  • Gates are tested on real defects: a gate has to fail on a broken brief and pass on the fixed one before it goes live.
  • Cheap checks run first, so a person only sees briefs that passed every gate.
120brief candidates since September 22
54stopped by automatic gates before reaching a person
34briefs accepted by the specialist

Measured October 16, 2026. Related service: AI agents →

04
In production since October 2026

Content loop with a human editor

Agents draft and update articles, an editor comments on a review page, and the agent answers every comment.

The problem

An editor's comments on AI drafts fixed one article at a time, and the same mistakes came back in the next draft.

What people decide

The editor reviews on a page that renders like production and approves publishing. A script then publishes and checks the live page.

What the AI does

  • Writes an article or an update from an accepted brief and saves it as a draft.
  • Answers each comment with a status: fixed, declined with a reason, or superseded by the editor's own change.
  • Edits only the commented part, and untouched blocks stay byte-for-byte the same.
  • After publishing, a retro turns repeated comments into rules for the next drafts.

How it's built

  • Rules climb a ladder: a prompt rule, then a critic checklist item, then a deterministic lint.
  • The model writes text, and code makes every state change. Nothing leaves the loop without an explicit apply step.

How we check it

  • A rule becomes a lint only after it catches a real commented fragment in a red-green test and fires on at most 5% of the last 20 published articles.
  • 659 automated tests cover the loop's tools.
34editor rules in use, 9 of them confirmed
659automated tests

Measured October 16, 2026. Related service: AI agents →

05
Pilot since October 2026

Product hypothesis loop

A weekly loop that scans an extension store for product ideas, measures demand, and ranks candidates for a product owner.

The problem

Finding a product worth building meant reading hundreds of store listings and checking search demand for each one by hand.

What people decide

A product owner sets the niches and thresholds and picks the candidate. The loop only proposes.

What the AI does

  • Reads new listings in chosen niches and describes each product: the one job it does, who uses it, and how it earns.
  • A second, independent pass re-checks the one-job verdict. Disagreements are marked as disputed, not dropped.
  • Classifies which search results are software, so demand numbers count real competitors.

How it's built

  • Code collects listings, removes duplicates against the team's idea base, and filters by user count.
  • Code, not the model, measures search volume, difficulty, the top 10 results, and whether a name is taken. Measured facts overwrite the model's claims.
  • Deterministic scoring out of 50 and a demand gate of 1,000 searches a month.

How we check it

  • The model has no web access, no shell, and no credentials.
  • A canary query that must return results, budget caps, a stop file, and a dead-man check on another host.
  • Counts per bucket must add up to the input, so no candidate disappears silently.
5 of 29one-job verdicts changed between runs, which is why the second pass exists
390automated tests
9niches under watch

Measured October 16, 2026. Related service: AI agents →

06
In production

Applicant tracking with AI scoring

A hiring system with a candidate pipeline, interview analysis, and AI scoring of résumés against a role.

The problem

Hiring data was spread across job boards, résumé files, and interview notes.

What people decide

A recruiter imports candidates, moves them between stages, and records the reason for every rejection.

What the AI does

  • Scores each résumé against the role and explains the score.
  • Analyzes interviews from the meeting transcript.
  • Searches a job board: extracts requirements from the role, ranks results in a fast pass and a deep pass, and shows the top for review.
  • Exports an AI report to PDF or Word.

How it's built

  • A TypeScript API with schema validation, PostgreSQL, S3-compatible storage for résumés, and a React app.
  • A browser extension for one-click import, calendar and video integration for interviews, and signed webhooks for recordings.
  • Role-based access and an audit log. LLM calls use structured outputs with a strict JSON schema.

How we check it

  • Every AI result comes back in a fixed JSON schema at a low temperature, and a failed call is retried once.

Related service: AI features →

Next step

Want something like one of these?

Tell us which process it should run. A 30-minute call is enough to see what fits, what it would cost, and where to start. We reply within one business day.