StratoSort

🎯 StratoSort - AI-Powered Document Organization

StratoSort Logo [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Electron](https://img.shields.io/badge/Electron-26.2.1-blue.svg)](https://www.electronjs.org/) [![React](https://img.shields.io/badge/React-18.2.0-blue.svg)](https://reactjs.org/) [![Ollama](https://img.shields.io/badge/Ollama-Compatible-green.svg)](https://ollama.ai/) [![TailwindCSS](https://img.shields.io/badge/TailwindCSS-3.4.3-blue.svg)](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

πŸ”‘ Key Benefits


✨ Current Features

🎯 Complete 5-Phase Workflow

  1. πŸš€ Welcome - Introduction and quick start options
  2. βš™οΈ Setup - Configure smart folders and AI settings
  3. πŸ” Discover - File selection, scanning, and automatic AI analysis
  4. πŸ“‚ Organize - Review suggestions and execute file organization
  5. βœ… Complete - Results summary and workflow completion

🧠 AI-Powered Analysis

🎨 Modern Interface

πŸ“ Smart Folder Management


πŸ€– AI Models & performance

Optimized model selection

Performance notes


πŸš€ Quick Start

Prerequisites

Installation

  1. Clone & Install
    git clone https://github.com/yourusername/stratosort.git
    cd stratosort
    npm install
    
  2. 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
    
  3. Install Required Models
    ollama pull llama3.2:latest
    ollama pull llava:latest
    # Optional (audio; currently disabled in UI)
    # ollama pull dimavz/whisper-tiny:latest
    
  4. Start StratoSort
    npm run dev
    

🧠 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"

macOS

Linux

Troubleshooting


πŸ—οΈ Architecture

Modern Tech Stack

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


πŸ§ͺ Testing

What’s covered

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

  1. πŸš€ Welcome Phase
    • Choose between β€œOrganize Files Now” or β€œSetup Configuration”
    • Optional demo walkthrough (currently hidden for streamlined experience)
  2. βš™οΈ Setup Phase
    • Create smart folders with custom names and paths
    • Configure AI models and performance settings
    • Set up naming conventions and organizational rules
  3. πŸ” 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
  4. πŸ“‚ Organize Phase
    • Review AI suggestions for each file
    • Edit categories, names, and destinations as needed
    • Execute batch organization with confirmation dialogs
  5. βœ… 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


🀝 Contributing

Development Setup

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Follow the established code patterns and architecture
  4. Ensure all tests pass (npm test)
  5. Submit pull request with detailed description

Code Standards


πŸ“„ License

MIT License - Complete freedom to use, modify, and distribute.

Permissions

Requirements



**🌟 StratoSort - Intelligent File Organization** *Privacy-focused β€’ AI-powered β€’ Production-ready* **Built with modern technologies for the modern workspace**