Show HN: Deta Surf – An open source and local-first AI notebook
143 points| mxek | 4 months ago |github.com
We got frustrated with the fragmented experience of exploring & creating across our file manager, the web and document apps. Lots of manual searching, opening windows & tabs, scrolling, and ultimately copying & pasting into a document editor.
Surf is a desktop app meant for simultaneous research and thinking to minimize the grunt work. It’s made of two parts:
1) A multi-media library where you can save and organize files and webpages into collections called Notebooks.
2) A LLM-powered smart document which you can auto-generate using the context from any stored page, tab or entire notebook. This document contains deep links back to the source material — like a page of a PDF or timestamp in a YouTube video. Unlike Deep Research products (or NotebookLMs chat) the entire thing is editable. The user also stays in the loop.
With a technology like AI, context / data is proving to be king. We think it should stay under the user’s control, with minimal lock in: where you can own & export, and plug & play with different models. That’s why Surf is:
- Open Source on GitHub - Open (& Local Data): the data saved in Surf is stored on your local machine in open and accessible formats and mostly works offline. - Open Model Choice: you can choose which models you use with Surf, and can add custom & Local LLMs
Early users include students & researchers who are learning and doing thematic research using Surf.
Github repo: https://github.com/deta/surf/
Website: https://deta.surf/
pietz|4 months ago
They didn't pivot, they completely reinvented themselves. Twice.
I loved their first cloud offering, which they sadly abandoned.
Then they launched Space, which was kinda cool, but mostly weird and raised the question "why?". Also cancelled.
Surf looks mostly cool, although I also don't quite understand it. It seems like Notion with a different twist on AI. Not sure. Since I'm fairly happy with my Obsidian + Codex setup, I'll pass for now. The good news is, this one's open source!
I'd love to know how they're financing all of this. They have been around for years and users never even had the option to drop money in their lap. Now they're trying open source. Wild ride.
All the best!
PS: I would have paid for deta cloud Pro ;)
mxek|4 months ago
You forgot about the Deta Studio and the Horizon desktop app ;)
But on your question -- we're backed by supportive investors, and try to be frugal (we've had our fair share of sardines & rice).
chrisweekly|4 months ago
mhuffman|4 months ago
digdugdirk|4 months ago
The benefits of this is that I can connect this data, but in a computable medium. Does your product have any similar ability to bring code workflows "inside" the Surf application?
Atuin: https://github.com/atuinsh/desktop
mxek|4 months ago
We have a super early form of runnable code, called "Surflets". More info here: https://github.com/deta/surf/blob/main/docs/SURFLETS.md
Basically you can supply input context and a runnable file will generate & run in your document. Useful for creating interactive charts or small applets.
Our philosophy is that if you want to update it, you should be able use your local code editor, not be stuck in Surf!
(we have work to do to make this solid)
tosh|4 months ago
Regarding open models: what is the go-to way for me to make Surf run with qwen3-vl? Ollama?
As far as I understand any endpoint that supports the completions API will work?
https://github.com/deta/surf/blob/main/docs/AI_MODELS.md
If I attach image context will it be provided to qwen3-vl? Or does this only work with the "main" models like OpenAI, Anthropic, Gemini and so on?
aavshr|4 months ago
Yes, we support any endpoint that supports the completions API. And yes, Ollama might be the easiest to setup. The images should also work with qwen3-vl.
But if you run into any issues, please feel free to submit a bug report https://github.com/deta/surf/issues
Edit: fixed github issues link
tnolet|4 months ago
mxek|4 months ago
We recently introduced a sidebar (after the video was made) which has them organized as you mention.
LegatoDi777|4 months ago
esafak|4 months ago
I would call this a note-taking app rather than a notebook, which to many mean computational notebooks like Jupyter.
mxek|4 months ago
We took inspiration from analog notebooks as a tool for thought, but wanted something for multi-media. We also see NotebookLM as the closest mainstream product to Surf.
Related -- some people who have seen Surf's Applets feature have also called Surf "Jupyter for normies".
More on Surflets: https://github.com/deta/surf/blob/main/docs/SURFLETS.md
santiagobasulto|4 months ago
mxek|4 months ago
Don't know too many, unfortunately. AI Tinkerers organizes a few a year: https://berlin.aitinkerers.org/
ashhimself|4 months ago
brechtknecht|4 months ago
for all the screen recordings we use Screen Studio by Adam Pietrasiak. Really a all in one workhorse for everything screen recording related.
The main teaser video was made by our incredible video editor Célestin (https://www.celest.in/) who is working with After Effects, Premiere and Blender.
hbarka|4 months ago
mxek|4 months ago
Not (yet) super usable, but for photos we have local OCR running, with Surf creating additional metadata (e.g. the link from where the photo was downloaded).
Can imagine some use cases -- off the top of my head, suggesting the right photos to embed in a note in response to a user query.
IOT_Apprentice|4 months ago
mxek|4 months ago
Surf is built entirely on editable WYSIWYG documents, NotebookLM's main AI is built on chat. Surf is built to be a bit more open, NotebookLM was a bit locked down for our taste.
An example I'd highlight is taking notes against a PDF.
NotebookLM will convert the PDF to simple text, and the chat responses are read only. NotebookLM also has a lot of strict walls between chat, artifacts & sources. You have to "save" responses as (read only) notes, and move notes to sources.
With Surf you can generate notes that deep link to specific pages in the PDF, and Surf will open those pages in the original PDF. You can remove the fluff you don't want in your notes. The intention is to be a little more open -- all notes are sources from the get go, you don't have to save or migrate anything.
smoser|4 months ago
aavshr|4 months ago
We need to do some work before we can also just store them simply as markdown files.
ruguo|4 months ago
mentalgear|4 months ago
mxek|4 months ago
One big distinction: we aren't trying to automate people's browsing / clicking, but augment people's thinking.
This creates a different feature set / model: tabs feeding into a document vs a chat going off and automating activity in tabs.
vee-kay|4 months ago
ocdtrekkie|4 months ago
mxek|4 months ago
codebastard|4 months ago
I still don't see the advantage I get for my local system? Nearly all of the actions on the demo page are doable with chatGpt in one or three interactions.
mxek|4 months ago
We actually had a chatbot, but our explorations showed that notes were a more effective in many cases!
An example of local data is that "Applets" made in Surf can be opened / updated from your local code editor, they're just HTML files.
jrm4|4 months ago
rubenvanwyk|4 months ago
blooalien|4 months ago
In my experience, sorta kinda for certain uses but not entirely replacing other options. Marimo is great for when you want to build a more "app-like" notebook that does a task repeatably (it really beats Jupyter at this, even given JupyerWidgets), but for pure experimentation and playing with code, Jupyter Labs still rules the roost for me. I keep both installed for the different purposes that each excels at. This one may fill yet another need. Dunno yet until I give it some play-time.
chanon|4 months ago
mxek|4 months ago
We think there are a lot of value added services that can happen when you need servers, but they should be user aligned & optional (Mobile app, sync, publishing, backups, remote jobs, collab).
We want Surf's client to be independent & open, but offer some of these on top -- for people who want them!
unknown|4 months ago
[deleted]
lordN87929|4 months ago
unknown|4 months ago
[deleted]