Show HN: Rowboat – Open-source, local-first alternative to Claude Desktop

github.com

195 points by segmenta a day ago


Claude’s desktop app is brilliant, but for our own daily work we kept wanting it to be less like a chat app and more like a full-fledged work app. Rowboat is our attempt at that, including the ability to build your own work surfaces inside Rowboat (more below).

Our repo is https://github.com/rowboatlabs/rowboat, and there’s a demo video here: https://www.youtube.com/watch?v=et5yQABJ3xI

In a previous startup, we built a deep-learning product for enterprise support reps, including teams supporting P&G brands. Models took live notes, suggested replies, and recommended actions while support reps were on calls or handling emails. One lesson stuck with us: it's not enough for the AI to be right, the help has to show up where the work is happening.

So we added what we came to call “work surfaces”: dedicated areas for email, meetings, notes, browser, and parallel coding, where the assistant can help inside the workflow itself rather than only through chat:

- Email client: Rowboat has a simple email client that sorts incoming emails into important vs. everything else, and pre-creates drafts for important emails. As you edit and send emails, it takes notes on your style, so future drafts get closer to your voice.

- Meeting notes: We built a Granola-style local meeting notetaker. Notes are stored as plain Markdown files on your machine. After a meeting, Rowboat feeds the notes back into the knowledge graph and updates the relevant people, project, and topic notes.

- Browser: We added a built-in browser, isolated from your main one, where you can log in only to the accounts you want the assistant to help with. The assistant uses browser-use skills to navigate websites.

- Parallel coding: The code-mode inside Rowboat lets you spin multiple instances of Claude Code or Codex and either work with them directly or let Rowboat use your work context to orchestrate them. We built an ACP (Agent Client Protocol) client in Rowboat for this.

- Notes: Rowboat has an Obsidian-style local note-taking system. It comes with graph view, bases view, and voice notes. You can also sync Google Docs files and edit them inside Rowboat.

You can also build your own work surfaces inside Rowboat (web apps). Each app gets its own UI and a background agent, and can use all of Rowboat's tools, product integrations, and your work memory. For instance: an app to manage GitHub activity, project tracking, or ads campaign management. There are a few community apps at launch you can search and install, and you can publish your own by creating a GitHub repo for it and registering it.

Rowboat also indexes your work into a knowledge graph that all of the above surfaces use to have better context. We did a Show HN a few months back on this: https://news.ycombinator.com/item?id=46962641.

As an example that ties some of these together: you can create an app inside Rowboat that collects feature requests from your email, meetings, and Slack and ranks them, then uses Claude Code to draft a first version of the top-ranked feature, pulling prior context about it from your knowledge graph.

Rowboat is local-first: data is stored as plain Markdown files you can read, edit, or delete anytime. It is Apache-2.0 and works with any LLM, including local models through Ollama or LM Studio.

We’d love to hear your thoughts, and contributions are welcome!

piratebroadcast - 2 hours ago

Rowboat markets itself as "local-first," but if you look in the actual codebase, transcription is Deepgram cloud, voice is ElevenLabs, analytics is PostHog, and the LLM is a cloud API.

brainless - 19 minutes ago

I have a project on very similar lines, https://github.com/brainless/dwata, which I have not been developing for the past few months. I have been meaning to get back to it and I really like what I see on your project page.

My aim is to build a truly local app using only tiny/small models. I have had really good results from Qwen 3.5 1B, 4B, etc. Also, Gliner or similar models for different uses. SQLite + sqlite-vec + Tantivy + a tiny embedding model will stay as my go to.

In my case, coding agent is a separate product. I have https://github.com/brainless/nocodo for that. nocodo is also built for tiny/small models from the ground up. And recently I started building a wGPU based UI framework to build both these apps as native UI apps in Rust: https://github.com/brainless/akar. I also want e2e encrypted team/family sharing in my products.

Thank you for the inspiration. Would love to share notes and follow your progress.

MomsAVoxell - an hour ago

All I want in an AI is this:

1. cd <myVeryImportantProject.repo> 2. start_AI_agent_REPL 3. "hey AI, analyze the code base in this repo, and find any and all bugs related to 'e.g. porting from 32bit -> 64bit architecture', create work branches for the bug fixes, submit a PR at the repo site for each fix" 4. Goto 3.

I want to be able to treat my AI/ML assistant as a daemon I can turn on and off for any repo - I do not want it to be running all the time, I don't want an email interface to it, I don't want it to analyze my system to try to help me, I want it to be treated like any other system service I will enable and disable, per-directory, manually.

Everything else - the desktop app, the in-built browser, the Obsidian note-taking system - is pure noise, and it immediately disqualifies Rowboat from any investment on my part.

Just a simple daemon style approach, with a REPL, an interface to Git, and THAT IS ALL.

There will be a time and place for a whole new radical UI to AI/ML in my personal laboratory - that time is when I get a brand new machine dedicated just to AI/ML and only put things on it that I want to put on it. Not my personal machine, not my development machine - a machine that will only function as a junior AI/ML-based software developer in my team, with an interface to Git that is standard and battle-tested over years and years of actual work - and nothing else.

