Inspiration

As a team, we were building a software project when we realised that everyone had different features they wanted to add. Aligning on requirements mid-build was messy — and we were only a small team. That got us thinking: what if ten, twenty, or fifty people were collaborating? How does any team turn a flood of ideas, emails, and meeting notes into a single, agreed-upon document without losing their minds?

That question is what became BRD Generator.

What it does

BRD Generator takes four simple inputs — a product name, a problem statement, target users, and key features — and produces a fully structured Business Requirements Document in seconds, powered by Amazon Nova 2 Lite via Amazon Bedrock.

The generated BRD includes:

  • Introduction — purpose, background, and document scope
  • Scope — what's in, what's out, and assumptions
  • Stakeholders — roles and interests mapped out
  • Functional Requirements — numbered FR-001, FR-002, and so on
  • Non-Functional Requirements — performance, security, scalability
  • Success Metrics — measurable KPIs and acceptance criteria

It also includes an ML pipeline that extracts and classifies requirements from raw unstructured sources — emails, meeting notes, stakeholder documents — and automatically detects priorities, identifies stakeholders, and flags conflicting requirements.

How we built it

  • Frontend: Streamlit form that collects user inputs and displays the generated BRD
  • Backend: Django + Django REST Framework handling the API layer
  • AI generation: Amazon Nova 2 Lite via Amazon Bedrock Runtime, called through boto3 with a carefully engineered prompt that produces consistent, structured output every time
  • ML layer: Sentence Transformers for semantic deduplication, Scikit-learn for classification, and zero-shot classification via facebook/bart-large-mnli for requirement type correction
  • Async processing: Celery + Redis for background ML tasks
  • Database: SQLite for storing projects, requirements, and generated BRDs

Challenges we ran into

Getting Amazon Nova 2 Lite to produce consistently structured output was harder than expected. Without precise prompt engineering — explicit section headings, numbering formats, and tone instructions — the model would occasionally reorganise sections or vary its formatting between runs. We iterated on the prompt until the output was reliable enough for production use.

Semantic deduplication was another challenge. Requirements extracted from multiple sources often said the same thing in different words. We solved this using sentence embeddings and cosine similarity, which let us catch duplicates that simple string matching would have missed.

Managing the boto3 credential chain cleanly across local development and different deployment environments also took more wiring than anticipated.

Accomplishments that we're proud of

We're proud that the core flow — four inputs in, a complete BRD out — actually works reliably and fast. It genuinely solves the problem that inspired us in the first place.

We're also proud of the ML pipeline. Semantic deduplication, zero-shot requirement classification, and stakeholder normalisation are not trivial features, and having them work end-to-end in a hackathon timeframe felt like a real achievement.

What we learned

  • How to integrate Amazon Bedrock's Runtime API and structure prompts for consistent, professional document generation
  • How semantic similarity with sentence embeddings can solve real data quality problems that rule-based approaches can't
  • That the hardest part of a team software project is often not the code — it's alignment. We built a tool to fix that, and in doing so, understood the problem much more deeply.

What's next for BRD Generator

  • Multi-source ingestion — connect directly to Gmail, Slack, and Confluence to pull requirements automatically without any copy-pasting
  • Conflict detection UI — surface conflicting requirements visually so teams can resolve them before writing a single line of code
  • Collaborative editing — let multiple stakeholders annotate and approve sections of the BRD in real time
  • Export options — one-click export to PDF, Word, and Notion
  • Model flexibility — let teams choose between Nova, Claude, or their own fine-tuned model depending on their use case

Built With

Share this project:

Updates