Try Studio
In Browserno installDesktop Mac AppDesktop Windows AppiPhone AppAndroid App
GitHub & Skills
Download Skill for ClaudeDownload Skill for OpenAI Codex
For
Myself — personal twinMy company — team memory
SECOND BRAIN REPLAY · WALKING
2009.
Manila, PH
School

Second Brain Link — the context layer for personal AGI: turn the data exports you already own into a private, identity-resolved brain your agents can use on day one

The context layer for personal AGI

You own the intelligence.
Your agent just can't read it.
Hand it your own past.
Sources seed itGoals come outGet hiredGet fundedPrep for any meetingyour second brain

Destination reached

The whole road, in one connected brain.

Every source, person and chapter you drove past — resolved into one identity, linked, and ready for an agent to reason over. Opens in Obsidian and Claude Code. Runs 100% on your machine, with zero network calls in the core.

Free · open source (MIT) · your data never leaves your machine

Reads your exportsLinkedInFacebookInstagramGoogleXGitHub+ 19 more — 25 sources
Opens inObsidianClaude CodeOpenAI CodexGBrain
0
Network calls in the core
~60s
From zips to working brain
100%
Plain Markdown · yours forever
MIT
Open source · zero telemetry

Second Brain Studio

See how it all connects. Then just ask.

No setup, no plugins. Open your vault in a live workspace: explore how everything connects, read and edit notes, and ask an AI that reasons over the whole graph. It runs locally — your API keys and data never leave your machine. New: the graph renders as living tissue — and you can watch a question fire through it.

Interactive graph

A live, force-directed graph of every person, org, place and post. Filter by type or source, search, and click any node to open its note.

Talk to your brain

A built-in assistant — Claude, OpenAI, Gemini and more — that cites the notes it used. Bring your own key; calls go straight to the provider.

Read, edit & track

A full Markdown editor with live preview, wikilinks and backlinks, plus a computed dashboard of your network and clusters.

Second Brain Mobile · the free on-ramp

Your brain, built on the phone. No account, no cloud.

A native mobile app that unpacks your exports and builds the brain on-device: no account, no cloud, nothing uploaded. Explore the knowledge graph and talk to your twin — with Apple Intelligence running on-device on iPhone, or your own AI keys stored in the phone's keychain.

Second Brain Mobile on iPhone — talk to your twin: warm intros, meeting prep, reconnectsSecond Brain Mobile on iPhone — talk to your twin (dark mode)
Second Brain Mobile on iPhone — your knowledge graph, rendered natively on the phoneSecond Brain Mobile on iPhone — your knowledge graph (dark mode)
Second Brain Mobile on iPhone — your sources, imported and unpacked on-deviceSecond Brain Mobile on iPhone — your sources (dark mode)

Built on-device

Import your LinkedIn, Facebook, Instagram and Google exports on the phone — the full transform runs locally, and the brain lives in your pocket.

The graph in your hand

A native, buttery-smooth 3D graph of everyone you know and everything they connect to — search it, filter it, tap into any note.

Private by architecture

No account, no backend, zero telemetry. On-device AI on iPhone; on Android bring your own key — either way your data never leaves the device.

Built and running on-device today; the store listings are prepared and waiting on signing credentials, so it isn't downloadable yet. We'd rather say that than show you a button that doesn't work.

The problem

Every AI brain ships empty.

Models are a commodity now — everyone runs the same ones and they get cheaper every quarter. What is scarce is context. Every assistant you open starts knowing nothing about you: not who you know, not where you have been, not what you decided or why. That context exists. It is sitting in export archives no human reads and no agent can use.

what the platforms give you
data/
├── linkedin/
│   ├── Connections.csv        2,847 rows, no context
│   ├── Positions.csv
│   └── messages.csv           never parsed
├── facebook-export.zip        friends.json, 14 MB
├── instagram-export.zip       followers_1.json
└── takeout-20260514.zip       contacts, maps, 2.1 GB

✕ four formats, zero links, same person 3×
what your agent gets
vault/my-brain/
├── Home.md                    entry point
├── 00-me/profile.md
├── 10-people/
│   └── Sam-Patel.md           1 note · 3 sources
├── 15-organizations/
├── 40-career/timeline.md
├── 85-places/
└── 90-synthesis/
    └── network-map.md         who you actually know

✓ one graph — typed, linked, deduplicated

Nobody is short of intelligence any more. Everybody is short of context — and the context is already sitting on a disk somewhere, in a format built to be unreadable.

The supply

The law already pried your data loose. Nobody uses it.

Every platform that matters is legally compelled to hand you a machine-readable copy of your own data, on request, for free. The hard part was never getting it out. The hard part is that what comes back is unusable — so it gets downloaded once and never opened again.

