Remix.run Logo
Show HN: Deta Surf – An open source and local-first AI notebook(github.com)
142 points by mxek 12 days ago | 43 comments

Hi HN!

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 12 days ago | parent | next [-]

It has been wild watching deta over the years.

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 12 days ago | parent | next [-]

Thanks for this.

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).

abdelhai 12 days ago | parent [-]

this tells me nothing; a good Portuguese can goes for upwards of $20

chrisweekly 12 days ago | parent | prev | next [-]

hey Pietz, have you written up your obsidian + codex setup? I'm a die-hard obsidian user, didn't like codex 6mo ago but heard it's gotten much better, so I'm very interested if you're willing to share TIA!

pietz 11 days ago | parent [-]

Oh, it's nothing fancy I'm afraid.

I have an AGENTS.md file in my vault that provides a bit of context that this is not about coding, but about serving as my Obsidian helper. I ask it to check the .obsidian folder to check my plugins, Tell it how I like to build my presentations and the workflow I follow when writing articles.

Then I just launch codex in the terminal inside the vault, have it do stuff, while I watch the desktop app for change.

Other coding agents like Claude Code should work also, but gpt-5-codex was specifically trained on using the terminal to do everything it and doesn't even have that big of a system prompt related to coding. Works well.

Combine that with a speech-to-text app and codex blazes through to find stuff or do things for me.

chrisweekly 11 days ago | parent [-]

Cool, thanks!

mhuffman 12 days ago | parent | prev [-]

In either case, I am just happy that Knuth's idea of Literate programming is becoming more and more of a common reality after so many years.

digdugdirk 12 days ago | parent | prev | next [-]

Interesting! I'm very intrigued by the possibility of new forms of computer interaction made by breaking down app silos and linking data across various mediums. Something that caught my eye recently is Atuin Desktop, which seems to be a jupyter notebook style thing that runs your code natively.

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 12 days ago | parent [-]

Thanks for the link, super interesting!

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 12 days ago | parent | prev | next [-]

Kudos on the launch. Love the local-ai approach.

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 12 days ago | parent [-]

Thank you.

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

LegatoDi777 5 days ago | parent | prev | next [-]

Hey, yeah, it looks cool. Could you share? What’s your plan? Financial model?

tnolet 12 days ago | parent | prev | next [-]

Saw it on Twitter and was interested. But from the video and demos I immediately did not understand why Notebooks and Notes are two tabs? In my mind, a Note is IN a Notebook, not some separate adjacent item...

mxek 12 days ago | parent [-]

Yes agree, the Notebook / homepage UX still needs work.

We recently introduced a sidebar (after the video was made) which has them organized as you mention.

esafak 12 days ago | parent | prev | next [-]

Looks like a personal Notion, or Obsidian.

I would call this a note-taking app rather than a notebook, which to many mean computational notebooks like Jupyter.

mxek 12 days ago | parent [-]

Thanks for the input.

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 12 days ago | parent | prev | next [-]

Nice, congrats! Off-topic, you guys are based in Berlin? I just recently moved in. Any recommendation for meetups or groups pro AI/startups?

mxek 12 days ago | parent [-]

We are in Berlin. Welcome!

Don't know too many, unfortunately. AI Tinkerers organizes a few a year: https://berlin.aitinkerers.org/

ashhimself 12 days ago | parent | prev | next [-]

Looks great, will give it a go. Unrelated, what did you use to make the promo videos on deta.surf? they look great!

brechtknecht 12 days ago | parent [-]

big thanks for the praise!

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 12 days ago | parent | prev | next [-]

Photos are not mentioned as subset of media. I wonder if there’s a use case applicable to picture metadata.

mxek 12 days ago | parent [-]

Yes great point. Photos are intended as a very important subset of media.

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 12 days ago | parent | prev | next [-]

Is this an open source equivalent to google’s NotebookLM? I can tell. How does it stack up features wise?

mxek 12 days ago | parent [-]

We see NotebookLM as the closest thing!

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 12 days ago | parent | prev | next [-]

This is a neat app. Though when looking at the files in finder it looks like while some files are stored as '.md' files the sample md files only contain HTML.

aavshr 12 days ago | parent [-]

Ah that might be a bug sorry, the sample notes should also have the html extension. The notes themselves are currently stored as html (because of the metadata and the state in notes mainly, you can still export to markdown).

We need to do some work before we can also just store them simply as markdown files.

ruguo 12 days ago | parent | prev | next [-]

Running a local LLM sounds like a solid use case, just not sure if it actually performs as well as the description claims.

mentalgear 12 days ago | parent | prev | next [-]

This seems to be a good open alternative to Atlas and Comet. I like the split-screen and local model usage!

mxek 12 days ago | parent [-]

Thanks!

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 12 days ago | parent | prev | next [-]

So it's basically Cortana for Windows in a brand new powerful AI LLM avatar? ;-)

ocdtrekkie 12 days ago | parent | prev | next [-]

Is this a pivot from Deta Space? Related code or totally different project?

mxek 12 days ago | parent [-]

Many ideas are inspired by Space, but totally different codebase.

codebastard 12 days ago | parent | prev | next [-]

Looks to my like an effort to pivot from an AI embedded Browser after the ChatGPT Atlas release into a local system Browser.

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 12 days ago | parent | next [-]

The big difference UX wise between chatbots and Surf is that Surf is built entirely on editable documents that you can mold / craft into an output (vs chat).

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 12 days ago | parent | prev [-]

Umm -- not being tied to ChatGPT? Like, that's huge. I personally do not consider consistently using any AI tool unless it has a local option. I've been air-quotes "paranoid" about things like this my whole life and it's served me QUITE well.

codebastard 12 days ago | parent [-]

You are welcome to replace ChatGPT in my question with any selfhostable AI Chat setup or CLI Tool.

rubenvanwyk 11 days ago | parent | prev | next [-]

Isn’t Marimo becoming the new standard for notebooks?

blooalien 2 days ago | parent [-]

> Isn’t Marimo becoming the new standard for notebooks?

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 12 days ago | parent | prev | next [-]

Looks interesting! What is the business model?

mxek 12 days ago | parent [-]

Great question. We'd look at Obsidian as a reference.

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!

12 days ago | parent | prev | next [-]
[deleted]
lordN87929 12 days ago | parent | prev | next [-]

Yes

12 days ago | parent | prev [-]
[deleted]