TemaDeveloper / TemaDeveloper/personal_planner
feat(onboarding): Seed facets, sections & rows from an uploaded artifact (spreadsheet/planner/schedule photo)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
Size: L — the "better understanding" payoff of onboarding image attachments.
Why
Beyond generic vision understanding, the highest-value case is an uploaded artifact that already encodes structure: a budget spreadsheet, a habit tracker, a class timetable, a training program, a chore roster. Instead of only nudging the free-text facets, we can read that artifact and pre-build the matching section — schema and initial rows — so the planner is populated on day one.
Scope
- Detect artifact-like images during onboarding (table/columns/list heuristics or a vision classification pass).
- Extract structure: column headers → field definitions (reuse the section field-def types), rows → candidate entries, recurring items → habits/recurring flags.
- Route through the existing generation path (
generate-sections.ts/persist-sections.ts) to create the section, then offer to import the extracted rows asCustomEntrys (with a preview/confirm — see the confirm-understanding issue). - Overlaps with the standalone "Data import (CSV/XLSX)" issue — share the column→field mapping UI; this issue is the vision/OCR front-door to it during onboarding.
Notes
- Guard against hallucinated rows — show extracted data for confirmation before persisting; never silently create entries.
- Start with the top artifact types (budget, habits, schedule) and expand.
Depends on: multimodal callAI, onboarding image attachments.
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 by tracing onboarding image attachments and the multimodal callAI entry point, then read generate-sections.ts and persist-sections.ts. Use the confirm-understanding issue and the standalone CSV/XLSX import work to define the shared column-to-field mapping and preview flow. Done means artifact structure can be reviewed and confirmed before a section or CustomEntry rows are persisted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- ai, full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100