# Distillate v0.1.5 — Launch Posts

## r/RemarkableTablet

**Title:** I built a tool that auto-extracts your reMarkable highlights into structured notes

**Body:**

Hey everyone — I've been using my reMarkable for reading research papers, and the one thing that always frustrated me was getting my highlights back out. Copy-pasting from the tablet, re-reading PDFs to find what I marked... it was a pain.

So I built **Distillate** — an open-source CLI tool that:

1. Syncs papers from your Zotero library to your reMarkable automatically
2. When you're done reading, extracts all your highlighted text
3. Creates a structured note with your highlights + an annotated PDF
4. Optionally generates an AI summary of what you highlighted

The workflow is dead simple: save a paper to Zotero, it shows up on your reMarkable. Read and highlight. Move it to the Read folder. Next time Distillate runs, your notes are ready.

```
$ distillate   # turn papers into notes!

save to Zotero ──> auto-syncs to reMarkable
                       │
        read & highlight on tablet
        just move to Read/ when done
                       │
                       V
paper: archived. notes: auto-saved.
> done! next paper?
```

It uses rmapi under the hood and parses the .rm files directly with rmscene for text extraction. Works with Obsidian or any plain folder.

GitHub: https://github.com/rlacombe/distillate
Website: https://distillate.dev

Would love feedback — especially from heavy paper readers. What would make this more useful for your workflow?

---

## r/Zotero

**Title:** Distillate — automated pipeline from Zotero to reMarkable to structured notes

**Body:**

I wanted to share an open-source tool I built that plugs into Zotero to automate the paper reading workflow.

**The problem:** I save papers to Zotero, read them on my reMarkable, highlight key passages... and then the highlights just sit there. Getting them back into my notes was always manual and tedious.

**The solution:** Distillate polls your Zotero library for new papers, uploads them to reMarkable, and when you've finished reading (just move the doc to a Read folder), it:

- Extracts highlighted text from the reMarkable document
- Creates an annotated PDF with highlights overlaid on the original
- Generates a structured markdown note (works with Obsidian or any folder)
- Tags the paper `read` in Zotero and links back to the note
- Optionally adds an AI summary via Claude

It uses the Zotero API to watch for new items, download PDFs, manage tags, and attach notes back. Papers are filtered by type (articles, preprints, conference papers) and deduplicated by DOI/title.

```bash
pip install distillate
distillate --init    # setup wizard
distillate           # sync
```

Requires a reMarkable tablet + rmapi for the cloud sync. Zotero + reMarkable is the core, everything else (AI, email digest, Obsidian) is optional.

GitHub: https://github.com/rlacombe/distillate

Curious to hear if other Zotero + reMarkable users have been dealing with the same workflow gap!

---

## r/ObsidianMD

**Title:** Distillate — auto-generate paper notes in Obsidian from reMarkable highlights

**Body:**

For anyone using Obsidian as a research knowledge base: I built an open-source tool called Distillate that automates the path from reading a paper to having a structured note in your vault.

**How it works:**

1. Save a paper to Zotero (browser connector)
2. Distillate syncs it to your reMarkable
3. Read and highlight on the tablet
4. Move to the Read folder when done
5. Distillate creates a note in your Obsidian vault with:
   - YAML frontmatter (title, authors, DOI, tags, date read)
   - Your highlights grouped by page
   - Annotated PDF embedded inline
   - Optional AI-generated summary and key learnings
   - Auto-updated Reading Log

The notes use Obsidian-native features: `[[wiki-links]]`, Dataview-compatible frontmatter, `![[embedded PDFs]]`. The Reading Log is a running table of everything you've read, sorted by date.

```bash
pip install distillate
distillate --init
```

The setup wizard asks for your vault path and handles the rest. Requires Zotero + a reMarkable tablet.

GitHub: https://github.com/rlacombe/distillate
Website: https://distillate.dev

Would love to hear how other researchers organize their paper notes in Obsidian — always looking for ideas to make the note format more useful.

---

## Hacker News — Show HN

**Title:** Show HN: Distillate – Zotero + reMarkable highlights → structured notes

**Body:**

I read a lot of research papers. My workflow: save to Zotero, read on reMarkable, highlight the important parts. The problem was always getting those highlights back out — the reMarkable has no export-to-notes flow, so I'd end up re-reading papers to find what I marked.

Distillate automates the whole pipeline:

```
$ distillate

save to Zotero ──> auto-syncs to reMarkable
                       │
        read & highlight on tablet
        just move to Read/ when done
                       │
                       V
paper: archived. notes: auto-saved.
> done! next paper?
```

It polls Zotero for new papers, uploads PDFs to the reMarkable via rmapi, then watches for papers you've finished reading. When it finds one, it:

- Parses the .rm files using rmscene to extract highlighted text (GlyphRange items from the v6 format)
- Searches for that text in the original PDF using PyMuPDF and adds highlight annotations
- Creates a markdown note with metadata, highlights by page, and an annotated PDF
- Optionally generates a summary via Claude (one-liner + key learnings)

Tech: Python 3.10+, rmapi for reMarkable Cloud, rmscene for .rm parsing, PyMuPDF for PDF annotation. Works with Obsidian or any folder. Optional Anthropic API for AI summaries, Resend for weekly digest emails, Semantic Scholar for citation data.

Install: `pip install distillate && distillate --init`

Code: https://github.com/rlacombe/distillate

The hardest part was the highlight extraction — reMarkable's v6 format stores highlighted text as GlyphRange items in a scene tree, and matching that text back to positions in the original PDF requires fuzzy search with OCR cleanup. Cross-page highlights (where a sentence spans a page break) needed special merging logic.

Would love feedback, especially from other reMarkable + Zotero users. What's missing from your paper reading workflow?
