news.ycombinator.com

Launch HN: Screenpipe (YC S26) – Record how you work and turn that into agents

louis030195 · 88 points · 67 comments · Jul 23

Hi Hacker News, I'm Louis. I built Screenpipe (https://screenpipe.com), an app that records your screen and audio locally (only!), and gives AI agents a searchable memory of what you've seen, said, and heard. This makes it easier to automate your repetitive tasks, turn them into SOPs (Standard Operating Procedure) and so on. I made a HN-style demo video at https://www.tella.tv/video/build-your-ai-second-brain-with-s... and there’s a marketing video at https://www.youtube.com/watch?v=c1jV6E9pyug. I’ve been obsessed with this for a long time. I’ve been maintaining a “second brain” since 2020, in which I would store journals, handwritten notes, music I listen to, projects I'm working on, conversations I have with people, personal CRM etc. I experimented a lot of RAG in the early days with ParlAI, hundreds of fine-tuned GPT2 models, and GPT3 (https://forum.obsidian.md/t/fine-tuning-openai-api-gpt3-on-y...). Later I built Ava, the first Obsidian AI plugin, which grew to a few thousands of users quickly. It then became Embedbase, an API to make it easier to build AI apps powered by RAG. What I learned from all this is how important it is for the models to have context about what you’re doing on your computer, in order to get them to do what you want. In the early days there was fine tuning but it was too much pain, then there was tool calling so that AI can access software you use but still kinda not autonomous enough. needing micro management. Then MCP came, but it felt too static, and non technical users struggled to build and use MCP. Then we got skills. Most recently we’ve seen Karpathy’s LLM-maintained wiki, Garry's GBrain, etc., where an agent incrementally maintains a persistent collection of Markdown pages. New sources update entity pages, strengthen or contradict existing claims, and improve a synthesis that compounds over time. I like this pattern, but it still begins with someone selecting and importing the sources. There is still no way AI can know what you and your company are doing every day, across apps, not just inside of apps. Of course, not everyone wants this. But I do! I want AI to know what I'm doing and never lose memory ever again, and I want it to use the same software that humans do, without painful context switches. I started building Screenpipe for myself in 2024 - a CLI to record your screen and plug this context into AI. An HN user posted it in 2024 (https://news.ycombinator.com/item?id=41695840) and that discussion influenced the product. The most useful criticism concerned recording consent, local security, CPU usage, signal-to-noise, and whether agents could act on top of the data. The naive implementation started from continuously recording video and running OCR over every frame. But that creates duplicate data, consumes substantial resources (it basically turns your computer into a space heater!), and discards structure the operating system already knows. Screenpipe now instead listens for events such as app switches, clicks, typing pauses, scrolling, and idle fallbacks. When something meaningful changes, it pairs a screenshot with the operating system’s accessibility tree at the same timestamp. OCR is used when structured accessibility data is unavailable. We also capture audio continuously, identify speakers and transcribe locally through Parakeet/Whisper or using cloud models. Everything is indexed in a local SQLite database, mp4 files, and sometimes md files. An AI friendly API on port 3030 is open for agents, with authentication and a MCP and skills. Once Screenpipe has been up and running for a while, you can use it through our built-in chat, Claude, ChatGPT, Hermes, Openclaw, or any agent, to do things like: - adding context to your current chat, e.g. "gather all context about task X", then requiring less prompts to achieve your goal - retrieve information, e.g. "retrieve the tasks i was working on from 8 am to 4 pm, make a list of what got done and what's left" - create and maintain a personal wiki / second brain for your agents: "every 1h organize everything i do in projects, people, tasks, meetings in my Obsidian vault as markdown files and folders" - create automations: whenever i visit someone's profile on linkedin, update my crm - find automation opportunities: look at everything my team has done this week and turn it into a list of automation opportunities Screenpipe data is stored locally, though we also offer an enterprise plan to discover automation opportunities and for that the company decides where the data lives. We built our own AI PII model to redact sensitive information, it runs locally on Apple MLX or Windows DirectML, we also support cloud confidential inference for low end devices, although our local models are meant to use <1% CPU and <400 mb RAM. Users can set apps, windows, and urls to filter, in addition to browser incognito mode. We also support recording schedules and other privacy features. Most of our codebase is written in Rust, MLX, Onnx, we like cidre or direct C call for Apple APIs and windows-rs for Windows API. We also experimentally support Linux. We have a desktop app (https://screenpipe.com/how-to-install) and a CLI: npx screenpipe record You can run that without creating an account. All the code is source-available at https://github.com/screenpipe/screenpipe. We took the dreaded step of making our own Screenpipe Commercial License. I know HN strongly prefers OSI open source (MIT/Apache/etc.) but couldn’t find a sustainable way to keep developing Screenpipe while companies were using it commercially for free. So now personal non-commercial, nonprofit, educational, and research use is free, but commercial use requires a license. Versions released before the license change remain available under MIT. We have a free tier, and other plans, including Enterprise which helps companies find automation opportunities. Would love to hear any feedback, things you've done with screenpipe, or features you'd want