Guaranteed by statute

GDPR Article 20 and the EU Digital Markets Act require a structured, commonly used, machine-readable export. Not a favour, not an API deal that can be revoked — an obligation, enforced with nine-figure fines.

It gets better on a schedule we don't pay for

The DMA moves gatekeepers toward continuous, real-time portability. The pipe we depend on is being widened by regulators, not by our roadmap.

Consent is built in

It's your export, requested by you, processed on your machine. No scraping, no terms to violate, no access anyone can switch off.

The most defended data in the world was forced into an open, consented channel — and it lands as a zip nobody can read. That gap is the whole company.

How it works

One prompt. About a minute. No AI tokens spent.

The transform is deterministic, not generative — the same archive produces the same graph every time, and you can read the code that decides. AI is spent only on the residual: files nothing recognises.

  1. 01

    Detect

    Tell your agent to build your brain from a folder of exports. The skill catalogs every file it recognizes — CSV, JSON, Takeout — locally.

  2. 02

    Resolve

    The same person on three platforms becomes one identity. Names, handles, and employers are matched and merged.

  3. 03

    Build

    Every entity becomes a typed Markdown note with clean frontmatter and resolved wikilinks. No AI calls, no cost.

  4. 04

    Open

    Open the vault in Obsidian, or point Claude Code at it and give it a goal.

claude code · second-brain-link skill
> "Build my second brain from the exports in data/" Detecting… linkedin facebook instagram google Resolving identities across sources… merged 38 duplicates Building connected brain… → Obsidian (default) ✅ vault/my-brain · open Home.md

Export formats drift constantly — across platforms, versions and regions — and a hardcoded converter breaks the day they do. This one profiles your actual archive, rewrites its own mappings to fit it, and writes a coverage report proving what it did and didn't use. How self-adapting works →

Identity resolution · the hard part

One human, five messy sources, no PII stored.

This is the part that isn't a weekend project. Sam Patel is a LinkedIn connection, a Facebook friend and a Google contact — three orphan notes in every other tool. Merging them into one identity, on your machine, without ever writing an email address or a phone number to disk, is the engineering that makes the rest possible.

linkedin · "Sam Patel"Sam-Patel.mdsampatel
facebook · "Sam Patel"Sam-Patel.mdsampatel
google · "Sam Patel"Sam-Patel.mdsampatel
Names normalize to a comparison key; matching keys become one enriched note — role, employer, every handle, last contact — tagged with each source.

Said precisely: matching is on the normalized name, and it is precision-biased on purpose — a wrong merge is worse than a miss. Variant spellings and initials ("Sam P.") stay separate rather than quietly fusing two people into one. Sharper matching on secondary signals is roadmap, not shipped. Email addresses are never used as names — they are stripped at parse time.

Custody, not promises

The risk isn’t gathering it. The risk is where it already sits.

Your history is already spread across a dozen services you cannot search, cannot leave and do not control. Gathering it here does not create the exposure — it ends it. The core transform makes no network calls at all, so the question stops being "where does the vendor say this goes?" and becomes "which machine is it on?"

Physical isolation

Data that is generated, processed and stored on local hardware with no connection cannot be intercepted in transit, because there is no transit. The whole pipeline runs on an air-gapped box.

Jurisdictional certainty

Residency rules govern where data may travel. Offline processing collapses the boundary from a country to a room — you can point at the machine your institutional memory lives on.

No dependency to outlive

Local processing keeps working when a provider is down, acquired, repriced or served with an order in another country. Plain Markdown on your disk has no expiry date.

Stated precisely, because this is a category where vagueness is worthless: the architecture is air-gap-capable today and you can verify that in the source. The enterprise wrapper around it — SSO, audit trail, private deployment, compliance pack — is on the roadmap, not shipped. We'll say so until it is.

Agent-ready

Not notes. Structured data your agent can reason over.

Typed frontmatter, resolved wikilinks, real Obsidian Properties. An agent doesn't have to guess what a note means — and when it answers, it cites the notes it stood on. Receipts, not vibes.

10-people/Sam-Patel.md
--- type: person sources: [linkedin, facebook, google] company: "[[Cedarpay]]" role: Staff Engineer strength: strong last_contact: 2026-05-14 skills: ["[[Go]]", "[[Distributed Systems]]"] --- # Worked together at NorthLedger…

Real Obsidian Properties

Typed frontmatter on every note — person, organization, place — with ISO dates and enums, not freeform text.

Wikilinks are edges

Every [[link]] resolves to a real note. Your agent traverses the graph the same way you click through it.

Layered vault

00-me10-people40-career 90-synthesis. Stable paths an agent (or a script) can rely on.

In-vault CLAUDE.md

The vault ships with instructions for Claude Code and an Agent Skill — your agent knows how to use it on first open.

