Zemi is a knowledge base for a research group, written in Julia. It reads the papers a group works from, makes them searchable by meaning, gives people and AI agents the same project boards to work on, and much more. Over time the site becomes a rich repository for a research group to draw from, and it helps the team to learn, communicate, organize, and innovate.
The name comes from ゼミ (zemi), a Japanese university research seminar.
Demo: Reef Ecology Lab · Guide: Zemi
What it does:
- Papers: arXiv papers, PDFs and codebases are parsed, summarized section by section, and embedded in several layers. Search combines keywords and meaning.
- A site: paper pages, topics, a timeline, a landscape of the papers against the group’s focus areas, an arXiv watch, and a daily paper with an analysis.
- A tutor per paper, pitched to the reader’s background, and Slate notebooks made from papers.
- Findings that cite their evidence: papers with the quoted passage, records, notebooks, code.
- Projects: task boards that people and agents share. Agents propose plans; people approve them. Questions go both ways, and what waits on you can reach your phone or computer as a notification.
- Agents use all of it through MCP or Kaimon: search, read, plan, report, draft findings.
- Solo or shared: one person on a laptop, or a signed-in group on a server with roles and API tokens. Groups can share what they read as datasets.
Projects provides a lightweight but capable project/task management feature which ties in directly with the knowledge base, allows humans and AI to work on tasks and track the project progress.
Try it (Julia 1.12+; reading papers also needs Ollama, Qdrant and
mutool, see requirements):
git clone https://github.com/kahliburke/Zemi.jl.git
cd Zemi.jl
./zemi
Or as a library (pkg> add Zemi):
using Zemi
db = kb()
ingest!(db, ["1706.03762"])
search(db, "attention without recurrence")
For the curious, under the hood, some of the open source packages Zemi builds upon, thanks to the various package authors and contributors.
Issues and questions are welcome on GitHub or here.



