rockcampbell.com/content/posts/north-star-productivity-roadmap.md

155 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Paper-First, Server-Backed: My North Star Productivity System (Roadmap)"
date: 2025-08-17
tags: ["stationery","paper","zettelkasten","self-hosting","linux","automation","ai","hugo","nextcloud"]
series: ["Analog & Slipbox"]
summary: "A practical, paper-first system that hands off to my server for capture, search, and publishing."
draft: false
---
## The promise (in one sentence)
**Think on paper; let the server do the grunt work.** Everything starts with pen and card. The server handles capture, OCR, search, and publishing—quietly, reliably, and without fuss.
## Who this is for
People who like nice paper and tidy systems, and also run a homelab or at least dont mind one small Linux box humming along in the background.
## What you need
- **Stationery kit:** A6 (or Plotter Bible) cards/pages, a date-ID stamp (e.g., `20250816-01`), and a decent pen.
- **Phone with a scanner app** (the stock iOS “Scan Document” works).
- **Sync target:** Nextcloud (or Syncthing) with a folder called `INBOX`.
- **Server bits (Ubuntu/Debian):**
- OCR & tools: `tesseract-ocr`, `ocrmypdf`, `pdftotext`, `zbar-tools`, `img2pdf`
- Python + packages: `python3-pip`, then `pip install watchdog pypdf python-frontmatter`
- **A notes vault** (e.g., `~/Nextcloud/notes/zettels`).
- **Static site generator:** Hugo.
- **Optional AI** for summaries/tags (light touch—assistant, not author).
## The flow (birds-eye view)
**Paper → Scan → `INBOX/` → OCR + ID → Markdown & PDF → Vault → Draft → Publish**
- Every card/page gets an **ID** and a **short title**.
- You scan to `INBOX/`.
- A tiny server watcher:
- OCRs the scan,
- grabs the ID (from text or QR),
- creates `ID-title.md` with front matter + extracted text,
- parks the pair (`.md` + `.pdf`) in your vault.
- Promotable notes become blog posts. The rest stay as durable, searchable notes.
## Set it up (step-by-step)
### 1) Standardize IDs on paper
- Stamp the top-right of every card with `YYYYMMDD-##` (e.g., `20250816-01`).
- Under it: **Title**, then a single line: **Tags** and **Next Action**.
- Optional: print a tiny QR with the ID (helps linking later; not required).
### 2) Create the capture lane
- In Nextcloud, make `/Nextcloud/INBOX/` and `/Nextcloud/notes/zettels/`.
- On your phone, a Shortcut that:
- Scans → saves PDF to `INBOX/`
- Names it something dumb like `scan.pdf` (the server will rename).
### 3) Install the server tools
```bash
sudo apt update
sudo apt install -y tesseract-ocr ocrmypdf poppler-utils zbar-tools img2pdf python3-pip
pip3 install watchdog pypdf frontmatter
```
### 4) Wire the watcher (high level)
- The watcher does four things:
1) **Normalize & OCR** any image/PDF dropped in `INBOX/`.
2) **Detect the ID** (regex on text; optional QR fallback).
3) **Rename** to `ID-title.pdf` and create a matching `ID-title.md` with:
```yaml
---
id: 20250816-01
title: "Short, human title"
tags: []
created: 2025-08-16
---
```
4) **Move** both into `notes/zettels/`.
> You can run the watcher as a `systemd` service so it survives reboots:
```
# /etc/systemd/system/paper-watcher.service
[Unit]
Description=Paper ingest watcher
After=network.target
[Service]
Type=simple
User=rock
ExecStart=/usr/bin/python3 /home/rock/bin/paper_ingest.py
Restart=on-failure
[Install]
WantedBy=multi-user.target
```
Then:
```bash
sudo systemctl daemon-reload
sudo systemctl enable --now paper-watcher
```
*(Ill publish my `paper_ingest.py` skeleton in a separate post; the roadmap here is the “what” and “why”—keep reading.)*
### 5) Keep AI on a leash (optional but handy)
- Start manual: paste the OCRd text into your assistant and ask for **3 bullets + 5 tags**. Paste those into the notes front matter.
- Later, add an API call in the watcher to auto-suggest tags/summary. You still review.
### 6) Publishing with Hugo (light touch)
- Add a `series` taxonomy so you can group posts like “Analog & Slipbox” or “Self-Hosting & Linux”.
- Promote a note to a post by:
- Copying its `.md` into `content/posts/`,
- Keeping the `id` in front matter,
- Adding a link back to the cards PDF for provenance.
## Operating rhythm (the part that actually makes this work)
**Daily (AM, 58 min):**
- Stamp 23 cards. One gets a title and a single next action.
**Daily (PM, 1015 min):**
- Scan the days cards to `INBOX/`. Let the server sweep them into place.
- Skim the new Markdown; fix the title if the OCR guessed poorly.
**Weekly (30 min):**
- Pick one note and promote it to a draft post (600900 words).
- Cross-link two related notes. Dont overthink it—just link.
**Monthly (3045 min):**
- Trim dead tags. Backup vault. Review the watcher logs for errors.
## Guardrails & gotchas (learned the hard way)
- **Dont chase feature creep.** If the pipeline breaks, you wont scan. Keep it boring.
- **Prefer PDFs over JPGs.** OCR is cleaner; search is better.
- **Title discipline beats tagging sprawl.** Short titles with real nouns.
- **AI is seasoning, not the stew.** Use it to suggest, not decide.
## FAQ (the questions people ask)
**Does this replace notebooks?**
No. It respects them. Paper stays the thinking surface; the server just stops your ideas from vanishing in a drawer.
**What if Im offline?**
Write as usual. Scan later. Nothing in this depends on constant connectivity.
**Is this private?**
Yes—if you keep Nextcloud self-hosted and dont spray your vault across third-party services. Encrypt backups.
**Why not just type everything?**
Because writing by hand helps you think straighter. This lets you keep that advantage without paying a search penalty later.
## What Ill publish next (so you can copy it)
1) **Printable A6 + Plotter Bible templates** (ID/Title/Tags/Next boxes).
2) **The watcher script** (`paper_ingest.py`) with install notes.
3) **A Shortcuts/iOS scan-to-INBOX recipe**.
4) **A TRAMP/Emacs guide** for editing your vault and site remotely.
---
### About the name “North Star”
“North Star” is a common phrase for a guiding principle or metric. Im using it here as **my label** for this specific setup—**paper-first, server-backed**—not claiming an existing trademarked methodology. In short: the phrase exists everywhere; **this system and framing are mine**.