PDeck Key User Flows
This document outlines the key user flows in the PDeck system, providing a comprehensive view of how the system interacts with users and its internal components. Each flow is represented by a sequence diagram that illustrates the process step-by-step.
Table of Contents
- Reviewing a Task's Priority
- Task Generation from a Meeting
- Handling Real-Time Updates
- Integrating with Third-Party Tools
- Customizing Notifications and Preferences
1. Reviewing a Task's Priority
This flow demonstrates how a user reviews and adjusts the priority of a task within PDeck.
sequenceDiagram
actor U as User
participant UI as User Interface
participant API as API Layer
participant TPE as Task Prioritization Engine
participant KGM as Knowledge Graph Module
participant CL as Change Log
U->>UI: Log in and view priority deck
UI->>API: Request current priority deck
API->>TPE: Get prioritized tasks
TPE->>KGM: Fetch task contexts
KGM-->>TPE: Return task contexts
TPE-->>API: Return prioritized tasks
API-->>UI: Display priority deck
U->>UI: Select a task
UI->>API: Request task details
API->>TPE: Get task details
TPE->>KGM: Fetch task context
KGM-->>TPE: Return task context
TPE-->>API: Return task details
API-->>UI: Display task details
UI->>U: Show Prompt 2: "Does this task have a time-sensitive deadline or significant impact on your business outcomes?"
U->>UI: Review task details and context
U->>UI: Adjust task priority
UI->>API: Update task priority
API->>TPE: Process priority change
TPE->>KGM: Update task relationships
TPE->>CL: Log priority change
TPE-->>API: Confirm priority update
API-->>UI: Update deck order
UI->>U: Show Prompt 13: "You've reprioritized '[Task]'. Does this still reflect the most important task in your deck, or should something else take its place?"
U->>UI: Confirm changes
UI->>API: Finalize priority changes
API->>TPE: Save final priorities
TPE->>KGM: Update knowledge graph
TPE->>CL: Log final changes
TPE-->>API: Confirm updates
API-->>UI: Display updated deck
UI->>U: Show updated priority deck2. Task Generation from a Meeting
This flow illustrates how PDeck generates tasks from a meeting and allows the user to review and prioritize them.
sequenceDiagram
actor U as User
participant UI as User Interface
participant API as API Layer
participant DIP as Data Integration/Parsing
participant MA as Meeting Assistant
participant TPE as Task Prioritization Engine
participant KGM as Knowledge Graph Module
U->>UI: Attend meeting
UI->>API: Signal meeting start
API->>MA: Start recording/transcribing
MA-->>API: Provide real-time transcript
API->>DIP: Process transcript
DIP->>KGM: Update knowledge graph with meeting data
DIP->>TPE: Generate potential tasks
TPE->>KGM: Contextualize tasks
KGM-->>TPE: Provide task contexts
TPE-->>API: Return generated tasks
API-->>UI: Notify of new tasks
UI->>U: Show prompt: "We've generated new tasks from your meeting with [Team/Client]. Would you like to review and prioritize them now?"
U->>UI: Review generated tasks
UI->>API: Send task confirmations/edits
API->>TPE: Process task updates
TPE->>KGM: Update task relationships
TPE-->>API: Return updated task list
API-->>UI: Display updated tasks
UI->>U: Show prompt: "These tasks have been added to your deck. Do you want to adjust their priorities based on upcoming deadlines or dependencies?"
U->>UI: Adjust priorities (if needed)
UI->>API: Send priority adjustments
API->>TPE: Process priority changes
TPE->>KGM: Update knowledge graph
TPE-->>API: Confirm priority updates
API-->>UI: Display final task deck
UI->>U: Show updated priority deck3. Handling Real-Time Updates
This flow shows how PDeck handles real-time updates from external sources and suggests priority changes to the user.
sequenceDiagram
participant ES as External Source
participant DIP as Data Integration/Parsing
participant API as API Layer
participant TPE as Task Prioritization Engine
participant KGM as Knowledge Graph Module
participant UI as User Interface
actor U as User
ES->>DIP: Send new data (email/calendar/task update)
DIP->>KGM: Update knowledge graph
DIP->>TPE: Notify of new data
TPE->>KGM: Query for impact on tasks
KGM-->>TPE: Return affected tasks
TPE->>TPE: Recalculate priorities
TPE->>API: Send priority update
API->>UI: Notify of priority change
UI->>U: Show Prompt 12: "Based on recent updates, we suggest moving '[Task]' up due to an urgent email from the client. Would you like to adjust now?"
U->>UI: Review suggested changes
UI->>API: Send user decision
API->>TPE: Process user decision
TPE->>KGM: Update task relationships
TPE-->>API: Confirm updates
API-->>UI: Update task deck
UI->>U: Show updated priority deck
UI->>U: Show Prompt 6: "You've moved '[Task]' up in priority. How does this align with your long-term goals or client commitments?"
U->>UI: Provide feedback (optional)
UI->>API: Send user feedback
API->>KGM: Update knowledge graph with feedback
KGM-->>API: Confirm update
API-->>UI: Acknowledge feedback4. Integrating with Third-Party Tools
This flow demonstrates the process of integrating PDeck with a third-party tool and syncing data.
sequenceDiagram
actor U as User
participant UI as User Interface
participant API as API Layer
participant IM as Integration Module
participant TPT as Third-Party Tool
participant DIP as Data Integration/Parsing
participant TPE as Task Prioritization Engine
participant KGM as Knowledge Graph Module
U->>UI: Navigate to integration settings
UI->>API: Request available integrations
API->>IM: Get integration list
IM-->>API: Return integration options
API-->>UI: Display integration options
U->>UI: Select tool to integrate (e.g., Gmail)
UI->>API: Request integration
API->>IM: Initiate integration
IM->>TPT: Request authentication
TPT-->>U: Prompt for authentication
U->>TPT: Provide credentials
TPT-->>IM: Grant access token
IM->>DIP: Configure data sync
DIP->>TPT: Initial data fetch
TPT-->>DIP: Return data
DIP->>KGM: Update knowledge graph
DIP->>TPE: Process new data
TPE-->>API: Return updated tasks
API-->>UI: Integration complete
UI->>U: Show prompt: "Integration with [Tool] is complete. Would you like to review any new tasks or updates that may affect your current priorities?"
U->>UI: Review new tasks/updates
UI->>API: Send user decisions
API->>TPE: Process user input
TPE->>KGM: Update task relationships
TPE-->>API: Confirm updates
API-->>UI: Display updated task deck
UI->>U: Show updated priority deck5. Customizing Notifications and Preferences
This flow illustrates how a user can customize their notification settings and preferences within PDeck.
sequenceDiagram
actor U as User
participant UI as User Interface
participant API as API Layer
participant PM as Preference Manager
participant NM as Notification Manager
participant TPE as Task Prioritization Engine
U->>UI: Open settings menu
UI->>API: Request current preferences
API->>PM: Get user preferences
PM-->>API: Return preferences
API-->>UI: Display current settings
U->>UI: Adjust notification settings
UI->>U: Show prompt: "Would you like to receive end-of-day reflective prompts to help assess your daily progress?"
U->>UI: Respond to prompt
UI->>API: Update notification preferences
API->>NM: Apply new notification settings
NM-->>API: Confirm settings update
U->>UI: Customize display options
UI->>API: Update display preferences
API->>PM: Save new preferences
PM-->>API: Confirm preference update
API->>TPE: Adjust task display based on new preferences
TPE-->>API: Return updated task view
API-->>UI: Apply new interface settings
UI->>U: Display updated interface
U->>UI: Save all changes
UI->>API: Finalize preference updates
API->>PM: Save final preferences
API->>NM: Finalize notification settings
PM-->>API: Confirm all updates
NM-->>API: Confirm notification settings
API-->>UI: Confirm successful update
UI->>U: Show confirmation messageThese sequence diagrams provide a detailed view of the key flows in the PDeck system, incorporating the prompting framework at relevant points. They illustrate the interactions between various components of the system and the user, showing how data flows and decisions are made throughout each process.