Local-first · Auditable

Your research assistant for everything but the thinking.

yongu.so is a desktop research assistant that turns a folder of PDFs into a thematically clustered, citation-backed LaTeX draft. It carries the mechanical load: extraction, deduplication, clustering, cite-keys, and cross-referencing. You keep every directional call, and every claim traces back to a specific sentence in a specific paper.

Runs on your machine. Your PDFs never leave it. Bring your own LLM key.

The core loop deterministic
01PapersDrop in a folder of PDFs. Text + title/author/year + a stable BibTeX key.
02ClaimsStructured claims per paper: text, evidence, category, confidence.
03ClustersThematic clusters with a Strong / Moderate / Emerging strength signal.
04SectionsCluster synthesis into argued sections with inline citations.
05LaTeXA compilable .tex + references.bib export.
What works today

A research instrument, not a chatbot.

Eight capabilities already shipped in the first version. No freeform chat, just a deterministic state model you can actually trust.

[ workspace ]

Multi-project workspace

Many independent projects, each its own local SQLite database. Nothing in the cloud.

[ ingest ]

PDF ingestion

Text extraction with best-effort metadata and a stable BibTeX cite-key generated at ingest.

[ extract ]

Claim extraction

Per-paper structured claims. On tool-capable models, a bounded loop cross-references your corpus.

[ cluster ]

Normalize & cluster

Dedup and rewrite, then thematic clusters with a deterministic strength signal.

[ graph ]

Claim-to-claim edges

Support, contradiction, and methodology links, shown in an interactive claim graph.

[ draft ]

Draft generation

Cluster synthesis into per-section LaTeX with inline \cite{}, exported ready to compile.

[ ask ]

Ask the corpus

A provenance-backed Q&A surface over your claims. Answers cite the claims they came from.

[ integrity ]

Provenance & integrity

Every artifact carries a passport: content hash, origin, lineage, freshness. An integrity check gates the draft step.

[ soon ]

Much more to come

Data analysis, reference-code generation, cross-paper reasoning. The roadmap runs well past the literature review.


Why it's different

Built to be trusted, not just fast.

Assistive, never authoritative

The system suggests the next step; you decide. It never auto-advances you or commits knowledge without an explicit action.

State-driven, not chat-driven

A single project state is the source of truth. The UI is a pure projection of it; events are the only thing that can change it.

Local-first by default

Runs on your machine. SQLite and the filesystem hold everything. LLM calls go to a provider you configure.

Deterministic where it counts

The draft stage reproduces from the same clusters. Knowledge generation is auditable through recorded derivation traces.

AI tools hallucinate citations and you can't audit them. yongu.so doesn't. Every claim, cluster, and contradiction traces back to a specific sentence in a specific paper.
Download · v-latest

Run the early build.

Native desktop binaries, built fresh on each release. Pick your platform.

macOS

universal
Apple Silicon + Intel · .zip
Download for macOS

Unsigned early build. On first launch, macOS may block it. Right-click the app → Open, or run xattr -d com.apple.quarantine yongu.

Windows

x86-64
Windows 10 / 11 · .exe
Download for Windows

Unsigned early build. SmartScreen may warn. Click More info → Run anyway. No installer; it runs in place.

Linux

x86-64
glibc 2.35+ · .tar.gz
Download for Linux

Unsigned early build. Extract and run: tar -xzf yongu-linux-x86_64.tar.gz && ./yongu. Needs GTK 3 and a GL-capable desktop (most distros have these).

Before you run it: yongu.so needs an LLM API key: any OpenAI-compatible endpoint (OpenAI, DeepSeek, Groq, Together, Ollama, LM Studio…) or Anthropic. Set it in ~/yongu/llm_config.json or via an OPENAI_API_KEY environment variable.

No API key yet? The easiest free option is Google AI Studio. Create a free key, set the base URL to https://generativelanguage.googleapis.com/v1beta/openai, and use gemini-3.1-flash-lite, the model this build is tuned for. It is fast and its free-tier rate limits are the most forgiving; a heavier Gemini model gives stronger synthesis but reaches the free quota sooner.

This is an early access build, so expect rough edges, and please tell us where they are below.
Contact & feedback

Tried it? Tell us how to make it better.

We're putting this in front of working researchers right now. What did you reach for that wasn't there? What would make the draft more useful? Would this fit your workflow? Every reply is read by the person building it.

Prefer email? me@yogi.sh