Comments

5 preview comments · loading full thread
AmazingTurtleJul 23

Funny timing. I've been building something similar in my spare time called Daydream. There’s a lot of overlap: local screen/audio capture, OCR and transcription, window and activity context, SQLite, and a searchable memory of what happened. The main difference is the product direction. Screenpipe seems focused on continuously giving agents context through APIs, MCP, and skills. Daydream is more narrowly built around answering "what did I do today?" through a timeline you can inspect, replay, search, and turn into a daily digest. I'm also treating deletion as part of the data model. If you cut a sensitive span, its frames, audio, OCR, transcripts, embeddings, and summaries should be deleted or invalidated too. Mine is still early and Linux-first. I'm open-sourcing it in case anyone wants to contribute, poke around, or use it as a starting point. It’s built with Tauri, a Rust backend, React/TypeScript, SQLite, GStreamer, Whisper, OCR, and VLM processing. I genuinely didn’t know you were building this when I started. Apparently personal memory capture is becoming a SaaS category too lol. Code is here: https://github.com/snackbit/daydream

subhajeet2107Jul 23

How are you planing to segregate between professional use and personal use, I dont want any agent or any llm to know all the time what i have been doing on my system, it would be privacy nightmare and most of the time the screencapture is not meaningful. People may use their work laptop or devices to checkout reddit or hackernews occasionally.

rahulladumorJul 24

Once Screenpipe has months of screen and audio indexed locally, what stops a compromised or over-permissioned agent from querying the whole history through the port 3030 API instead of just the current task's context? Continuous recording solves the memory problem, but it turns "give the agent access to my second brain" into a much bigger blast radius than giving it access to one document. Is there per-query scoping or a time-window restriction on what an agent can pull back, or is authentication the only gate?

makeyouragentJul 29

I would keep the capture log and the memory layer as two different things. The capture log is chronological evidence. Memory is a set of derived, revisable claims about projects, people, decisions, and habits. Treating every captured event as memory will make retrieval noisy, while replacing the events with summaries will make the result hard to audit. Each derived claim should point back to the exact screen or audio spans that support it, record when it was inferred, and say whether it is current, disputed, or superseded. If a meeting moves a launch from Friday to Monday, the Friday record should remain in the history but stop being returned as the current plan. A later answer can then explain both what changed and where the change came from. Deletion also has to follow that lineage. Removing a sensitive interval should invalidate embeddings, entity records, summaries, and cached agent context derived from it, not just hide the original frames. Otherwise the visible timeline says the data is gone while the useful representation of it remains searchable. A good memory test would be a correction followed by a deletion. Ask for the current fact, ask why the earlier answer changed, delete the supporting interval, and ask again. The system should answer the first two from traceable evidence and stop claiming the fact after its remaining support disappears.

fillskillsJul 23

Been a user of Screenpipe to build some "Ai-buddies" for me since last year. Core of that is giving AI a look at what is happening in time space. Without Screenpipe this was rather hard to do at the performance screenpipe gives.