// the find
deta/surf
Personal AI Notebooks. Organize files & webpages and generate notes from them. Open source, local & open data, open model choice (incl. local).
Deta Surf is an Electron-based desktop app that combines a browser, PDF viewer, and AI-assisted note-taking into one local-first workspace. It's aimed at researchers and knowledge workers who are tired of context-switching between tabs, a note editor, and a chatbot. The Rust backend handles embeddings and local storage; Svelte/TypeScript covers the UI.
The local-first storage model (SFFS flat-file system) is a genuine differentiator — your data doesn't live in someone's cloud and the format is inspectable. Model flexibility is real: bring your own API key, point it at Ollama, or use a hosted model, all from the same UI. The citation system that deep-links back to specific PDF pages or YouTube timestamps is the kind of detail that makes research work actually useful. The Rust backend for embeddings is a smart choice — it avoids spinning up a Python process and keeps the local vector search fast.
Electron is a heavy runtime for what is essentially a browser wrapper with a sidebar, and the split between a Rust backend-server package and a separate backend package suggests the architecture is still being sorted out. The 'Surflets' app-generation feature sounds impressive but is essentially LLM-generated HTML snippets running in-process, which is a security surface that the WEB_SECURITY.md doc acknowledges but users will underestimate. There are no tests visible in the tree — for an app managing local files and running AI-generated code, that's a meaningful gap. The migrations folder in packages/backend only shows one file, which suggests the storage schema is either very young or being maintained inconsistently.