AI-Assisted Document Annotation with Human-in-the-Loop Workflows
Get the latest version of AnnotaLoop for your platform:
| Platform | File Pattern | Architecture |
|---|---|---|
| macOS (Apple Silicon) | AnnotaLoop_x.x.x_aarch64.dmg |
ARM64 |
| macOS (Intel) | AnnotaLoop_x.x.x_x64.dmg |
x64 |
| Windows | AnnotaLoop_x.x.x_x64-setup.exe |
x64 |
| Linux (AppImage) | AnnotaLoop_x.x.x_amd64.AppImage |
x86_64 |
| Linux (Debian) | AnnotaLoop_x.x.x_amd64.deb |
x86_64 |
| Linux (RPM) | AnnotaLoop_x.x.x-1.x86_64.rpm |
x86_64 |
Note: Click the link above and download the appropriate file for your platform from the Assets section.
- Download the appropriate DMG for your Mac (Apple Silicon or Intel)
- Open the DMG file
- Drag AnnotaLoop to your Applications folder
- First launch: Right-click the app and select "Open" (due to macOS Gatekeeper)
- You may need to allow the app in System Settings > Privacy & Security
AnnotaLoop is a powerful desktop application that streamlines document annotation workflows using AI assistance. It combines state-of-the-art Large Language Models with human oversight to create high-quality, structured data from documents.
- Researchers extracting structured data from academic papers
- Legal professionals analyzing contracts and legal documents
- Data scientists creating training datasets
- Content analysts categorizing and tagging documents
- Anyone who needs to extract structured information from text documents
- Import your documents (PDF, DOCX, TXT, Markdown)
- Configure labels and extraction rules for your use case
- Process with AI - the LLM suggests annotations based on your rules
- Review all suggestions in an intuitive interface with human-in-the-loop validation
- Export accepted annotations in your preferred format
- AI-Powered Annotation - Leverage cloud LLM providers (Mistral AI, OpenAI, Claude, Gemini, OpenRouter)
- Multi-Format Support - Process PDFs, Word documents, text files, and Markdown
- Custom Labels & Rules - Define your own annotation schema with extraction rules
- Human-in-the-Loop - Review, accept, reject, or modify AI suggestions
- Batch Processing - Annotate multiple documents efficiently
- Flexible Export - Export to JSON, CSV, or annotated PDFs
- Project Management - Organize documents into projects with reusable configurations
- Security - Optional PIN-based app lock for sensitive data
- Dark Mode - Beautiful light and dark themes
Get started quickly with these comprehensive video guides:
| Tutorial | Description |
|---|---|
| Start Your First Project | Complete walkthrough from setup to export |
| LLM Setup Guide | Configure your AI provider |
| Batch Processing | Process multiple documents at once |
| Import & Export | Manage your annotation projects |
Get started with your first project or import existing work
Connect to your preferred AI provider with secure API key storage
Manage and track all your documents in one place
Define custom labels for document annotation
Set up extraction rules for intelligent data extraction
Local LLM support (Ollama, LM Studio) is currently under development
Review AI-suggested annotations with human-in-the-loop validation and confidence scores
Export your annotated data in multiple formats (JSON, CSV, PDF)
- Frontend: React + TypeScript + Tailwind CSS
- Backend: Tauri (Rust)
- PDF Processing: pdf-lib, pdfjs-dist
- Document Conversion: mammoth.js (DOCX)
- State Management: React Context
- Icons: Lucide React
- Node.js (LTS version)
- Rust (stable toolchain)
- Platform-specific dependencies:
- macOS: Xcode Command Line Tools
- Linux:
libwebkit2gtk-4.1-dev,libgtk-3-dev,librsvg2-dev,patchelf,libxdo-dev - Windows: WebView2 (usually pre-installed)
# Clone the repository
git clone https://github.com/tayyab-nlp/AnnotaLoop.git
cd AnnotaLoop
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri buildAnnotaLoop/
├── src/ # React frontend
│ ├── components/ # UI components
│ │ ├── annotation/ # Annotation workflow
│ │ ├── dashboard/ # Project dashboard
│ │ ├── modals/ # Modal dialogs
│ │ └── ui/ # Reusable UI components
│ ├── services/ # Business logic & API clients
│ ├── utils/ # Helper functions
│ └── context/ # React Context
├── src-tauri/ # Tauri backend (Rust)
│ ├── src/ # Rust source code
│ ├── icons/ # App icons
│ ├── capabilities/ # Tauri permissions
│ └── tauri.conf.json # Tauri configuration
├── .github/workflows/ # CI/CD automation
└── docs/ # Documentation & screenshots
AnnotaLoop includes automatic update functionality:
- Checks for updates on every launch
- Notifies users when a new version is available
- One-click download and installation
- Seamless update process with automatic restart
AnnotaLoop is open-source software licensed under the MIT License.
Free & Open Source Forever - Use it, modify it, share it!
Contributions are welcome! Here's how you can help:
- Report bugs via Issues
- Suggest features by opening a discussion
- Submit pull requests for bug fixes or features
- Improve documentation
- ⭐ Star the repository to show your support!
Need help or found a bug?
- Check the video tutorials
- Open an issue
- Contact: hello@tayyab.io
- Visit: tayyab.io/annotaloop
Built with modern open-source technologies and powered by state-of-the-art LLMs from:
- Mistral AI
- OpenAI
- Anthropic
- Google (Gemini)
- OpenRouter
Made with ❤️ by Tayyab
