Skip to content

Conversation

@bencarver
Copy link

Summary

This PR adds several features to improve the workflow for document review projects:

  • Project Save/Load: Save and load entire projects as JSON files, preserving columns, documents, extraction results, and settings
  • Selective Document Re-analysis: Select specific documents via checkboxes to re-run analysis (useful when prompts are updated)
  • Column Template Library: Save column configurations to a reusable library for future projects
  • Apple Silicon GPU Support: Native MPS (Metal Performance Shaders) acceleration for the Docling backend on macOS

Changes

New Files

  • utils/fileStorage.ts - Save/load utilities for projects and column library
  • components/ColumnLibrary.tsx - Modal UI for browsing and managing saved column templates
  • start-backend.sh - Convenience script to run the backend natively with GPU acceleration

Modified Files

  • App.tsx - Added save/load handlers, document selection state, re-run logic, library integration
  • components/DataGrid.tsx - Added checkbox column for document selection
  • components/AddColumnMenu.tsx - Added "Save to Library" option and "Browse Library" button
  • components/Icons.tsx - Added new icons (Save, FolderOpen, Library, RefreshCw)
  • types.ts - Added SavedProject, ColumnTemplate, ColumnLibrary interfaces
  • server/main.py - Added MPS GPU acceleration configuration for macOS
  • server/requirements.txt - Added mlx_vlm for MLX support
  • Dockerfile.backend - Added system dependencies for document processing
  • docker-compose.yml - Changed frontend port to 3001 to avoid conflicts

Test Plan

  • Save a project with documents and columns, reload page, load the saved project
  • Select documents with checkboxes and verify "Re-run Selected" button appears
  • Create a column and save it to the library, then add it to a new project from the library
  • Run backend natively on Mac and verify MPS acceleration is detected
  • Test Docker deployment still works (frontend on 3001, backend on 8000)

… support

Features:
- Save/Load projects as JSON files (columns, documents, results preserved)
- Selective document re-analysis with checkbox selection in DataGrid
- Column template library for reusable extraction prompts
- Apple Silicon MPS GPU acceleration for Docling backend

Changes:
- Add SavedProject, ColumnTemplate, ColumnLibrary types
- Create fileStorage.ts utility for save/load operations
- Add ColumnLibrary.tsx component for template management
- Update DataGrid with document selection checkboxes
- Update AddColumnMenu with "Save to Library" option
- Configure backend for MPS acceleration on macOS
- Add start-backend.sh for native backend with GPU
- Fix Docker port conflict (frontend now on 3001)
- Add CORS support for localhost:3001
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant