03 / Memory

Your second brain,
on YOUR disk. Markdown. Forever yours.

Every note, transcript, and routine output lives as plain markdown files on your Mac, indexed locally, full-text searchable, editable in any app. No vendor database holding your notes, and nothing to export if you leave. Just your knowledge, portable forever. We compared that approach against the best second brain apps.

Mission Control

See your knowledge as a living graph.

Every note becomes a node, and every link becomes a thread between them. Watch how your projects, clients, meetings, and daily logs actually connect around a single MEMORY index, so you can spot what matters and jump straight to it. It is your whole second brain drawn out, and it all lives on your Mac.

The Routines memory workspace in graph view: a force-directed knowledge graph with a central MEMORY node linked out to notes like goals, SOUL, vision-and-strategy, runbook, roadmap, inbox, dated daily logs and client notes, beside a file tree of numbered folders from 01_personal to 11_leads and a backlinks panel listing linked mentions

Plain markdown · SQLite FTS5 · yours to keep

New: an Obsidian-like workspace

A real vault, not another cloud database.

A file tree on the left, your note open in the middle, and backlinks on the right. Every note is a plain markdown file in a folder you picked, and the links are normal markdown links, so the same vault opens in Obsidian or any editor you already use. This is the whole second brain your assistant reads from, living on your Mac.

The Routines memory workspace shown as an Obsidian-like vault: a file tree of numbered organization folders like 03_team, 04_projects, 05_sales, 10_clients (expanded to show meridian and northwind client folders plus a client-profile-template) and a daily notes folder on the left, an open MEMORY.md note titled Second brain in the center with clickable markdown links to Identity, Soul, Company README and Vision and strategy, and a backlinks panel on the right

File tree · markdown links · backlinks · all local

Build it out

New file, new folder, your structure.

Add a note or a folder right in the tree and organize your knowledge the way you think. A new folder appears the moment you name it, and a new note opens ready to write. Everything you add becomes a real file on disk that your routines can read from the next time they run.

The Routines memory workspace with a new folder being created inline at the top of the file tree, named 12_partnerships, above the existing numbered organization folders 01_personal through 11_leads and daily notes, with 02_company and 10_clients expanded to show their notes and client subfolders, alongside the New note and New folder buttons in the explorer toolbar

One click to add · real files on disk

Settings → Workspace

It organizes itself while you sleep.

Routines reads your raw notes, meetings, and files overnight and keeps a MEMORY.md plus per-folder index catalogs up to date, so your assistant can find what matters fast. Leave the nightly pass on, pick the time, or hit Index now whenever you want. The pass itself runs on your Mac, and the notes it reads go to the model to be summarized, through Routines AI or straight to your provider on your own key.

The Routines Workspace settings showing Memory indexing with an Index now button, a Re-index every night toggle turned on, a nightly time set to 06:00, and a per-folder file list of the workspace showing numbered organization folders 01_personal through 08_open-source with their file counts

Nightly re-index · on by default · runs on your Mac

New: capture anything

Save any link, even X posts most tools can't read.

Paste a URL, a PDF, or a few lines of text, or share straight from your phone, and Routines pulls the whole thing into your vault. It reads regular articles, and it reads X posts and long-form X Articles in full, the ones that come back empty in every normal scraper. Then the same pass that files a dropped file gives you a TL;DR, key points, and tags, and lets you ask questions about it. The note it writes is a plain markdown file in your own folder.

real capture · shared from the X app

Library · Capture

saved locally
https://x.com/sam_rivera/article/1789042Capture
summarized by the model, saved to your vault
X Article@sam_rivera · full body captured

Why local-first agents win the next decade

TL;DR

A long-form argument that agents you run on your own machine, on your own model key, beat cloud agents on trust, cost, and staying power.

Key points

  • Local-first tools keep your context on your own machine.
  • You choose the model, so there is no vendor lock-in.
  • Markdown plus SQLite means your notes outlive any single app.
#ai-agents #local-first #product
Ask AI about this…

Posts · articles · PDFs · links · all indexed on your Mac

New: Reddit threads

The thread, comments and all.