I know this tool is out there. I continue to swim through the junk to find it, however.

Rowboat is instantly disqualified from my environment by bringing in too many bells and whistles - all of it junk, because I will have to learn to manage it all anew, and that is not what I want in an AI/ML agent.

Anything which detracts from having AI/ML sandboxed as a daemon and its only interface through the current .git/config for the repo I'm applying it to, is noise and nonsense.

satoyoshidev - 34 minutes ago

If I edit or delete a note straight in the vault (outside the app), does the graph re-index it or go stale?

jayzer01 - an hour ago

You mentioned Claude Code makes drafts. Does rowboat have a terminal area that is fully compatible with claude code? How does claude code then access my emails?

QuicklyNow - 2 hours ago

Really interesting, thanks for creating this. I've been slow to adopt the desktop apps (although use the web interface and VS code plugins for all the main players). This might just be the point at which there's a vendor-agnostic option worth investing my effort into setting up.

My question is, can I interact with it over mobile? If I'm away from the desktop, and I want to check-in with it (query the .knowledge, or trigger some coding task etc), is there that option?

dannyobrien - 16 hours ago

What I'm looking for right now is a tool like this that lets more than one person participate in the conversation: right now Claude Code and similar tools are great for working alone, but I'd like to effectively pair-prompt with a partner who can see what's happening, and take turns steering the conversation.

Can Rowboat do this? If not, does anybody know a harness that can?

nshotton - an hour ago

This looks really great! Quick question, is there any support for using local models?

dr_hooo - 11 hours ago

Look really great! I'm a bit sad that the only way to connect to email is gmail. Is a generic IMAP connector on your roadmap?

thih9 - 5 hours ago

How does sandboxing work for code?

Is there a way to control the isolation myself, e.g. let it run code only in some VM that I provide?

Edit: is there a sandbox for code?

ActionHank - 19 hours ago

The growing problem with this and many other AI offerings is the asymmetry of effort.

All of them take my notes, meeting transcripts, jira tickets, code, websites, and give me more to read.

Then everyone else in the org is doing the same, to give me more to read. At the end of the day there is too much to read.

AI is supposed to be reducing toil, but it's just making more.

starcalleryisss - 17 hours ago

Looks great. Is there an onboarding/xfer workflow from an existing Claude code harness?

I’ve spent a ridiculous amount of time building my wiki, feature plans, retrospectives, client overviews, meta overview, log, skills, commands and the barrier to trying a new command surface or agent is always “will I maintain my edge”.

Or am I misunderstanding? Is it that I would just spawn windows to that existing harness and get to harvest additive features/data from rowboat on top?

Edit - my typical approach would be to scrape out features from a tool like this to bolt onto my harness, why would I not do that here?

_puk - 17 hours ago

I actually was using this quite a lot earlier this year, thanks for this!

What I actually ended up doing was regularly pointing Claude at the Rowboat directory. Really useful to have all of this context available as markdown files.

I use my own standard format for all context capsules, and had my own branch running with that format hacked in.

Being able to describe the format in a plugin style architecture would be awesome.

Granola notes silently stopped working when they decided to encrypt the DB, interesting to see you've got your own in there now.

Will check it out again.

icevl - 5 hours ago

This looks very close to what I want from AI tools: not just chat, but memory + actual work surfaces around

sizero - 19 hours ago

This is neat, excited to try it. Over the last months I’ve been exclusively using Codex for non-coding tasks. It’s not bad, but there’s much to improve. This seems like a step in the right direction!

BlocksAI - 3 hours ago

This is great!

iugtmkbdfil834 - 15 hours ago

Super neat; will test. Initial read suggests the memory accretion continues indefinitely. Asking partially since I am still working on a personal way to deal with that as an issue:

Any plans for a more opinionated way to handle memory ( but still within user's control )?

edit: syntax

tomComb - 18 hours ago

This looks great, but let's see if I have this right ...

The "Agent Apps" (or whatever we are calling them) from the big vendors are organized around projects/folders, and we attach apps (via plugins) to the projects.

This appears to mae the apps (work surfaces) the primary artifact?

neozino - 18 hours ago

Really cool, how long did something like this take to build?

nekusar - 3 hours ago

1. No container to constrain a off-the-rails LLM.

2. Doesn't support generic IMAP email.

3. Doesn't accept my STT.

4. Doesn't accept my TTS.

5. Doesn't accept my SearxNG/custom search engine

danteocualesjr - 18 hours ago

love this. will try this out.

oneandonley1 - 10 hours ago

Another wrapper . Guys please build something real, AI cost too much $$ to just keep building things that already exist.

snootypoot - 14 hours ago

this is the first harness ive been excited to try in a while. looks pretty feature rich and suits most of my needs.

Masho_17 - 2 hours ago

[flagged]

linggen - an hour ago

[flagged]

zigapotocnik - 6 hours ago

[flagged]

mune2gu-chan - 6 hours ago

[flagged]

jkwang - 7 hours ago

[flagged]

x0040h - 21 hours ago

[flagged]

VaporJournalAPP - 16 hours ago

[flagged]

jing09928 - 13 hours ago

[dead]