PM Copilot · POC

Pressure-test
your idea before
you write a line of code.

A guided-flow AI workbench that turns vague product ideas into a structured, stakeholder-reviewed, metrics-anchored BRD/PRD — in about ten minutes.

Six guided steps Eight stakeholder personas SMART validator One-click BRD/PRD
The problem

Most PRDs fail upstream.

By the time engineering grooms a spec, the bad decisions are already locked in. Vague metrics, missing stakeholders, edge cases discovered live in standup. PMs default to features instead of root cause.

The cost is not bad code. It is rework, regulatory blockers, scope creep, and post-launch "increase engagement"-style metrics nobody can read.

Five friction points we keep seeing

Where briefs quietly break.

01

Blank page syndrome

PMs jump straight to features. The "why" never gets pressure-tested past surface symptoms.

02

Missing stakeholders

Legal, security, devops surface on day 30 of a 45-day sprint. Late veto kills timelines.

03

Vague metrics

"Increase engagement" ships. Six months later, no one can read whether the launch worked.

04

Edge cases discovered live

Hit during engineering grooming. Re-spec, re-estimate, push the date. Everyone loses two weeks.

05

Orphan features

Features without traceable business goals slip through. Scope creep, unclear ROI, quiet de-prio.

Our take

Most PM tooling formats text.
This one interrogates logic.

PM Copilot does not summarize what you wrote. It challenges what you skipped. The Five Whys engine, stakeholder personas, edge-case generator, and SMART validator are deliberate friction — added in the right places to produce a brief engineering can build.

The solution · single-page guided flow

Six steps. One ten-minute draft.

Each step builds on the last and unlocks the next. AI affordances live where the friction is highest. The right panel rebuilds your consolidated brief live as you write.

Local-only No login localStorage persistence ?demo=1 facilitator mode
Live workbench

Write left, brief builds right.

Every keystroke updates the consolidated markdown on the right. Soft highlight on every change. Copy as markdown anytime. Switch model on the fly.

Zustand + persist Pure prompt builder Token estimate
PM Copilot guided flow screenshot
What each step does

Six interrogations, one brief.

01

The Why

Five Whys engine streams the next question. You answer. Three minimum, seven max.

api/critique streamText
02

Stakeholders

Eight-persona library. AI surfaces who is impacted, then writes their first-person critique.

api/stakeholders api/persona generateObject
03

Feature

Name + description. /refine rewrites for engineering. /ambiguity-check hunts vague phrasing.

api/feature-tool streaming
04

Edge cases

10–14 cases distributed across failure / scale / security / ux / data. Each gets a status.

api/edges structured array
05

Metrics

SMART evaluator with hints per failed letter. AI proposes drafts. Suggests snake_case events.

api/smart api/metric-suggest Zod schema
06

Traceability

Goal → Feature → Metric → Event. Orphan features and unlinked metrics get flagged.

localStorage orphan banner
No more "increase engagement"

SMART or it does not save.

Every metric is scored on five letters. AI returns a one-line hint per failed letter, then proposes the instrumentation events you would actually need to compute it.

Specific Measurable Achievable Relevant Time-bound
S
Specific
M
Measurable
A
Achievable
R
Relevant
T
Time-bound

events: roaming_session_started, pack_confirmed, churn_flagged

The output

One click. Polished BRD or PRD.

When the six steps are done, "Run as agent" sends a structured payload to gpt-4o. It streams a markdown document conforming to a fixed BRD / PRD / Both skeleton. Copy, download .md, or save to localStorage as a second artifact.

Streamed live Stop / Re-run Copy + Download
Generated BRD/PRD output
Two audiences, one tool

For the cold PM and the facilitator.

Cold PM (default)

  • 3-card welcome modal on first load
  • Tooltip ⓘ on every step heading
  • Stuck? drawer with three worked examples per step
  • Live "Saved · Xs ago" indicator
  • Reset double-confirm

Facilitator (?demo=1)

  • Banner up top, gates bypassed
  • Slow-stream throttle for stage readability
  • Load example button (telecom roaming case)
  • ? shortcut opens help anywhere
  • Cost messaging hidden
Under the hood

Boring stack, deliberate choices.

Frontend
Next.js 16 · React 19 · TypeScript strict
Styling
Tailwind v4 · shadcn/ui · Base UI · Framer Motion
AI
Vercel AI SDK v6 → OpenAI · gpt-4o-mini default · gpt-4o for run
Backend
Route handlers · Zod-validated · per-IP rate limit · 8 endpoints
State
Zustand 5 · persist middleware · localStorage
Auth / DB
None. Local-only POC.
Fonts
Geist Sans · Instrument Serif · Geist Mono
Build
~5s prod build · 8 dynamic AI routes · Vercel-ready
Try it locally

Ten minutes.
One pressure-tested brief.

$ cd pm-copilot
$ npm install
$ npm run dev # requires OPENAI_API_KEY

→ http://localhost:3000           # cold-PM mode
→ http://localhost:3000?demo=1    # facilitator

Specs in brd.md, tech.md, z-development-plan.md, z-shipped-features.md. Designed to be obvious to fork and extend.