Lightning-fast file search for macOS — a native alternative to Windows' "Everything" search tool
Prism is a high-performance desktop search utility for macOS that maintains a lightweight SQLite database to enable instant filename search across massive audio libraries (5M+ files) on external drives.
- Instant Search: Sub-100ms search latency for millions of files using SQLite FTS5
- External Drive Support: Index and search files on external drives, even when offline
- Audio-Focused: Specialized indexing for audio file formats (MP3, WAV, FLAC, and more)
- Volume UUID Tracking: Handles drive renaming without re-indexing
- Responsive UI: Maintains 60fps performance while indexing large libraries
- Real-time Progress: Live feedback during volume scanning
Common: mp3, wav, flac, aac, m4a, ogg, wma, aiff, aif
Advanced: ape, opus, alac, dsd, dsf, mp2, mpc, wv, tta, ac3, dts
- macOS 14.0 (Sonoma) or later
- Xcode 15.0+ (for building from source)
git clone https://github.com/jotarios/prism.git
cd prism/prism
open prism.xcodeprojBuild and run using Xcode (Cmd+R) or command line:
xcodebuild -scheme prism -configuration Release- Launch Prism and connect your external drives
- Scan a volume by clicking the scan button next to a volume in the sidebar
- Search instantly as files are indexed — just start typing in the search bar
- Open files by double-clicking results or use QuickLook (Spacebar)
- File Scanner: Breadth-first traversal with batched database writes
- SQLite Database: FTS5 full-text search with WAL mode for concurrency
- Search Engine: Optimized prefix matching for large datasets
- UI Layer: AppKit/SwiftUI hybrid with virtualized table views
- Search latency: <100ms for 5M+ files
- Batch size: 500 files per transaction
- Progress updates: Every 50 files
- UI responsiveness: Non-blocking async operations
xcodebuild -scheme prism -configuration Debugxcodebuild test -scheme prismprism/
├── Database/ # SQLite database manager
├── Models/ # Data models (FileRecord, VolumeInfo)
├── Scanner/ # File system scanning logic
├── ViewModels/ # Search and state management
└── Views/ # SwiftUI/AppKit UI components
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using Conventional Commits format:
feat: add new search filterfix: resolve UI freezing during scandocs: update installation instructionsrefactor: optimize database queries
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- MVP: Basic UI, file scanner, database, instant search
- Phase 2: Performance improvement, FSEvents monitoring, auto-indexing on drive mount
- Phase 3: ID3 tag metadata extraction, drag-and-drop support
- Phase 4: Dark mode, QuickLook integration, advanced filters
MIT License - see LICENSE file for details
- Inspired by Everything for Windows
- Uses GRDB.swift for SQLite access
- Built with Swift and SwiftUI
Note: This project is in active development. The current version implements core search functionality with planned enhancements for file monitoring and metadata extraction.