Paste a Reddit post link on your Mac, or share a post from the Reddit app on your iPhone, and Routines pulls the real thread in. Reddit hands a generic scraper an empty JavaScript shell, so Routines asks Reddit's own public endpoints for the post instead (on the phone, through Routines when your own network cannot reach Reddit). What lands in your library is markdown: the post body, then a Comments section with each reply as u/author and their words, and replies to replies usually arrive as quoted lines. Up to 200 comments and 40,000 characters of them, and if the thread runs longer the note ends by telling you how many more are still on Reddit.

Paste on the Mac, share from the phone

The Library capture box takes a post link, or several, one per line. On the iPhone, hit Share in the Reddit app and pick Routines. A share link and the post URL point at the same saved thread, so the second capture is marked as already saved and opens the note you already have. No Reddit account is involved.

If Reddit blocks it, it says so

Reddit rate-limits by IP address, so a fetch can come back blocked. Routines tries once more on its own, and if that fails too the row says the capture failed instead of storing an empty note. Paste the link again whenever you want to try it once more.

Post + up to 200 comments · desktop paste · iPhone share sheet

New: drop any file

Drop a file in. It files itself.

Drag a PDF, a PNG or JPEG screenshot, a text or markdown note, a saved web page, a CSV or a JSON export onto your Workspace. Routines reads it, writes a short summary, tags it, links it to related notes, and saves it as a plain markdown file in the folder where it belongs. Not an inbox you have to sort out later.

The Routines Workspace with a file being dragged over it: a dashed blue drop zone covers the open MEMORY note and reads Drop files to file them in your vault, above the line Each one is read, summarized and saved as a note you can search, with the numbered vault folders in the file tree and the note itself dimmed behind it

PDF · PNG · JPEG · text · markdown · HTML · CSV · JSON

What happens to each file

Reading the file

Routines pulls the text out of the file. If it is an image, it looks at the picture itself.

Summarizing

One pass gives the file a title, a short summary, key points and tags.

Saving to your vault

It writes a plain markdown note and links it to the notes you already keep on the subject.

Filed

The note lands in the folder that fits it, and the tray hands you a link straight to it.

The Routines Workspace with a filing tray in the bottom right headed Filing into your vault with a count of four: Product roadmap.pdf marked Filed with a link to the note it became, Q4 planning deck.pdf Saving to your vault, Onboarding guide.pdf Summarizing, and Research notes.md Reading the file, while the Activity icon in the left rail carries a badge of four

Four files · four stages · one tray

One drop · filed as markdown · 22 seconds

Where your files actually go

The note is a plain markdown file in your own folder, on your own disk, and it opens in Obsidian or any editor. Reading and summarizing needs a model, so what Routines reads out of a file, and the picture itself if you dropped an image, is sent to one: through Routines AI, which passes it on and stores nothing, or straight to your provider if you use your own key. Either way there is no copy of your files on our side, unless you switch on Cloud Sync and Backup yourself, which is off by default and mirrors your vault to your Routines account.

You do not have to drag anything. The file tree has Add files and Add folder buttons next to New note and New folder, and the same two entries sit in the right click menu. Add files opens a normal file picker and the files you choose land in the same tray a drag does. Add folder opens a folder picker, shows you the count first, then runs as one background job.

The Routines Workspace file tree with a right click menu open on empty space, listing New note, New folder, Add files to your vault, Import a folder into your vault, and Reveal vault in Finder

Add files · Add folder · same result

Bring your whole folder

Point it at a folder. Hours later, it knows everything in it.

Pick any folder on your Mac and Routines counts it up before it touches a thing: how many files it can file, how much that adds up to, how many it will skip, and how many are too large to read. Say go and it works through them in the background, for as long as it takes.

The Import a folder into your vault dialog in Routines, showing the chosen folder path and the scan result on separate lines: 135 files can be filed, 36.8 MB in total, 19 other files will be skipped, 3 files are too large to read, then the note that large folders keep filing in the background and can be paused or stopped at any time, above Cancel and Start importing buttons

You see the count before anything is read

