All articles

AI Documentation Case Study: How a Fintech Team Shipped 5x Faster

Six engineers. Twenty-three services. A docs backlog that hadn't been touched in nine months. Here's how one fintech team used AI documentation to ship features five times faster without dropping quality.

D

DocPilot Team

AI documentation research and engineering from Onzira Labs.

8 min read

The Backlog Problem Nobody Wanted to Own

By Q3 of 2024, the payments platform team at a Series B fintech had a documentation problem that had quietly metastasized into a shipping problem. Six backend engineers maintained twenty-three microservices spanning card vaulting, KYC orchestration, payout rails, and a reconciliation engine that nobody fully understood anymore. The internal docs lived across three wikis, two Notion spaces, and a handful of READMEs that hadn't been updated since the services launched.

New hires spent their first week asking questions instead of writing code. Onboarding to a single API gateway took three days. Cross-team integration requests sat in a queue because nobody could figure out which service owned which contract. The engineering manager, Priya, ran the numbers: the team had shipped eleven features in the prior quarter, and only two of them came with documentation that matched the code that actually ran in production.

The fix wasn't hiring a technical writer. The fix wasn't "we'll get to docs next sprint." The fix was treating documentation as a build artifact — something generated, versioned, and enforced automatically. After a six-week pilot of an AI documentation pipeline, the same team shipped forty-six features that quarter. This is the story of how they did it, the tooling that made it possible, and the mistakes they made along the way.

The Starting State: A Documentation Audit

Before touching any tooling, Priya's team ran a two-day documentation audit. They wanted hard numbers, not vibes.

DimensionMeasurementTool Used
Services with up-to-date READMEs4 of 23Manual inspection
Average age of last doc update9.2 monthsGit blame
Onboarding time to first PR11 daysHR records + survey
Doc-related Slack questions per week47Slack analytics
Engineer hours/week spent answering doc questions6.5Self-reported

The last line was the one that got leadership's attention. Six and a half engineer-hours per week, every week, indefinitely, just re-explaining things that should have been written down. At fully-loaded cost, that was over fifty thousand dollars a year in pure context-switching tax — paid by a team of six.

Why Traditional Fixes Failed

They had tried three things before.

First, a "docs rotation" where each engineer spent one Friday a month updating documentation. It lasted two months. The Friday rotators produced either shallow rewrites of existing pages or skipped it entirely to ship features. By the third month, the rotation was a Slack reminder nobody acted on.

Second, a Confluence migration. The team spent a sprint moving everything into a single wiki with a new template. Six months later, the wiki was in the same state as the Notion pages it replaced: stale, inconsistent, and full of TODOs.

Third, hiring a contractor to write docs. The contractor produced a beautiful 40-page architecture overview. It was wrong in seven places within a month because the services had changed, and there was no process to keep it current. The contractor's deliverable became a PDF nobody opened.

The pattern was clear: documentation degrades faster than humans can maintain it unless it's tied to the source of truth — the code itself.

The Pivot: Docs as a Generated Artifact

The breakthrough came from a simple reframing. Instead of treating documentation as something humans write and maintain, the team started treating it as something the build pipeline generates.

Their stack already had three of the four pieces:

  • A monorepo with every service's source code in GitHub
  • A CI pipeline running on every pull request
  • A deployment system that knew which service was live in which environment
  • The missing piece: an automated bridge between the code and the docs

That's where AI documentation tooling entered the picture. The team evaluated three approaches: building an internal tool with the OpenAI API, using an open-source doc generator like TypeDoc or Sphinx, and adopting a platform that connected directly to GitHub and regenerated docs on every merge.

The internal tool would have required someone to build and maintain it — the exact failure mode they were trying to escape. The open-source generators worked well for API references but fell over on architecture diagrams, setup guides, and the prose-heavy READMEs that new hires actually read first.

The Tooling Decision

They settled on DocPilot for one specific reason: it generated prose, not just signatures. A generated API reference page that lists every endpoint and parameter is useful, but it's not what a new engineer needs on day one. Day one needs a README that says "here's what this service does, here's how to run it locally, here's how to deploy it, and here's who owns it." DocPilot read the code, inferred the structure, and produced that prose — then regenerated it every time the code changed via a GitHub webhook.

Within a week, the team had:

  • Auto-generated READMEs for all twenty-three services
  • Setup guides that actually worked on a fresh laptop
  • Architecture diagrams inferred from import graphs and service-to-service calls
  • API reference pages kept in sync with the OpenAPI specs and the actual handlers

The Six-Week Pilot: What Actually Happened

Week 1–2: Generation and Pushback

