Good vs. weak PRDs — side by side
4 min
Concrete entity definitions + role lists matter more than length. Here's what the wizard actually uses.
Weak PRD opening:
> # Sales Tracker > A tool for our sales team to manage their pipeline > and close more deals. Should be fast and easy to use.
The planner can extract two facts: it's a sales tool (→ system-of-record archetype) and it should be fast (every app should). No entities → no Prisma models → planner guesses Contact + Deal with default fields. Probably wrong for your team.
Better PRD opening (same length):
> # Sales Tracker > A B2B pipeline tool for ~10 sales reps. Each rep manages > 50-200 active Deals (tracked through stages: prospecting, > qualified, proposal, negotiation, closed-won, closed-lost). > Each Deal belongs to one Contact (name, email, company, > title, phone). Each Contact may have multiple Deals over > time. Reps see only their own Deals; managers see all.
Now the planner has: • Archetype: system-of-record (CRUD-heavy, role-gated). • Two entities: Deal + Contact, with the relationship. • Six-stage enum on Deal.status. • Two roles: rep (own-only) + manager (all). • Required fields per entity.
Result: the generated app is exactly what you wanted on first scaffold.
Weak field spec:
> Deals have a name, amount, and stage.
Better:
> Deal > - name (string, required) > - amount (number, USD, required) > - stage (enum: prospecting | qualified | proposal | negotiation | closed-won | closed-lost, default: prospecting) > - close_date (date, optional) > - contact_id (foreign key → Contact) > - created_at (timestamp, auto) > - updated_at (timestamp, auto)
The planner emits a much cleaner Prisma model from the second form — every field has a type, the enum is explicit, the FK is named, and the audit timestamps are flagged auto.
Weak feature list:
> The app should support reports and notifications.
Better:
> • Weekly email digest of new Deals + closed-won Deals, > sent every Monday at 9am to all managers. > • In-app notification when a Deal moves to closed-won > (audible chime + bell icon in the chrome). > • Reports page with: Deals-by-stage funnel chart, > month-over-month closed-won revenue line chart, > leaderboard table of reps by closed-won total.
Now the planner picks: pipeline-generator (cron schedule), notification-generator (in-app), dashboard-generator (3 chart variants). The vague version triggers... probably none of these, because there's no concrete trigger.
Live recipes need the desktop
This article is a static preview. The in-app Help sidecar inside Avery NXR can fire each step against your live project — install the desktop to use it interactively.