1.7 KiB
1.7 KiB
Phase 2 — Onboarding Persistence & Dashboard
Goals
- Persist analysis results in Convex instead of localStorage.
- Connect onboarding to project + data source records.
- Build a functional dashboard that renders saved analysis.
Scope
- Update onboarding flow to create or select a project.
- Save analysis results to Convex and store IDs.
- Render dashboard from Convex queries with empty/loading states.
Detailed Tasks
-
Onboarding persistence
- When analysis completes:
- Ensure a default project exists (create if missing).
- Create a
dataSourcesentry for the URL or manual input. - Insert a new
analysesrecord linked to project + data source.
- Stop using localStorage as the source of truth (can keep as cache if needed).
- Store analysisId in router state or query param if useful.
- When analysis completes:
-
Manual input integration
- Same persistence path as URL analysis.
- Mark data source type + metadata to indicate manual origin.
-
Dashboard implementation
- Fetch latest analysis for selected project.
- Render:
- Product name + tagline + description.
- Summary cards (features, keywords, personas, competitors, use cases).
- Top features list + top problems solved.
- Add empty state if no analysis exists.
-
Project selection behavior
- When project changes in sidebar, dashboard should re-query and update.
Dependencies
- Requires Phase 1 schema and layout decisions.
Acceptance Criteria
- Onboarding persists analysis to Convex.
- Dashboard displays real data from Convex.
- Refreshing the page keeps data intact.
Risks
- Larger analysis objects may need pagination/partial display.
Notes
- Keep UI fast by showing a small, curated subset of analysis data.