AppFlowy is an open-source, cross-platform collaborative workspace designed as a privacy-focused alternative to Notion. It unifies note-taking, project management, wikis, and databases into a single interface with built-in AI capabilities—all while keeping your data under your control. Built for individuals and teams who demand data sovereignty, native performance, and customizable workflows without vendor lock-in.
AppFlowy is built with Flutter for cross-platform UI consistency and Rust for high-performance backend operations. It supports desktop (macOS, Windows, Linux), iOS, and Android, with self-hosting options via Docker and full offline functionality. The platform integrates local AI models like Mistral 7B and Llama 3, enabling on-device AI processing without sending data to third parties.
What You Get
- AI-Powered Writing & Insights - AI assists with writing, summarizing, autofilling tables, and extracting actionable items from databases—all while running locally on your device using models like Mistral 7B and Llama 3.
- On-Device AI Models - Run GPT-5, Gemini 2.5, Claude 3.7, Mistral 7B, and Llama 3 locally without cloud dependency, ensuring complete data privacy and offline functionality.
- Custom Databases & Views - Create and visualize databases with Kanban boards, grids, lists, and card views; customize properties, filters, and layouts to match your workflow.
- Beautiful Sites & Documentation - Build rich, publishable documentation sites with embedded databases, images, and rich text blocks—ideal for internal wikis or client-facing knowledge bases.
- Cross-Platform Sync & Offline Mode - Seamlessly work across desktop (macOS, Windows, Linux) and mobile (iOS, Android) with full offline support and optional sync when connected.
- Self-Hosting & Data Ownership - Deploy AppFlowy on your own server using Docker; retain 100% control over your data with no vendor lock-in or cloud dependency.
- Template Library - Start projects faster with pre-built templates for tasks, wikis, project trackers, and team dashboards, all customizable and shareable.
- Extensible with Plugins & Blocks - Extend functionality via community-built plugins and reusable AppFlowy Blocks, enabling custom workflows without modifying core code.
Common Use Cases
- Running a secure internal wiki - A tech team uses AppFlowy to host documentation with embedded databases and AI summaries, keeping sensitive code and processes offline and self-hosted.
- Managing product roadmaps with AI insights - A product manager creates a Kanban board with AI-generated progress summaries and automated task suggestions from database entries.
- Building a personal knowledge base with local AI - A researcher stores academic notes, extracts key insights via on-device Llama 3, and links concepts across pages without uploading to the cloud.
- Leading a remote team with mobile access - A startup founder uses AppFlowy on iPhone and desktop to assign tasks, update project statuses, and collaborate with team members across time zones—all with full data control.
Under The Hood
Architecture
- Clear separation of concerns between Flutter UI and Rust backend, enabling independent development and scaling
- Centralized service registry using Rust’s type system and procedural macros for dependency injection
- Modular cross-platform bindings generated via cargo-make, decoupling native APIs from core logic
- Internationalization managed through a centralized inlang/i18next system with lint-enforced consistency across locales
- Platform-specific build scripts isolated from application logic, supporting independent CI/CD pipelines
Tech Stack
- Flutter frontend with native iOS integration via Swift/Objective-C, deployed through Codemagic CI/CD with Xcode and CocoaPods
- Rust core compiled for mobile targets with cargo-make automation and cargo-lipo for multi-architecture library packaging
- Protocol Buffers used for serialized data exchange, ensuring type-safe communication between frontend and backend
- Internationalization powered by inlang with structured message files and automated linting for 20+ locales
- CI/CD pipeline unifies Flutter testing, native iOS builds, and Rust compilation with artifact publishing and notifications
Code Quality
- Limited test coverage with sparse unit and integration tests, leaving core logic under-verified
- Generic exception handling without custom error types reduces debuggability and increases maintenance friction
- Modular code organization is evident but test files lack consistent naming and structure
- Type safety is partially enforced through Dart and Rust, but test assertions are minimal and lack depth
- Absence of automated static analysis or enforced style guidelines leads to inconsistent code quality
What Makes It Unique
- High-performance Rust backend for database operations enables native-speed data manipulation on mobile
- Bidirectional sync between Flutter and Rust allows real-time collaboration without cloud dependencies
- Protocol Buffers with embedded workspace health validation create a self-healing data layer
- Extensible field-type system provides compile-time safety for customizable database behaviors
- Built-in data repair tools with dry-run validation treat structural integrity as a first-class concern