An open-source AI coworker (YC S24) that turns work into a local-first knowledge graph and acts on it via background agents for drafting, summarizing, and planning.
Overview#
Rowboat is an AI productivity platform focused on building an "actionable knowledge graph." It acts not just as a knowledge base, but as an agent capable of proactively completing work. By synchronizing scattered work data (e.g., Gmail, Granola/Fireflies meeting notes) into a local Markdown Vault (compatible with Obsidian), Rowboat uses LLM capabilities to backlink this data into a network structure, forming a long-term memory.
The project is written primarily in TypeScript (~97%), licensed under Apache-2.0, and is part of rowboatlabs (Y Combinator S24).
Key Features#
- Local-First Knowledge Graph Memory: Converts emails and notes into a local Markdown knowledge graph, forming auditable working memory through backlinks.
- Background Agents: Agents running in the background can automate repetitive tasks, such as drafting email replies, generating daily audio briefings, creating periodic project updates, and continuously updating the knowledge graph.
- Multi-source Data Integration: Supports Gmail, Granola, Fireflies, Google Calendar, and Drive. Optional integration with Brave Search and Exa research search.
- MCP Extension Ecosystem: Connects to external tools/services via the Model Context Protocol (MCP), such as Exa, Twitter/X, ElevenLabs, Slack, Linear/Jira, and GitHub.
- Flexible Model Support: Supports local models (Ollama / LM Studio) as well as hosted models (OpenAI/Anthropic/Google/OpenRouter) with the ability to switch models at any time.
Architecture & Deployment#
The project uses a pnpm Monorepo structure containing:
- Electron Desktop App (apps/x): The core desktop client based on Electron 39.x, React 19, and Vite 7.
- Web Dashboard (apps/rowboat): Built with Next.js.
- Server Components: Supports Docker Compose deployment, including MongoDB, Redis, and Qdrant (vector retrieval) services.
Users can get started quickly by downloading the desktop app or opt for self-hosted deployment via Docker. Data is stored locally in Markdown files by default, ensuring users retain full data sovereignty.