-
Basic Electron app setup with:
- Document processing pipeline
- Vector embeddings using all-MiniLM-L6-v2
- SQLite database for storage
- Basic search functionality
- Collection management
- Drag-and-drop file handling
-
UI Improvements:
- Added semantic highlighting for search results
- Implemented collection deletion
- Added shadcn/ui components
- Set up Tailwind with proper theming
-
Database Strategy
- Current: SQLite with JS-based vector similarity
- Alternative Options:
- DuckDB with native vector operations (faster but less stable)
- ChromaDB (more features but heavier)
- PostgreSQL with pgvector (more robust but requires server)
-
UI Framework Migration
- Current: Mixed HTML/JS with some React components
- Options:
- Full React migration
- Keep hybrid approach
- Stay with vanilla JS/HTML
-
Search Optimizations
- Implement ANN (Approximate Nearest Neighbors)
- Add metadata filtering
- Improve chunk context handling
- Add relevance feedback
-
Features to Consider:
- Document preview/viewer
- Export functionality
- Batch operations
- Advanced filtering
- Collection sharing
- Undo/redo operations
-
Build/Distribution
- Configure electron-forge properly
- Set up auto-updates
- Handle large file processing
- Optimize bundle size
-
Architecture Decisions:
- IPC communication patterns
- State management (if moving to React)
- File storage strategy
- Caching strategy
- Decide on UI framework approach (React vs Hybrid)
- Implement document preview functionality
- Optimize vector similarity search
- Add batch operations for collections
- Improve error handling and user feedback