Fixie, a cartoon fox winking, on a purple background

Overview

My idea, architecture and build at FameUp: OpenClaw orchestrating Claude Code subagents, plus a read-only MCP server that answers with live data.

Context

At FameUp, bug reports reach the developers through Slack, from support, sales and product. Each one used to cost a developer the same routine before any real work: read it, reproduce it, decide whether it is really a bug, look for an existing ticket, file one. Fixie takes over that routine, and the fix too. Developers review and merge.

Fixie was my idea: I designed the architecture and built it end to end.

How it works

  • A Slack app over WebSockets. Fixie runs in Slack’s Socket Mode. It keeps a WebSocket open to Slack, so it needs no public endpoint, and it gets to work when a bug is reported or someone mentions it.
  • Always on current code. It keeps its own clones of the repositories and fetches them every hour, so every investigation starts from the code as it is now.
  • A decision pipeline before any code. First it decides whether the report is really a bug, or expected behaviour, bad data or a question. Then it checks Jira for an existing ticket, so the same bug is never filed twice. Only then does it open a ticket with its Jira tool and start on the fix.
  • Fix, tests, review. The fix comes with tests and goes through the same CI as every other change, including PHPStan at max level and an AI code review. It lands as a pull request that a developer reviews and merges.
  • Orchestration. OpenClaw orchestrates several Claude Code subagents. Everything runs on a Claude Code subscription instead of per-token API billing, so the cost stays flat.

#ask-fixie

Product, support and sales also ask Fixie about the code, in the #ask-fixie channel: how a part of the product works, where a value comes from, why something behaves the way it does. Fixie answers from the current code, without pulling a developer out of their work.

Live data through MCP

Some questions need real numbers rather than code. For those I built an MCP server that lets Fixie query the live database, with protection in layers:

  • The connection uses a read-only database user.
  • On top of that, gates in code only let SELECT and DESCRIBE statements through.
  • Sensitive data stays protected, and heavy queries can’t put load on production.
  • Access goes through OAuth 2.0, the flow Claude Code expects from a remote MCP server.

So when someone asks for a stat, Fixie queries the data and answers with the real figure.