One Big Text File (OBTF)
Your entire life — notes, tasks, ideas, logs — in one text file. No apps, no sign-ups, no internet. Just .txt.
The idea
OBTF is an approach to note-taking and task management where you keep everything in one text file. New entries go at the top, old ones stay at the bottom. To find anything — Ctrl+F.
The best productivity system is the one you actually use. And nothing is simpler than a text file.
It's not a framework, not a method, not an app. It's a deliberate rejection of complexity in favor of the most reliable format in the history of computing.
Why it works
Zero friction
The biggest productivity killer is friction between thought and capture. In Notion you need to pick a workspace, a page, a block. In Obsidian — come up with a filename and decide where to put it. In OBTF: open the file, write, close. Three seconds.
A forever format
Text files can be read on any device, in any OS, by any editor. A file created in 1985 will open today without a single issue. Your Notion notes won't outlive Notion. Your .txt will outlive you.
Search beats categories
People spend hours building hierarchies of tags and folders. Then spend minutes searching for the right note within those hierarchies. Ctrl+F finds anything in milliseconds — even in a file tens of megabytes large. Structure is unnecessary when you have full-text search.
Context of the day
When everything is recorded chronologically, you get free context. A note next to a task reminds you why you created it. A call log next to an idea shows where it came from. It's a captain's log, not a card catalog.
No vendor lock-in
Evernote changed its free plan terms three times. Google killed Keep Reminders. Notion could shut down tomorrow. Your .txt depends on no company, server, subscription, or API.
No cognitive overhead
With systems like GTD or PARA, you first have to learn the system itself before you can start working. OBTF requires no training, no setup, no plugins. If you can type — you already know how to use OBTF.
Works offline
No internet? No problem. The file is local. It doesn't "sync," doesn't "load," doesn't "conflict." It just sits on your drive and opens instantly.
Speed
Opening a 5 MB .txt in Sublime Text — 0.3 seconds. Opening Notion — 3–8 seconds from a cold start, plus page loading, plus rendering. A 10–30x difference — every day, every time.
Comparison with other approaches
| OBTF | Notion / Obsidian | Paper notebook | |
|---|---|---|---|
| Time to capture | ~3 sec | ~10–20 sec | ~2 sec |
| Search | instant | fast | impossible |
| Backup | cp file.txt | depends on service | photo? |
| Offline | always | partially | always |
| Vendor lock-in | none | yes | none |
| Cost | $0 | $0–$10/mo | ~$5 per notebook |
| Setup | 0 minutes | hours–days | 0 minutes |
| Learning curve | zero | steep | zero |
| In 20 years | will open | unknown | if intact |
File format
There are no strict rules — that's the whole point. But here's a format that works well:
──────────────────────────────
2026-02-22 Sun
──────────────────────────────
Call with Mike — reschedule to Thursday
Idea: OBTF landing page, minimalist README-style
Buy: milk, bread, coffee
Read the article about local-first software
TODO: send invoice to client by Wednesday
──────────────────────────────
2026-02-21 Sat
──────────────────────────────
Finished the draft of the minimalism article
DONE: send to editor
Bug in the auth module
→ cause: incorrect redirect_uri
→ fixed, in prod since 16:30
Thought: tools don't solve productivity
problems — habits do
──────────────────────────────
2026-02-20 Fri
──────────────────────────────
Team meeting, discussed Q2 roadmap
→ priority: API refactoring
→ deadline: end of March
Evening: movie 'Perfect Days' — excellent
Markers
A minimal set of conventions that make searching easier:
TODO:— a task that needs to be doneDONE:— a completed task→— sub-item, clarification, resultIdea:— a thought for laterThought:— reflection, observation──────— visual day separator
Ctrl+F can find them.
Daily workflow
- Morning. Open the file. Add a date separator. Write down your plan for the day — or don't.
- Throughout the day. Anything that comes to mind or happens — write it at the top. A call, a task, a link, a thought. Don't pick a category. Just write.
- Need to find something.
Ctrl+F→ keyword. Found it in a second. - Once a week (optional). Skim through recent entries. Move unclosed
TODO:items to today or mark themDONE:. - Once a year. Rename the file to
2025.txt. Create a neweverything.txt. The archive isn't going anywhere.
Advanced techniques
Quick access
Add the file to your editor's startup or create an alias:
# .bashrc / .zshrc
alias e="vim ~/everything.txt"
# or on macOS
alias e="open -a 'Sublime Text' ~/everything.txt"
Automatic date
A script that adds a date separator when you open the file:
#!/bin/bash
DATE=$(date "+%Y-%m-%d %a")
SEPARATOR="──────────────────────────────"
HEAD=$(head -3 ~/everything.txt)
if [[ "$HEAD" != *"$DATE"* ]]; then
printf "%s\n%s\n%s\n\n" "$SEPARATOR" "$DATE" "$SEPARATOR" | \
cat - ~/everything.txt > /tmp/obtf && mv /tmp/obtf ~/everything.txt
fi
$EDITOR ~/everything.txt
Backup
It's a text file — the most basic tools are enough for backup:
- Git:
git add everything.txt && git commit -m "$(date)"— full change history, free - Dropbox / Syncthing: put the file in a synced folder — automatic backup
- Cron:
cp everything.txt ~/backup/everything_$(date +%F).txt— daily copy
Search from the terminal
# All open tasks
grep "TODO:" ~/everything.txt
# Everything related to a project
grep -i "api" ~/everything.txt
# Tasks from the last week
grep -A 5 "2026-02-2" ~/everything.txt
Multiple files?
If you really want to split things up — it's acceptable to have 2–3 files: work.txt, personal.txt, journal.txt. But that's already a compromise. The power of the method is in one file. Fewer files means fewer decisions about "where to write this."
OBTF as a knowledge base for AI
Here's an unexpected bonus: your everything.txt is a ready-made knowledge base for LLMs. No vector databases, no embeddings, no pipelines. Just text that's already structured chronologically and marked up with conventions.
The simplest RAG is Ctrl+C
The context window of modern models is 100–200K tokens. One token is roughly 3–4 characters. Your 500 KB everything.txt is ~125K tokens. It fits entirely in the context of Claude, GPT-4, or Gemini. No chunking strategy needed — just paste the file into the prompt.
What you can ask AI with your file
- "What tasks have I left open in the past month?" — AI will find all
TODO:without a correspondingDONE: - "Summarize my week" — the chronology is already there, AI just summarizes
- "When did I last discuss project X?" — full-text search with context understanding
- "What ideas have I written down about marketing?" — semantic search, better than
Ctrl+F - "Write a February report based on my notes" — AI will generate coherent text from your notes
- "Are there patterns in my entries? What do I do every Monday?" — meta-analysis of your life
Automation via CLI
Feed the file to a model right from the terminal:
# Claude via API
cat ~/everything.txt | claude "What tasks have I left open this week?"
# Or via Claude Code
claude "Read ~/everything.txt and compile a list of
all open TODOs from the last 7 days"
# OpenAI CLI
cat ~/everything.txt | openai api chat.completions.create \
-m gpt-4o -p "Summarize my week"
Why .txt is better than Notion for RAG
| OBTF + LLM | Notion AI | Obsidian + plugins | |
|---|---|---|---|
| Data preparation | 0 steps | API + export | plugins + setup |
| Format | plain text | JSON/Markdown | Markdown + YAML |
| Context | entire file | per page | per file |
| Cost | ~$0.01 per query | $10/mo | API tokens |
| Privacy | file is local | Notion's cloud | local |
| Setup | none | minimal | substantial |
everything.txt is already a "vector database," just without the vectors. Plain text that LLMs understand perfectly.
Local LLMs
If you don't want to send your notes to the cloud — use a local model via Ollama or LM Studio:
# Ollama
ollama run llama3 "$(cat ~/everything.txt)
Question: what projects am I working on right now?"
The file stays on your drive. The model runs on your hardware. Zero data leaves your machine.
Editors
| Editor | Platform | Time to open a 5 MB .txt |
|---|---|---|
| Notepad | Windows | instant |
| TextEdit | macOS | instant |
| Sublime Text | all | ~0.3 sec |
| Notepad++ | Windows | ~0.5 sec |
| VS Code | all | ~1 sec |
| vim / nano | Unix | instant |
| iA Writer | macOS / iOS | ~0.5 sec |
Who it's for
OBTF isn't for everyone. But if you recognize yourself in one of the descriptions below, it's worth trying.
| Who | Why |
|---|---|
| Developer | Debug logs, snippets, code review notes, standups — all in one file right in the terminal. grep replaces Jira. |
| Freelancer | Project tasks, client correspondence, future ideas. No switching between Notion, Todoist, and Trello. |
| Researcher / academic | Meeting notes, article links, drafts. Jeff Huang has kept one file for 9+ years as a work journal. |
| Writer | Drafts, outlines, quotes, observations. Low friction is critical — a thought won't wait while you pick a notebook. |
| Manager | 1:1 notes, decisions, project context. The file becomes a personal CRM. |
| Anyone with 'app fatigue' | If you've tried Notion, Obsidian, Roam, Logseq, Craft, Bear, Apple Notes — and you're tired of configuring instead of writing. |
Mobile access
The first question everyone asks: "what about my phone?" The answer: easier than you'd think.
Sync
There's only one file, which makes syncing trivial:
- iCloud Drive — put
everything.txtin your iCloud folder. Instantly available on any Apple device. - Syncthing — P2P sync without the cloud. The file stays on your devices, no server ever sees it. Works between Android, Linux, Windows, macOS.
- Dropbox / Google Drive — if you already use them. Put the file in a synced folder and you're done.
- Git — for the adventurous.
git pullon your phone via Termux (Android) or Working Copy (iOS).
Mobile editors
| Editor | Platform | Features |
|---|---|---|
| 1Writer | iOS | Fast, supports iCloud and Dropbox, URL scheme actions |
| iA Writer | iOS / Android | Beautiful, focus on text, iCloud / Dropbox / Google Drive |
| Obsidian | iOS / Android | Opens your .txt as a regular file. Handy search. Syncthing or iCloud |
| Markor | Android | Free, open-source, works with any .txt/.md files |
| Textastic | iOS | Powerful code editor, but works great for text too |
| Termux + vim | Android | For those who aren't afraid of a terminal on their phone |
Links and further reading
OBTF isn't anyone's invention. It's a pattern that people independently rediscover again and again. Here are the key texts and authors.
Origins
- Danny O'Brien — "Life Hacks: Tech Secrets of Overprolific Alpha Geeks" (2004) — a talk at the O'Reilly Emerging Technology Conference where O'Brien presented the results of surveying productive programmers. This is where the idea first emerged that geeks keep everything in plain text and avoid complex apps. Cory Doctorow's notes are a historical document.
- Jeff Huang — "My productivity app is a never-ending .txt file" — a professor who has kept a single text file for over 9 years, accumulating more than 51,000 lines documenting everything he does. A genre classic with a detailed description of his daily process.
- William Hern — "Living in a Single Text File" (2006) — one of the earliest articles about the method: the author kept a file from 2006 to 2009, growing it to 40,000 lines and over a megabyte.
Modern practitioners
- Ellane W — "One Big Text File: the What and the Why" — author of the Plain Text, Paper Less newsletter. Keeps an OBTF as a digital bullet journal in Obsidian. Starts a new file each calendar year, like a fresh notebook. A great entry point for beginners.
- Geet Duggal — "OBTF after 24 Hours" and "OBTF meets Obsidian, Messaging Apps, and AI" — a series of articles on integrating OBTF with Obsidian and AI tools. The author automated message capture from messengers directly into his OBTF.
- Christopher Sherrod — "One Big Text File (OBTF)" + GitHub repository — a minimalist OBTF template. The file pairs with an intentional lifestyle and daily writing, removing the pressure of productivity from the process.
- MrDizzy — "OBTF - One Big Text File" — an author who wrote a shell script for working with OBTF and compares the method to the Commonplace Book tradition. Uses NeoVim and Git for syncing.
Discussions
- Hacker News — discussion of Jeff Huang's article — hundreds of comments from developers sharing their own variations of the method.
- Mac Power Users Talk — "Using OBTF for daily blogging and journal" — a thread about practical OBTF usage with iPad and Shortcuts.
FAQ
What if the file gets huge?
5 MB of plain text is roughly 5 years of daily entries. Any modern editor will handle it. If you hit 10+ MB — just archive by year.
What about images?
You can't embed them in a text file — and that's a feature, not a bug. Store images in a ~/attachments/ folder and reference them: → see attachments/schema-v2.png.
Does this work for teams?
No, and that's fine. OBTF is a personal tool. For teams there's Slack, Linear, GitHub Issues. OBTF is for your own head.
What about security?
The file is local — it's as secure as your drive. For encryption: gpg -c everything.txt. For highly sensitive data — VeraCrypt.
Isn't this too primitive?
Email is also a chronological stream of text with search. And it's worked for billions of people for 30 years. Simplicity isn't primitiveness. It's maturity.
Start in 30 seconds
Copy the command for your OS. In a second you'll have a file and an open editor.
macOS
touch ~/everything.txt && open -e ~/everything.txt
Linux
touch ~/everything.txt && xdg-open ~/everything.txt
Windows (PowerShell)
New-Item ~/everything.txt -Force | Out-Null; notepad ~/everything.txt
Windows (CMD)
type nul > %USERPROFILE%\everything.txt && notepad %USERPROFILE%\everything.txt
Terminal (any OS)
echo "──────────────────────────────" >> ~/everything.txt
echo "$(date '+%Y-%m-%d %a')" >> ~/everything.txt
echo "──────────────────────────────" >> ~/everything.txt
echo "" >> ~/everything.txt
$EDITOR ~/everything.txt