A Filing files card in the bottom right of the Routines Workspace for the folder Notes, with a progress bar part way through 135 files, a counts row of how many are filed, already in your vault, could not be filed and skipped, the name of the file it is reading right now, a Show the files that failed disclosure, and Pause and Stop importing buttons

Live counts · Pause · Stop importing

It survives a quit

Close Routines in the middle of an import and it picks the job back up the next time you open the app. The queue lives on disk, not in a window.

Pause between files

A pause lands between files, never in the middle of one. Nothing new starts until you press Resume.

Stop keeps what is filed

Stopping ends the job and nothing else. Every note it already wrote stays in your vault, in the folder it was filed into.

It pauses itself

If several files in a row fail, it stops and says why in plain words instead of grinding through the rest of the folder. Fix the connection and press Resume.

The same import is offered while you are setting Routines up, so a brand new second brain can start full instead of empty.

A folder of old invoices and receipts turns into notes you can search. If you would rather they arrive on their own every week, there is a routine for that: Invoice & Receipt Collector.

Activity

Nothing disappears into a black box.

The Activity panel lists the files you dropped, picked or imported, newest first, and what happened to each one. A badge on the icon counts what is still filing. Click a filed row and the note it became opens. Leave the page, come back, quit the app and open it tomorrow, and the statuses are still there, because they are rows on disk and not something a window was holding.

The Routines Workspace with the left panel switched to Activity and the inbox icon badged three, listing Research notes.md Reading the file, Q4 planning deck.pdf Saving to your vault, Q3 board deck.pdf Filed four minutes ago, Interview transcript.md Summarizing, Scanned contract.pdf in red reading Could not file it with the reason PDF contained no extractable text it may be a scanned image, Pricing one-pager.pdf Already in your vault, and Half-read manual.pdf Stopped before it finished

Reading the file · Summarizing · Filed · Could not file it

A file that cannot be read says so. A scanned PDF with no text in it fails on its own row, in red, with that exact reason, and the rest of the batch carries on. When a whole import starts failing, the job pauses itself and tells you to check your connection.

The folder import card in Routines reading Import paused, with progress frozen at 20 of 142, the counts 12 filed, 8 could not be filed and 19 skipped, the explanation that it paused itself after several files in a row failed and to check your connection then resume, a Show the 8 files that failed disclosure, and Resume and Stop importing buttons

Paused itself · said why · waiting for Resume

01

Local-first markdown memory

Your entire knowledge base lives as .md files in a folder you choose. Routines chunks everything into a local SQLite database with FTS5 full-text search, and nothing is uploaded unless you switch on Cloud Sync and Backup, which is off by default.

02

Shared memory for every routine

Create reusable identity, persona, and context snippets, your role, values and expertise, stored as standalone markdown files. Every routine references them by ID so your assistant always knows who you are.

03

Live file-system sync

Edit memory in VS Code, Obsidian, or any text editor. Routines auto-detects the change via real-time file-system events and re-indexes. No sync button, no polling, no loops.

04

Interactive knowledge graph

See every note as a node in a force-directed graph, where each markdown link becomes an edge between them. Select any note to highlight its connections and backlinks, then jump straight to it. Renders entirely on your Mac.

05

Model-agnostic memory

Because your memory is plain markdown + SQLite, you can swap between Claude, OpenAI, or OpenRouter anytime. Your entire knowledge base stays perfectly intact. The model is just a swappable parameter.

06

Full-text search

Find anything across all your markdown files with sub-millisecond SQLite FTS5 search. Search runs fully offline on your Mac, and your vault stays there unless you switch on Cloud Sync and Backup.

07

Save from anywhere, even X

Paste any link, PDF, or note and Routines captures the full content as a markdown file in your vault. It even reads X posts and long-form X Articles in full, where scrapers get blocked and return an empty shell.

08

Drop a file, it files itself

Drop a PDF, a PNG or JPEG image, text, markdown, HTML, CSV or JSON file onto your Workspace and Routines reads it, summarizes it, tags it and writes it into your vault as a plain markdown note. Point it at a whole folder and it keeps filing in the background, pausable, and it survives a restart.

Your brain, portable forever.

Markdown on your disk, indexed locally, searchable in seconds, and it follows you to any AI model you choose.

Download