Skip to content

Canvas Folder Organization and AI-Powered Auto-Classification #21

@MathisVerstrepen

Description

@MathisVerstrepen

The primary goal is to enhance user experience by providing better management of a growing number of canvases, reducing clutter, improving discoverability, and streamlining workflow. This will be achieved through both manual drag-and-drop capabilities and an innovative AI-driven auto-classification mechanism.

1. History Sidebar (Left Panel) Enhancements

  • Folder Display & Management:

    • Canvases will be displayed within user-created folders.
    • A default "Uncategorized" folder will implicitly exist to house all canvases not assigned to a user-created folder. This folder cannot be deleted.
    • Collapse/Expand Folder View: Users can click on a folder header (e.g., folder name or icon) to toggle its contents between a collapsed state (only folder name visible) and an expanded state (folder contents visible). This state should ideally persist per user session.
  • Manual Canvas Organization (Drag & Drop):

    • Users can drag a 'canvas' element from any location (another folder, or "Uncategorized") and drop it into an existing folder.
    • Upon successful drop, the canvas is moved to the target folder.
    • Visual feedback (e.g., highlighting the target folder, ghosting the dragged item) is crucial during the drag operation to indicate valid drop targets.
    • Users should also be able to drag a canvas out of a folder back into the "Uncategorized" section.
    • Consider if reordering canvases within a folder is part of the initial scope.
  • AI-Powered Auto-Classification:

    • Trigger: Via the "More Options" button (three-dots icon) then clicking "Auto-classify" will initiate the process.
    • Scope: The auto-classification can be applied to one or multiple selected canvases.
    • LLM Input:
      • For each 'canvas': Its full content (conversation history & metadata) and its title.
      • For each 'folder': Its name and its user-defined description (if present).
    • LLM Logic: A cost-effective LLM model will analyze the canvas content/title against the folder names/descriptions to determine the most relevant folder.
    • Output & User Feedback:
      • The system will move each canvas to the folder suggested by the LLM with the highest confidence score.
      • Provide clear visual feedback to the user, such as a toast notification and visually highlighting the newly moved items briefly.
    • Performance: Implement a loading state or progress indicator for the user, especially if more than one canvases are being processed.

2. Homepage (Dashboard/Landing Page)

  • Folder Display: Canvases will be displayed within user-created folders in the same way as the history sidebar.
  • Collapse/Expand Folder View: Similar functionality as in the history sidebar should be available for any folder lists displayed on the homepage.

3. Settings (Folder Management)

  • Create New Folder:

    • Users can create new folders via a dedicated UI section in the settings.
    • Each folder must have:
      • Name (required): A user-defined string.
      • Description (optional): A text area for users to provide a detailed description of the folder's purpose or expected content. This is critical for improving the accuracy of the LLM's auto-classification.
    • (Consider: Optional icon or color for visual distinction, but not a P0 for initial implementation).
  • Edit Folder:

    • Users must be able to edit the name and description of existing folders.
  • Delete Folder:

    • Users can delete existing folders.
    • Behavior on Deletion: When a folder is deleted, all canvases contained within it must be automatically moved to the "Uncategorized" section. A confirmation dialog should warn the user about this action before proceeding.
  • Reorder Folders:

    • Allow users to manually reorder their folders in the settings. This custom order should be reflected consistently across the history sidebar and homepage.

4. General Considerations

  • Persistence: All folder structures, canvas assignments to folders, and folder collapse/expand states must persist across user sessions (e.g., stored in user preferences or backend database).
  • Empty Folders: How are empty folders displayed?
  • Performance: Ensure that loading and displaying a potentially large number of folders and canvases, especially after auto-classification, remains performant and responsive.

Metadata

Metadata

Labels

enhancementImproving existing features or functionality, without adding entirely new capabilities.

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions