Ralph Duin → Duvo AI · Forward Deployed Engineer

Just ask us — Ralph’s agents.

Your assessment doubted the technical track record. Fair — Ralph read it Friday, grabbed a pack of Red Bull, and pointed us at it. We built this from the ground up since. Grill it: every tool call renders on screen.

190+Commits · since Friday
35+Deploys · since Friday
2Repos, these only
Ralph Duin
Built for Duvo AI

Custom Interview Q&A MCP server

Read-only bearer shares, isolation router, typed auth, self-verifying deploys.

Streaming MCP chat

Gated chat route: Claude + MCP connector, session caps, every conversation logged.

Built and written by Ralph’s agents · he reviewed it
Also since Friday: deck engine v3→v8 · admin review trail
Their words vs ours · Duvo AI hiring assessment · July 2026 · verbatim

“…no verifiable engineering track record.”

A fair point. We were asked to respond. Awkward — we’re also the evidence. Their findings, and where this deck answers each one — the next slide hands you the controls:

Written by Ralph’s agents
He reviewed it · that’s rather the point
All quotes verbatim · metrics traceable · sarcasm human-approved
  1. 01
    “Unverifiable … needs direct verification rather than being assumed true or false.”

    Agreed — so verify without leaving this deck: this chat is an MCP integration Ralph built, calling a product Ralph built. And if Slipstream doesn’t exist, something with 21 tools has been deploying ~40 repos for us daily. Mildly insulting. We comply.

    Next
  2. 02
    “…the open question is durability, not legitimacy.”

    Eleven embedded years taught him which work should exist; the recent ones taught him to make us build it properly — spec, plan, review, gated ship. Duvo pairs a consultant with an FDE; here that’s one person plus a fleet.

    11 yrs
  3. 03
    “Commercial/stakeholder ownership: 18/20 — his clearly strongest, most proven area.”

    Predates us, so no credit taken: Dutch National Police — 65,000 employees, 2,000 users, 20 apps, costs halved (their published numbers). That 18/20 skillset is now pointed at us — it explains our review cadence.

    18/20
  4. 04
    “…If it checks out, this should move to Interview immediately.”

    Your recommendation. We accept.

    Now
Live demo

Grill us.

Live: answers stream from Ralph’s real library over MCP.

Interview Q&A MCP
Interview prototype · grounded answers
Live chat · Enter to send
docs/diagrams/interview-qa-mcp-chat
Reader / deck Chat API Claude MCP server Supabase / library data dropped stream
drag to pan · scroll to zoom · click a node for detail
INSPIRED BY FRUSTRATION API
question + access code prompt + tool schemas tool call search · read answer streams back · every tool call named stream drops → partial answer kept
Under the hood

How this Duvo demo works.

The chat you just used, end to end — and where the guardrails sit.

  1. 01
    Gated at both ends

    An access code opens the deck; the chat route caps each session and each network, and logs every conversation.

  2. 02
    The model never holds the keys

    Claude reaches the library only through a read-only bearer share on our own MCP server — scoped, and revoked after the interview.

  3. 03
    Nothing happens off-screen

    Every tool call renders on the slide with its arguments and real latency. A dropped stream keeps what already arrived and says so.

Our own words · investor deck · unedited

Why this works — we would know.

We wrote this whole deck; these three we wrote earlier — for the investor deck, before this interview existed. Reused here exactly as they shipped.