Where your brain lives

Obsidian + Claude Code by default. GBrain when you want it.

Obsidian vault

Default

A real graph with native Properties. No plugins required — open Home.md and it works.

Claude Code & OpenAI Codex

Default

Ships as an Agent Skill plus an in-vault CLAUDE.md. Your agent knows the schema on first open.

GBrain

Optional

--emit gbrain turns a company's exports into a Company Brain in the open GBrain format.

We don't reimplement search, synthesis, or serving — Obsidian, Claude, Codex, and GBrain do that. We do the part none of them do: turn export archives into a clean, identity-resolved brain.

Local-first · enforced in code

Privacy isn't a promise. It's the code.

Zero network calls in the core — your exports never leave your machine. The rules are enforced in source you can read.

PII never written

Third-party emails and phone numbers are stripped at parse time — they never reach disk.

Bodies never read

Message content is never parsed. Only a frequency and recency signal survives.

Sensitive files quarantined

Logins, receipts, and message archives are skipped by a hard-coded quarantine list.

Owner mode

Building your own brain? --full keeps everything — still 100% local.

sources/common.py · Collector
# The privacy policy IS this class. class Collector: def add_person(self, name, **f): if EMAIL_RE.match(name) or f.get("phone"): return # PII never written self._merge(nk(name), f) # there is no add_message_body(). by design. def add_message_signal(self, name, date): self.sig[nk(name)].bump(date) QUARANTINE = {"Logins", "Receipts", "messages"}

This is the privacy policy, enforced in code. → View on GitHub

The Agent Skill · Claude Code & OpenAI Codex

The engine itself — install the skill, then just ask.

The product that powers everything: the open-source engine, packaged as a cross-model Agent Skill. Install it once in Claude Code or OpenAI Codex and your agent knows how to build, update and reason over second brains — locally, with zero network calls. No app required; your AI is the interface.

your agent · with the second-brain-link skill
> "Build my second brain from ~/Downloads/my-exports/" Skill: second-brain-link · profiling archive → 4 sources detected Mapping · merging identities · building the graph… ✅ vault/my-brain > "Now use it: who should I reconnect with this month?"

One skill, two runtimes

One shared engine, thin Claude Code and Codex packagings (the Agent Skills open standard). Prefer a terminal? It also runs as a plain CLI.

Self-adapting

It profiles any export, writes its own mapping rules when formats drift, and rescues files it doesn't recognize — nothing is lost.

Yours forever

MIT-licensed, dependency-free Python, zero network calls in the core. Read the code, fork it, add your own source adapters.

The same skill powers Studio's reseed and the mobile app's engine — install it in one step or browse the source on GitHub.

Get started

Install it, point your AI at your life.

install once, then just ask
# one-time install (copy-paste once): git clone https://github.com/vicovan/second-brain-link && cd second-brain-link python3 packaging/build_skill.py all --install # restart Claude Code, then just ask: > "Build my second brain from the exports in data/ — profile them first, show me the planned structure, then build."

Full docs →

What you can do

Don't search your data. Give your brain a goal.

my-brain — ObsidianClaudian
Second Brain · reads your vault
Pick a goal above to ask your brain…

Honest limit: your export is a snapshot — sharp on history, blind to this week. Re-export and update in place with --refresh — your edits are kept; hosted, scheduled sync lands with Cloud.

Roadmap

A weekend script doesn't have a roadmap. This does.

v0 ✓

LinkedIn → vault

Full local transform, Obsidian-native.

v0.5 ✓

Multi-source

Facebook, Instagram, Google — one identity-resolved graph.

v0.8 ✓

Cross-model + company

Claude + Codex, per-entity brains, GBrain emitter, JSON mappings.

v1 ✓

25 sources

X, WhatsApp, GitHub, YouTube, Strava, Reddit, Spotify, TikTok + 12 company sources; --refresh updates.

v1.5 ✓

Always-fresh

--refresh re-import shipped: update your brain in place from a newer archive, your edits kept. Hosted scheduled sync lands with Cloud.

v1.6 ✓

Anatomy & activation

Cellular graph anatomy + spreading-activation retrieval, animated on real numbers. 25k-note vaults render fully.

Local OSS core free forever. Done-for-you company onboarding and hosted sync are how it becomes a company.

Built in the open

Open source, by design.

MIT-licensed. This is why an incumbent can't build it: their business is locking your data in — ours is handing it back, working.

MIT-licensed and open from day one. Read the source, file an issue, or help shape v1.

★ Star on GitHub

Your brain shouldn't start empty.

The second brain that starts full, not empty — a private AI brain built from the exports you already own.

MIT · local-first · Obsidian + Claude Code + OpenAI Codex · emits to GBrain.