π― StratoSort - AI-Powered Document Organization

[](https://opensource.org/licenses/MIT)
[](https://www.electronjs.org/)
[](https://reactjs.org/)
[](https://ollama.ai/)
[](https://tailwindcss.com/)
Production-Ready AI File Organization System - Complete with glassmorphism UI, semantic analysis, and intelligent file management.
π Overview
StratoSort is a production-ready, privacy-focused AI document organization system that intelligently categorizes and organizes your files using local AI processing. Built with modern technologies and featuring a beautiful glassmorphism interface, StratoSort provides enterprise-grade file management without compromising your privacy.
β
Feature status
- Available now
- Document analysis: PDFs, DOC/DOCX, TXT/MD/RTF/HTML, XLSX, PPTX with Ollama-backed extraction and sensible fallbacks
- Image analysis: PNG/JPG/JPEG/GIF/BMP/WEBP/TIFF/SVG via vision models; basic OCR support
- Smart folders: add/edit/delete, directory creation/validation, folder structure scan, semantic matching (embeddings/LLM fallback)
- Batch organize: conflict-safe moves with progress events and unique-name handling
- Undo/Redo: action history with confirmation for destructive operations and a history modal
- Analysis history: record, search, statistics, and JSON export
- Settings: Ollama host and model selection persisted to user data
- File selection: select files or scan directories (recursively) for supported types
- Disabled in this build
- Audio analysis/transcription: modules exist, but UI and IPC are disabled. References are commented in
src/preload/preload.js
, src/renderer/App.js
, and src/main/simple-main.js
.
- Planned / in progress
- In-app semantic search UI leveraging stored analysis and embeddings
- Expanded accessibility and theming options
- Optional video analysis
π Key Benefits
- π 100% Privacy: All AI processing happens locally using Ollama
- π¨ Modern Design: Beautiful glassmorphism UI with Apple-inspired aesthetics
- π§ Smart Analysis: Deep content analysis for accurate categorization
- β‘ Fast Processing: Optimized models for quick file analysis
- π Smart Folders: Automatic organization into intelligent folder structures
β¨ Current Features
π― Complete 5-Phase Workflow
- π Welcome - Introduction and quick start options
- βοΈ Setup - Configure smart folders and AI settings
- π Discover - File selection, scanning, and automatic AI analysis
- π Organize - Review suggestions and execute file organization
- β
Complete - Results summary and workflow completion
π§ AI-Powered Analysis
- Content Analysis: Reads and understands file contents (PDFs, text, documents)
- Smart Categorization: Intelligent folder matching based on content
- Metadata Extraction: Extracts subjects, dates, projects, and purposes
- Confidence Scoring: AI confidence levels for organizational decisions
- Multi-Format Support: PDF, DOC/DOCX, TXT/MD/RTF/HTML, XLSX, PPTX, and common images
π¨ Modern Interface
- Glassmorphism Design: Translucent cards with backdrop blur effects
- Responsive Layout: Full-height phases without scrolling
- Smooth Animations: Subtle transitions and micro-interactions
- Accessibility: ARIA labels, keyboard navigation, screen reader support
- Dark/Light Themes: Adaptive color schemes
π Smart Folder Management
- Custom Folders: Create intelligent organizational structures
- Path Integration: Real file system path management
- Bulk Operations: Organize hundreds of files simultaneously
- Undo/Redo: Full operation history with rollback capability
- Conflict Resolution: Handle naming conflicts automatically
Optimized model selection
- Text analysis:
llama3.2:latest
(default)
- Vision analysis:
llava:latest
(default)
- Audio (optional, currently disabled in UI):
dimavz/whisper-tiny:latest
- Real-world speed and accuracy depend on your hardware and chosen models
- Works offline with local inference via Ollama; without Ollama, AI-driven features are limited
π Quick Start
Prerequisites
- Node.js 18.0.0 or higher
- npm 8.0.0 or higher
- Ollama (for AI functionality)
Installation
- Clone & Install
git clone https://github.com/yourusername/stratosort.git
cd stratosort
npm install
- Setup Ollama
# Install Ollama (https://ollama.ai)
# Windows
winget install Ollama.Ollama
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.ai/install.sh | sh
- Install Required Models
ollama pull llama3.2:latest
ollama pull llava:latest
# Optional (audio; currently disabled in UI)
# ollama pull dimavz/whisper-tiny:latest
- Start StratoSort
π§ Using Ollama locally
Windows
Vision (images)
ollama pull llava:latest
Optional: Embeddings
ollama pull mxbai-embed-large
Optional: Whisper (tiny) for audio transcription
ollama pull dimavz/whisper-tiny:latest
- Verify:
```powershell
ollama list
curl http://127.0.0.1:11434/api/tags
ollama run llama3.2:latest -p "Say hello"
- Configure in StratoSort:
- Open Settings β AI Configuration
- Host: http://127.0.0.1:11434
- Text Model:
llama3.2:latest
- Vision Model:
llava:latest
- Save
macOS
- Install:
brew install ollama
# or download the macOS app from https://ollama.ai
- Start:
- Pull models and verify (same commands as Windows, adjust shell).
Linux
- Install:
curl -fsSL https://ollama.ai/install.sh | sh
- Start and pull models (same commands as above).
Troubleshooting
- Connection refused: Ensure the server is running (
ollama serve
).
- Model not found: Run
ollama pull <model>
.
- Different host/port: Set the Host in StratoSort Settings to your Ollama URL (default
http://127.0.0.1:11434
).
ποΈ Architecture
Modern Tech Stack
- Frontend: React 18 + TailwindCSS with glassmorphism design
- Backend: Electron main process with Node.js services
- AI Processing: Ollama integration for local inference
- Build System: Webpack 5 with optimized bundles
- State Management: React Context with persistent storage
File Structure
stratosort/
βββ src/
β βββ main/ # Electron main process
β β βββ analysis/ # AI analysis services
β β βββ services/ # Core business logic
β β βββ simple-main.js # Application entry point
β βββ renderer/ # React frontend
β β βββ components/ # UI components
β β βββ App.js # Main application
β β βββ tailwind.css # Styling system
β βββ preload/ # Secure IPC bridge
β βββ shared/ # Common constants & utilities
βββ assets/ # Icons & resources
βββ test/ # Test suites
π» Development
Available Commands
# Development
npm run dev # Start development Electron app (dev build)
npm run start:dev # Dev build + Electron with logging
npm run start:debug # Dev build + Electron with inspector
npm run electron # Build dev bundle and launch Electron
npm run build:dev # Build renderer/main in development mode
# Build & distribution
npm run build # Production build
npm run package # Create distributable
npm run dist # Build installer for current platform
npm run dist:win # Build Windows installer (.exe)
npm run dist:mac # Build macOS installer (.dmg)
npm run dist:linux # Build Linux AppImage/.deb (per config)
npm run dist:all # Build for all platforms
# Testing
npm test # Run Jest test suite
npm run test:quick # Quick run (bail on first failure)
npm run test:full # Full test suite with coverage
npm run verify # Show test guide and available commands
# Ollama utilities
npm run setup:ollama # Guided setup
npm run check:ollama # Check Ollama status
npm run start:ollama # Start Ollama service
npm run ollama:models # Pull example model(s)
npm run ollama:serve # Alias to 'ollama serve'
# Linting
npm run lint # Code linting
Development Features
- Hot Reload: Live updates during development
- Source Maps: Full debugging support
- Error Boundaries: Comprehensive error handling
- Performance Monitoring: Built-in analytics
- Memory Management: Optimized for large file operations
π§ͺ Testing
Whatβs covered
- Analysis modules: document and image analysis happy-paths and edge cases (Ollama calls mocked in tests)
- File operations: move/copy/delete, conflict handling, folder creation
- Integration scripts: sample end-to-end flows for file movement and folder scaffolding
Run tests locally with npm test
. Note: audio analysis tests exist for module-level behavior, but audio features are disabled in the current UI build.
π― Usage Workflow
Step-by-Step Process
- π Welcome Phase
- Choose between βOrganize Files Nowβ or βSetup Configurationβ
- Optional demo walkthrough (currently hidden for streamlined experience)
- βοΈ Setup Phase
- Create smart folders with custom names and paths
- Configure AI models and performance settings
- Set up naming conventions and organizational rules
- π Discover Phase
- Select files via drag & drop, file browser, or folder scanning
- Automatic AI content analysis begins immediately
- Real-time progress tracking with detailed feedback
- π Organize Phase
- Review AI suggestions for each file
- Edit categories, names, and destinations as needed
- Execute batch organization with confirmation dialogs
- β
Complete Phase
- View organized files summary
- Access undo/redo operations
- Return to any phase for additional organization
π οΈ Configuration
Smart Folder Setup
// Example smart folder configuration
{
name: "Research Papers",
path: "C:/Users/YourName/Documents/Research",
description: "Academic papers and research documents",
keywords: ["research", "paper", "study", "analysis"],
semanticTags: ["academic", "scientific", "educational"]
}
AI Model Configuration
- Text Model: Controls document content analysis
- Vision Model: Handles images and visual documents
- Audio Model (optional/disabled): Transcription model if you enable audio features during development
- Timeout Settings: Configurable analysis timeouts
- Confidence Thresholds: Minimum confidence for auto-organization
π€ Contributing
Development Setup
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature
)
- Follow the established code patterns and architecture
- Ensure all tests pass (
npm test
)
- Submit pull request with detailed description
Code Standards
- Clean Code: Follow established patterns, no technical debt
- Type Safety: Use proper TypeScript where applicable
- Error Handling: Comprehensive error boundaries and logging
- Performance: Optimize for speed and memory efficiency
- UI/UX: Maintain glassmorphism design consistency
π License
MIT License - Complete freedom to use, modify, and distribute.
Permissions
- β
Commercial use
- β
Modification
- β
Distribution
- β
Private use
Requirements
- π License and copyright notice
- π Attribution in distributions
π Links & Resources
**π StratoSort - Intelligent File Organization**
*Privacy-focused β’ AI-powered β’ Production-ready*
**Built with modern technologies for the modern workspace**