The first generation pass produced 23 READMEs and 23 setup guides. The quality was uneven. The card vaulting service — heavily commented, well-structured — produced a README the team accepted with light edits. The reconciliation engine, a 14,000-line beast with sparse comments and three abandoned refactors, produced a README that confidently described behavior that hadn't existed since 2022.

This is the part nobody tells you about AI documentation: it generates fluent prose that is sometimes wrong, and the worst errors are in the codebases that need documentation the most. The reconciliation engine README claimed the service exposed a /settle endpoint that had been removed in a refactor eighteen months earlier.

The team's response was to add a verification step. Any generated doc touching business-critical flows had to be reviewed by the engineer who owned the service before merge. AI generated, humans verified. That division of labor is the entire game.

Week 3–4: Webhook Integration

With the verification step in place, the team wired DocPilot into their GitHub workflow. Every pull request that touched a service triggered a regeneration of that service's docs. The PR couldn't merge until the engineer either accepted the regenerated docs or committed human-written updates.

This is where the velocity gain started to show. Before, updating docs was a separate task with no enforcement, so it never happened. After, doc updates happened automatically on every code change, with a human gate. Engineers stopped thinking about docs as a chore because the heavy lifting was already done — they just had to review and correct.

Week 5–6: The Compounding Effect

By week five, the team started noticing second-order effects. New hire onboarding dropped from eleven days to four. The Slack channel that used to handle forty-seven doc questions per week was down to nine, and most of those nine were from teams outside the payments platform — because those teams could now read the docs instead of pinging the engineers directly.

The architecture diagrams, which DocPilot maintained from import graphs, revealed two dead services and one service that three different teams thought they owned. That last discovery alone probably saved a sprint of misdirected work.

The Numbers After One Quarter

MetricBeforeAfterChange
Features shipped per quarter11464.2x
Doc-related Slack questions/week479-81%
New hire time to first PR11 days4 days-64%
Engineer hours/week on doc questions6.51.2-82%
Services with current docs4 of 2323 of 23100%

The headline number — five times faster shipping — is real, but it's worth being honest about why. The team wasn't five times more productive per engineer. They spent five times less time on the invisible tax of context-switching, answering questions, and onboarding people to systems they didn't understand. The same six engineers, freed from the documentation drag, shipped more.

The Mistakes That Almost Killed the Pilot

Three things nearly killed the project.

Trusting the first generation without review. The reconciliation engine incident could have burned trust permanently. If a new hire had read the generated README, built an integration against the phantom /settle endpoint, and shipped it to production, the team's confidence in AI docs would have evaporated. The fix — mandatory human review for business-critical paths — should have been in place from day one.

Letting "generated" become a synonym for "good enough." Engineers will review generated code more carefully than generated prose. A function that returns the wrong type fails tests. A README that describes the wrong endpoint fails quietly, in production, six months later. The team learned to review generated docs with the same rigor they'd apply to a pull request from a junior engineer who seemed confident.

Ignoring the human docs. Not everything fits a code-generated format. Incident retrospectives, decision logs, and product rationale documents still need humans. The team made the mistake early on of trying to generate everything, including the parts that genuinely required human judgment. They pulled back and let AI own the code-adjacent docs (READMEs, setup guides, API references, architecture) while humans kept owning the decision docs.

What a Fintech Team Should Take From This

If you're running an engineering team in a regulated, fast-moving domain like fintech, the lesson isn't "use AI for documentation." The lesson is that documentation is infrastructure, and infrastructure should be generated, versioned, and tested like any other piece of your build pipeline.

Three concrete moves worth making this quarter:

  1. Run a documentation audit. Measure the gap between your code and your docs before you touch any tooling. Numbers convince leadership; vibes don't.
  2. Pick one service to pilot. Don't try to roll out AI documentation across twenty services at once. Pick the most painful one, generate its docs, refine your review process, and then expand.
  3. Treat generated docs as a starting point, not a finished product. The team that wins with AI documentation isn't the team that trusts it most. It's the team that verifies it most efficiently.

The fintech team in this story didn't hire anyone. They didn't buy a six-figure enterprise platform. They changed one assumption — that documentation is something humans write — and let the rest follow.

If your team is staring at the same backlog, the fastest way to find out whether AI-generated docs will work for your codebase is to point a tool at your messiest repository and see what comes out. DocPilot connects to GitHub, generates README, setup, architecture, and API docs from your actual code, and keeps them in sync via webhooks on every push. The free tier covers a few services, which is enough to run the same pilot this team ran — one repo, one sprint, real numbers. The audit this team did in two days is the same audit you can do this afternoon, and the gap you measure is the same gap AI can close.

Ship documentation that keeps up

Try DocPilot on your repository — free for one repo.

Connect your first repository in about a minute. No credit card. DocPilot writes and maintains the documentation from your code.

Read next