Show HN: Rowboat – AI coworker that turns your work into a knowledge graph (OSS) (github.com)
AI agents that can run tools on your machine are powerful for knowledge work, but they’re only as useful as the context they have. Rowboat is an open-source, local-first app that turns your work into a living knowledge graph (stored as plain Markdown with backlinks) and uses it to accomplish tasks on your computer.
For example, you can say "Build me a deck about our next quarter roadmap." Rowboat pulls priorities and commitments from your graph, loads a presentation skill, and exports a PDF.
Our repo is https://github.com/rowboatlabs/rowboat, and there’s a demo video here: https://www.youtube.com/watch?v=5AWoGo-L16I
Rowboat has two parts:
(1) A living context graph: Rowboat connects to sources like Gmail and meeting notes like Granola and Fireflies, extracts decisions, commitments, deadlines, and relationships, and writes them locally as linked and editable Markdown files (Obsidian-style), organized around people, projects, and topics. As new conversations happen (including voice memos), related notes update automatically. If a deadline changes in a standup, it links back to the original commitment and updates it.
(2) A local assistant: On top of that graph, Rowboat includes an agent with local shell access and MCP support, so it can use your existing context to actually do work on your machine. It can act on demand or run scheduled background tasks. Example: “Prep me for my meeting with John and create a short voice brief.” It pulls relevant context from your graph and can generate an audio note via an MCP tool like ElevenLabs.
Why not just search transcripts? Passing gigabytes of email, docs, and calls directly to an AI agent is slow and lossy. And search only answers the questions you think to ask. A system that accumulates context over time can track decisions, commitments, and relationships across conversations, and surface patterns you didn't know to look for.
Rowboat is Apache-2.0 licensed, works with any LLM (including local ones), and stores all data locally as Markdown you can read, edit, or delete at any time.
Our previous startup was acquired by Coinbase, where part of my work involved graph neural networks. We're excited to be working with graph-based systems again. Work memory feels like the missing layer for agents.
We’d love to hear your thoughts and welcome contributions!
24 comments
[ 4.0 ms ] story [ 53.5 ms ] threadIn practice, i connected gmail and asked it: "can you archive emails that have an unsubscribe link in them (that are not currently archived)?" and it got stuck on "I'll check what MCP tools are available for email operations first." But i connected gmail through your interface, and I don't see in settings anything about it also having configured the mcp? I also looked at the knowledge graph and it had 20 entities, NONE of which I had any idea what they were. I'm guessing its just putting in people trying to spam me into the contacts? It didn't finish running, but I didn't want to burn endless tokens trying to see if it would find actual people i care about, so I shut it down. One "proxy" for "people i care about" might be "people I send emails to"? I could see how this is a hard problem. I also think regardless I want things more transparent. So for the moment, I'm sticking with Craft Code for this even though it is missing some major things but at least its more clear what it is: its claude code, with a nice UI.
Hope this was helpful. I know there are multiple people working on things in this family, and I will probably be "largely solved" by the end of 2026, and then we will want it to do the next thing! Good luck, I will watch for updates and these are some nice ideas!
Google Mail should not be used, nor its use encouraged. Nor should you encourage the use of LLMs of large corporations which suck in user data for mining, analysis, and surveillance purposes.
I would also be worried about energy use, and would not trust an "agent" to have shell access, that sounds rather unsafe.
Prompting is a very specialized skill, average users just don't know what to ask for to get the most out of the LLMs.
Ideally the UX should organize and surface information to the user that is important automatically, without needing to be prompted.
What are the plans for monetization?
1. Do you see any downsides to storing your graph as markdown files on filesystem, rather than, say, a graph DB? I have little experience with either but I imagine there would be perf advatages to certain operations on a graph DB at least?
2. If you're using Obsidian-like .md files, why not use the Obsidian format? I bet some folks would love to have an AI coworker helping build and maintain their Obsidian vault.
I've seen a whole heap of graph-based startups start and then pivot or fail because having a graph doesn't seem to add any additional value that a Sqllite or Postgres database offers. That is, saying we have a "context graph" is just marketing speak, it doesn't really add any new possibility or feature that isn't possible from using other search and database tools.
Also, this kind of tool, using AI to extract a decision from Granola for example, is possible to one-shot prompt. I.e. you don't need any special tool to do it, you just need a single prompt. Granola itself has this kind of functionality.
I think you're trying to solve a problem that doesn't really exist, what surface patterns are you going to uncover that someone don't know to look for? Either there is a todo from a meeting or note or email or there isn't.
Writing notes or prep for a meeting isn't rocket science, and you don't need a graph database to "surface patterns" to prepare your pre-meeting notes. If you use something like Granola, 99% of the time (or maybe 100% really), the Granola summary is all you need. If you want something more you copy the whole transcript and send it to Claude for some specific reason.
Since you're a YC company, I assume this will become paid at some point, but why would I pay when just having an AI note-taker and Claude access is already perfect?
The weird: the javascript it's supposed to run is included as part of the prompt, for the LLM to write to a file via tool calls.
The naive: "Never actually send emails - only create drafts" yeaah the text generator really doesn't work like that.
https://github.com/rowboatlabs/rowboat/blob/f68887496bcb608e...
https://github.com/rowboatlabs/rowboat/blob/f68887496bcb608e...