Ideas Mode: Activity Suggestions

Proactive workflow: Identifying skill gaps and suggesting personalized activities

Purpose

Help parents stuck in a rut discover new activities

The app recognizes "dead zones" (under-developed skills) and offers highly personalized activity recommendations to fill those gaps. Activities are tailored to the child's age, interests, and current progress.

Key Principle: AI + curated datasets + developer "sure-fire wins" = highly relevant suggestions

User Journey: Browse Activity Suggestions

Start

User Enters Ideas Mode

Accesses Ideas Mode via bottom tab navigation or from progress dashboard

Controller: Gap Analysis

identifySkillGaps(childId)

  • Analyzes child's skill progress
  • Identifies "dead zones" (skills not demonstrated recently or ever)
  • Returns prioritized list of gap areas
  • Considers age-appropriateness
Database: Read

Query SkillProgress

Analyze:

  • All SkillProgress records for child
  • Demonstration counts and dates
  • Skill categories and age relevance
View: Gap Visualization

"Skills to Develop" Section

UI Components:

  • Visual indicators (progress bars, circular charts)
  • Each gap shows: skill name, context (e.g., "Not demonstrated in last 30 days")
  • "Find Activities" button per gap
Controller: Generate Recommendations

generatePersonalizedSuggestions(childId)

Primary recommendation engine:

  • Analyzes skill gaps, child interests, age, curriculum approach
  • Queries Activity database
  • Applies AI-enhanced personalization
  • Creates SuggestedActivity records
  • Returns prioritized activity suggestions
Database: Query Activities

Match Activities to Gaps

Filter by:

  • Target skills (matching identified gaps)
  • Age range suitability
  • Child's interests
  • Curriculum approach compatibility
Database: Write

Create SuggestedActivity Records

For each suggestion:

  • Child ID
  • Activity ID
  • Target skill(s) - which gaps this addresses
  • Suggestion date
  • Status: "suggested"
View: Activity Suggestions List

Personalized Activity Cards

Each card shows:

  • Activity name and icon
  • Brief description
  • Target skills (tags)
  • Time investment indicator
  • Location (indoor/outdoor)
  • Materials needed preview
  • Difficulty/age suitability
  • Bookmark button
  • "Learn More" to expand details

Filter controls: Time, location, materials, skills

Sort options: Recommended, newest, easiest

User Action

User Browses and Filters

Parent explores suggestions, applying filters based on current context:

  • Time available
  • Current location (indoor rainy day vs. outdoor sunny day)
  • Materials on hand
  • Specific skills to target
User Action

User Taps Activity for Details

Parent wants to learn more about a specific activity

View: Activity Detail

Full Activity Information

Detailed view shows:

  • Activity name and large icon/image
  • Full description
  • Target skills (detailed, with explanations)
  • Age range suitability
  • Estimated time investment
  • Location requirements
  • Materials needed (full list)
  • Step-by-step guidance (optional)
  • Related activities suggestions

Actions: Bookmark button, "Mark as Completed" button

User Decision Point

User Chooses Action

Options:

  • Bookmark for later - Save to try another time
  • Dismiss - Not interested
  • Do activity now - Activity completed, ready to log
Three paths:
Path 1: Bookmark

User Bookmarks Activity

Controller

bookmarkActivity(childId, activityId)

Updates SuggestedActivity status to "bookmarked"

View

Activity Saved to Bookmarks

Accessible from "Bookmarked Activities" view

Path 2: Dismiss

User Dismisses Suggestion

Controller

dismissSuggestion(childId, activityId, reason)

Updates status to "dismissed"

Captures optional reason (improves future suggestions)

AI Learning

Recommendation Algorithm Improves

System learns user preferences

Path 3: Complete Activity

User Completes Activity & Logs It

Parent does the activity with child, then creates journal entry

View

"Mark as Completed" Creates Journal Entry

Opens journal entry creation flow with activity context pre-filled

Jump to Journal Flow

→ Journal Entry Creation Flow

User follows standard journal entry workflow (capture photo, add notes, tag skills)

See "Journal Entry Creation Flow" diagram

Controller

markActivityCompleted(suggestionId, journalEntryId)

  • Links completed activity to journal entry
  • Updates SuggestedActivity status to "completed"
  • Sets completion date
  • Creates feedback loop for analysis
Database: Update

SuggestedActivity Record Updated

Status → "completed", Linked journal entry ID stored

Controller: Progress Update

calculateSkillProgress(childId, skillId)

Child's progress updated for targeted skills

THE FEEDBACK LOOP: This reduces the skill gap that triggered the suggestion!

Loop Back

Gap Analysis Refreshes

System may automatically refresh suggestions based on new progress data

Loop back to gap identification step

End

Ideas Mode Session Complete

User has browsed suggestions, bookmarked activities, or completed activities and logged them

Key Database Entities

Activity

Master activity database:

  • Activity name & description
  • Target skills (FK array)
  • Age range suitability
  • Time investment
  • Location type
  • Materials needed
  • Interest tags
  • Creation source (curated/AI/community)

SuggestedActivity

Personalized suggestions:

  • Child ID (FK)
  • Activity ID (FK)
  • Target skill(s) - which gaps addressed
  • Suggestion date
  • Status: suggested / bookmarked / dismissed / completed
  • Completion date (if completed)
  • Linked journal entry ID (if completed)

SkillProgress

Tracks gaps & improvements:

  • Child ID (FK)
  • Skill ID (FK)
  • Current level/proficiency
  • Demonstration count
  • Latest demonstration date
  • Trend (improving/stable/declining)

Used for gap identification

The Feedback Loop