Record a voice memo on your phone. Claude processes it when you get back to your desk.
No apps to install. No servers to run. Just an iOS Shortcut, iCloud, and a Claude Code hook.
YOU (on the go) CLAUDE CODE (at your desk)
────────────── ─────────────────────────
Press Action Button Start a new session
│ │
▼ ▼
Record voice memo SessionStart hook fires
│ │
▼ ▼
iOS transcribes it Finds new .txt files
│ ▲
▼ │
Save .txt ───────▶ ┌─────────────┐ ────────────────────
│ Raw Ingest/ │ iCloud sync
│ (iCloud) │
└─────────────┘
I use Karpathy's LLM wiki pattern to run my professional life. Raw sources go into a vault, Claude maintains a structured wiki on top of it. It compounds over time. Best system I've found.
The problem: half my best information comes in when I'm away from my computer. Phone calls, meetings, walking between offices. Voice memos pile up on my phone, disconnected from my vault.
pocket-ingest is async ingestion. Capture on your phone, fast and dumb. Process with Claude, smart and async. That's the whole idea.
- iPhone with iOS 18+ (for built-in transcription)
- A Mac with Claude Code installed
- iCloud Drive enabled on both devices
- ~5 minutes to set up
Tap the link on your iPhone and add it to your Shortcuts library. The shortcut records audio, transcribes it using iOS built-in speech recognition, and saves the text to your Raw Ingest folder in iCloud Drive.
Assign the shortcut to your iPhone's Action Button. One press and you're recording.
Open Settings, search for Action Button, set it to Shortcut, and select your shortcut.
On your iPhone, open the Files app, go to iCloud Drive, and create a folder called Raw Ingest.
The shortcut saves transcribed text files here. They sync to your Mac automatically.
This is a project-level hook. Add it to your vault's .claude/settings.json (the project where you want notes to land). The hook runs once when you start a new Claude Code session in that folder. It checks Raw Ingest/ for new files, moves them into your project, and tells Claude about them.
Create .claude/settings.json in your project root:
{
"hooks": {
"SessionStart": [
{
"matcher": "startup",
"hooks": [
{
"type": "command",
"command": "bash -c 'INGEST_DIR=\"$HOME/Library/Mobile Documents/com~apple~CloudDocs/Raw Ingest\"; DEST=\"./raw/notes\"; mkdir -p \"$DEST\"; count=0; for f in \"$INGEST_DIR\"/*.txt; do [ -f \"$f\" ] || continue; ts=$(date +%Y-%m-%d-%H%M%S); mv \"$f\" \"$DEST/call-$ts.txt\"; count=$((count+1)); sleep 1; done; [ $count -gt 0 ] && echo \"INGEST: $count new note(s) moved to raw/notes/. Process them now.\" || true'"
}
]
}
]
}
}Change ./raw/notes to wherever you want the notes to land in your project.
The hook only runs in this project's folder. Your other repos are unaffected.
Change the language: Edit the shortcut's Transcribe action to force a specific language instead of using the phone's default.
Use Siri instead of the Action Button: Trigger the shortcut by saying "Hey Siri, Voice Memo". Works with AirPods too.
Add to Lock Screen: Add the shortcut as a Lock Screen widget for one-tap access.
Multiple projects: Modify the hook's DEST path or add routing logic based on content.
Text notes too: Duplicate the shortcut, replace Record + Transcribe with an "Ask for Input" action. Same pipeline, text instead of voice.
MIT
Is this interesting? Are you missing any functionality? Open an issue or reach out at filippo@mobileoperator.com







