Navigate
HomeStart here
MusingsResearch & long-form
BuildingProjects & learnings
WorkProfessional practice
RunningTraining & races
AboutValues & identity
Life & PlacesCulture, food, travel, cities
Notes & ArchiveJournals, essays, portfolio
← Back to Building
TOOLFeb 2026

Notes Sync

My notes live in an app that is good at capturing and bad at exporting. Its export missed half of what each note held, so I wrote my own sync.

notessyncapi-reverse-engineering

My notes live in an app that is good at capturing and bad at exporting. Inside the app, every note carries a body, a summary, action items, and an outline. The export hands back the body and nothing else.

I needed all of it. The notes are where the pattern recognition happens. When three different threads mention the same friction point, that’s a training gap. When the same trigger shows up across four weeks of journal entries, that’s a pattern worth tracking. The body alone doesn’t surface those.

So I worked out the app’s own sync. Its mobile client makes authenticated requests to pull each note with its metadata; I wrote a script that uses the same calls (OAuth token refresh and all) and pulls every note with its summary, action items, and outline. 101 notes synced so far.

The real value isn’t the sync itself. It’s what happens after. Each note becomes a JSON file in my project. Claude can read them. When I’m building a training deck about communication best practices, I tell Claude to check my notes first; they hold more actionable detail than any formal document. A 30-slide deck on report formatting came directly from notes I took during a colleague’s feedback session.

The notes are also where skills come from. I watched my boss validate a deliverable six times across six meetings. Each time she did the same thing: divided two numbers, checked if the ratio matched her expectation. I wrote that pattern into a skill file. Now every pipeline I build pre-passes her check before she sees it.

# Setup:
# 1. Get the app’s auth token (from its mobile client’s own requests)
# 2. Save to .env as NOTES_TOKEN
# 3. Run:

node ~/notes-sync/sync.js

# Output: data/notes/MM-DD-topic.json
# Each file contains:
{
  "id": "02-20-team-meeting",
  "date": "2026-02-20",
  "title": "Team Meeting — AI Task Analysis",
  "body": "...",
  "summary": "...",
  "actionItems": ["..."],
  "notes": "...",
  "outline": "..."
}

# Shell aliases for convenience:
# notes-sync   → pulls new notes
# notes-token  → re-authenticate if the token expires