TemaDeveloper / TemaDeveloper/personal_planner
feat(onboarding): Confirm-and-refine derived understanding before generating the planner
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
Size: M — improves onboarding understanding with or without images.
Why
Today the flow jumps straight from a short chat to generating a full planner once isProfileSufficient() heuristics pass (conversation.ts:30-40: ≥4 facets, ≥3 dimensions, one salient). The user never sees or corrects what we inferred, so wrong/low-confidence facets (and, once image attachments land, anything mis-read from a photo) silently shape the generated sections. A lightweight confirmation step measurably improves fit and trust.
Scope
- Before
/api/profile/generate, show a compact "Here's what I understand about you" summary: facets grouped by dimension with salience, plus the sections we're about to create. - Let the user tweak: remove/soften a facet, add a missing one, correct an image-derived detail, rename/deselect a proposed section.
- Feed edits back into the profile (reuse
applyFacets) so generation and future reconciliation start from a corrected baseline. - Flag low-confidence / image-derived facets distinctly so they're easy to verify.
Notes
- Keep it skippable ("Looks good, build it") to preserve the fast path.
- Naturally reuses the profile-editor and reconciliation-review surfaces once those exist — this is the onboarding-time entry point to the same idea.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with conversation.ts:30-40 and trace the flow before /api/profile/generate. Read the existing profile-editor and reconciliation-review surfaces, plus applyFacets, to understand how edits can be reused. Done means users can review and edit facets and proposed sections, identify low-confidence or image-derived details, and skip confirmation with “Looks good, build it”.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nextjs, react, typescript
- Domain
- api, frontend, full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100