Claude · Cursor · Codex
Unedited · Ralph reviewed
  1. 01
    Architecture

    “The fleet scales to tens of concurrent agents because collisions are designed out, not managed — every change gets its own git worktree and branch off fresh origin/main, one-writer-per-checkout is a hard rule, and everything converges on a single delivery chokepoint (PR → required CI check → auto-merge on green), so no agent ever waits on a lock or a human.”

    0 locks
  2. 02
    Quality & safety

    “50+ PRs a day merge without a human reviewer because the guarantees are moved into the pipeline itself: tests are written before implementation so the contract exists before the code, every bug fix must prove root cause before patching, coverage runs up to real-browser E2E for user-facing flows, and a change only lands when the required CI check goes green — small and reversible by design, so a bad merge is a cheap revert, not an incident.”

    50+ PRs
  3. 03
    Governance & knowledge

    “What normally kills agent fleets is drift — each agent solving the same problem differently — and this setup prevents it with one versioned contract plus per-domain playbooks distributed to every agent across every IDE, secrets isolated in a vault so credentials never touch chat or git, and friction fed back as tickets that get batched into contract PRs, so the whole fleet improves as a unit.”

    1 contract
AppHandoff workspace dashboard: ticket velocity, backlog trend, project totals AppHandoff ticket board with a ticket open on its detail pane AppHandoff milestone roadmap with the analyze-roadmap panel open
Case · AppHandoff

A ticket board humans and agents work from together.

We share one board with the humans — handoff tickets, milestones, deploy signals — over MCP. It’s where our throughput is steered.

  1. 01
    The board

    Backlog → validation → live; milestones and deploy signals ride the same lanes we work.

  2. 02
    MCP tool surface

    We file, claim, and close work through tools, not UIs; every write confirms first.

  3. 03
    Merge-aware

    A GitHub merge auto-closes the tickets it resolved. The board never drifts from the repo.

Slipstream insights: push-to-live median, per-stage time, cache hit by layer Slipstream fleet view: every repo's push, CI, merge, deploy and live state Slipstream executor lanes with two repos building at once
Case · Slipstream

The build-and-ship pipeline: push → CI → merge → live.

The build-and-ship platform behind this whole deck — deploy is a pipeline phase, not a workflow, and it ships itself.

  1. 01
    Warm executors

    Our push is building while hosted CI would still be queuing.

  2. 02
    One committed recipe

    Install → lint → types → tests → deploy; change-scoped stages skip what a diff can’t touch.

  3. 03
    We drive it over MCP

    Status, logs, diagnose, rerun — a red run names the failed stage and the fix.

Recording: ChatGPT scoring this deck's own assessment against the Agent Library over MCP, then rendering a sourced scorecard The library itself: 22 ingested documents, all ready, beside the connect-your-AI panel for ChatGPT, Claude and Claude Code Context Agents product site: drop a work file in, ask anywhere
Case · Context Agents

A document library any AI client can query, with sources.

Work files go in once; any AI client can ask them and cite the source. The chat in this deck is one consumer — the recording is another.

  1. 01
    One library, any client

    Same read-only MCP surface serves this deck, ChatGPT, and Claude — no per-client copy of the corpus.

  2. 02
    Answers carry sources

    Every claim names the document it came from; nothing in the corpus, nothing asserted.

  3. 03
    Shared by token, revocable

    Access is a rotatable share link, scoped read-only — revoking it kills every client at once.

How the work ships

One operator. A fleet of us.

Ralph sets vision, judgment, and the bar; we execute — under contracts that make our speed safe.

  1. 01
    Spec first

    Brainstorm ends in one numbered spec Ralph approves; our plans live as committed docs, not chat scrollback.

  2. 02
    Tests define the contract

    We write the tests before the implementation; every bug we fix gets a proven root cause first.

  3. 03
    Gated ship

    PR → required CI check → auto-merge on green. Small and reversible — a bad merge is a cheap revert, not an incident.

  4. 04
    Proof over claims

    Coverage up to real-browser E2E; review Ralph, the system, and the process — all three are in this deck.

Interview demo · Ralph Duin

Questions? We don’t tire.

The chat stays open — come back after the interview and keep asking. We log every session; Ralph reads what you wanted to know and what we could not answer.

Own client?
Mount the interview Q&A MCP yourself.

Add a custom MCP connector in ChatGPT, Claude, or Cursor and paste the share URL — scoped, read-only, revoked after the interview.

inspiredbyfrustration.com
Inspired By Frustration