// HOW_WE_WORK
HOW WE WORK
Every layer of our delivery process is AI-enabled — from how we communicate with you, to how our engineers plan, write, review, and ship code with AI agents alongside them. The tools we use were chosen for two reasons: we want full control of the process, and each one was built around AI agents as first-class participants — not retrofitted to tolerate them.
// WHERE_WE_WORK
A Victorian townhouse
in London's Covent Garden



Home base is a Victorian townhouse in the middle of London's Covent Garden, above TV chef Angela Hartnett's Café Murano. Nothing in the building is straight — not the floors, not the doorways, not the staircases. It builds character.
We're mostly here in person, with the wider network one Slack channel away. Clients drop by when they're in town. We make a lot of coffee.
When AI compresses build time, the bottleneck moves to coordination. Our stack collapses both — without giving up security or control.
// WHAT_WE_VE_LEARNED
AI agents make us fast.
Two things still slow us down.
We use AI agents across the lifecycle — to read specs, design screens, write code alongside our engineers, create tests, and review every PR for compliance. Not vibe coding, but enterprise-level agent-assisted engineering — with the controls you'd expect. We can go fast — but speed surfaces two risks, and the answer to both is the same.
Risk 01
You build the wrong thing — faster
When a feature ships in days instead of weeks, a misunderstood spec ships in days too.
Risk 02
Slow feedback caps your pace
Your new build pace is bounded by how quickly someone can answer a question, review a PR, or catch a wrong turn.
// THE_ANSWER
Both risks have the same fix: better, faster, more visible collaboration.
// WORKING_WITH_US
What it's like to work with us
From kickoff to ship, here's what the client experience looks like — and what each tool does for you the moment you open it.
Step 01
Day one — you're in the room
We open a Slack Connect channel between your team and ours. If you don't use Slack, we'll spin up a free workspace and connect to it. From minute one you're not waiting on weekly status emails — you're in the same channel as our engineers and our agents.
Step 02
Your own ring-fenced space in our Notion
We provision a dedicated, permissioned area inside our Notion just for your project — the brief, the decisions, the open questions. Your team has full edit access alongside ours, so it's a genuinely collaborative document, not a status page you read. Our coding agents read those pages via MCP, so when an agent works against a spec, it's the same spec you can open and edit.
Step 03
Raise work from Slack; track it in your client portal
Need something done? Message our triage agent in your Slack channel and it files a ticket on the spot — marked for triage, so nothing is worked on until our team has reviewed, scoped, and allocated it. You watch progress and interact with issues through a secure client portal. No more "where are we on the integration?" status meetings.
Step 04
Engineers ship code, with AI agents alongside them
A Barnacle engineer picks up the ticket and works on it with Claude Code in the loop — branching into a worktree, writing tests first, opening a pull request (PR). The PR references the ticket; merging closes it automatically. You see the PR appear in Slack the moment it lands.
Step 05
An independent AI reviewer, then a human
Every PR is reviewed by Codex — a different model family from the one our engineers were pairing with, so it catches the failure modes Claude Code's own confidence would have missed. Then a Barnacle engineer reviews both. The first time you watch Codex flag a regression that slipped through, the value clicks.
Step 06
Ship, observe, iterate — in the same channel
GitHub Actions ships the merged PR. The ticket closes itself. The change lands in Slack with a one-line summary. If you want to push back, you reply in the same thread, and the next iteration starts. The loop is hours, not weeks.
// TOOLS_REFERENCE
The tools, in detail
Six tools, chosen carefully. Each one is best-in-class for its job — and each treats AI integration as a first-class concern, not a side feature.
Linear
↗linear.app
Planning, agent-readable
Project planner built around AI workflows. An official MCP server lets Claude, Cursor, and our other agents create, query, and update issues with the user's permissions. Clients raise tickets from Slack via a triage agent, and view live project status and interact with issues through a secure client portal.
Slack — with Slack Connect
↗slack.com
Shared comms with clients and agents
Slack Connect lets us share a channel with your team (or spin you up a free workspace if you don't have one). Slack's official MCP server gives our agents permissioned access to threads; Slackbot is now an MCP client that can act in-context.
Notion
↗notion.so
Shared, ring-fenced project workspace
We provision a permissioned area in our Notion just for your project — your team has full collaborative edit access alongside ours. Notion's MCP server gives our agents authenticated read/write to those pages and databases, so coding agents read the same spec a human teammate would open.
GitHub
↗github.com
Code as system of record
Repository, plus everything triggered off it — automatic issue closing on commit references, CI on every push, AI code review on every PR. Claude and Codex now ship as first-class GitHub agents.
Claude Code
↗claude.com/claude-code
Pair-programmer with our SDLC built in
Anthropic's terminal-native coding agent — the pair-programmer our engineers reach for first. We use plugins to encode our software development lifecycle into the agent itself — brainstorm, plan, branch, test-first, review — so Barnacle standards are enforced on every change, not left up to memory.
Codex
↗openai.com/codex
Independent PR reviewer
OpenAI's relaunched coding agent (the 2025+ product, not the 2021 model). We use it to review every PR Claude Code opens — a different model family, with different failure modes and different blind spots. A second opinion before a human sees the diff.
Want to see this in action?
Build with us,
in the same room
Most engagements start with a single Slack Connect channel and a shared Notion workspace. You see the agents work. You see the PRs land. You stop waiting for status updates because you're inside the process.
[ TALK_TO_AN_ENGINEER → ]What you get
- —A shared Slack channel — your team and ours, side by side
- —A ring-fenced Notion space your team can edit alongside ours
- —Raise tickets from Slack; watch live status in a secure client portal
- —Every PR reviewed by an independent AI agent and a human
- —A loop measured in hours, not sprints