Skip to main content
AI-native Product

Precedent

Turns a structured project brief into a near-complete requirements document. 12 sections, schema-driven, exported straight into your team’s own Word template.

LiveAI productNext.jsFastAPIOpenAIpython-docxVercel
Type
Personal product · validated with practising BAs
Role
Solo builder: prompted, guardrailed, tested, deployed
Timeline
2026
Architecture
Two-agent pipeline + adaptive template output
“It produces the text the BA would have written, leaving them only the parts only they can write.”

The problem

A Business Requirements Document is the single most-typed document inside enterprise project delivery. Every initiative has one; every team has its own template; every Business Analyst spends hours filling that template with text that is mostly structural and rarely the part that actually requires their judgment.

The waste isn’t the writing. It’s that writing the structure exhausts the BA before they reach the parts only they can write: the assumptions, the constraints, the security controls that depend on the organisation’s risk appetite.

Before Precedent

Business Analysts retyped the same BRD structure for every project, exhausting themselves before they reached the judgment-heavy sections. Each team’s Word template drifted, so the model could never be trained on a stable target.

What I built

Schema-driven BRD generation with a separate critic agent, then rendered into the team’s own Word template.

Take a focused project brief as a typed form: objective, stakeholders, scope, regulatory context. Then produce a schema-conformant BRD. The schema is the BRD; the prose is a projection of it.

The team’s Word template is a rendering target, never a prompt input. The model produces vendor-neutral content against a stable schema; swapping templates never destabilises generation. And, as in Forge, a separate critic agent reviews each section. The drafter is allowed to be confident, the critic is allowed to disagree.

  • Structured brief intake. A focused form, not a chat. The BA enters what only they know; the model is never asked to invent organisational context.
  • Schema-driven generation. 12 BRD sections, each a typed schema filled by a structured-outputs call.
  • Critic agent. A second model call per section, returning severity-tagged feedback. Only medium-and-above issues surface by default.
  • Word export. python-docx renders the schema into the team’s house style: heading styles, numbering, and tables BAs already use.
  • Separation of content and template. The model never sees the Word file. This is the load-bearing decision that makes template upload (v1.1) tractable rather than a rewrite.

The outcome

Live as a personal product, validated with practising Business Analysts in regulated environments. The test wasn’t “does it produce text” but “does it produce the text the BA would have written.” It passed where I expected (Executive Summary, Scope, Assumptions) and surfaced sharper questions than expected where the critic does the most work (Acceptance Criteria, Security Controls).

Stack

Next.jsFastAPIOpenAIpython-docxVercel

Next improvements

  • Template upload. Let teams upload their own Word template so Precedent renders directly into their house style.
  • Multi-format export. Add Markdown and PDF export alongside Word.
  • Deeper critic integration. Let BAs route specific sections back to the critic with their own constraints.

Product snapshot

Precedent: from brief to BRD in the team’s Word template

Screens from the live product: the structured brief intake and the generated BRD ready for export.