Show HN: Annotated Paper – Easily read, annotate, and understand research papers
annotatedpaper.khoj.devHeya HN! I've been working on this side project for a few weeks and I decided to do a soft launch to share. It's open-source, so link to code below.
This is Annotated Paper. I mainly built this for myself as I was reading up on AI safety research to read research papers more effectively. I'm sharing it because it could be useful to anyone reading a decent amount of papers.
It allows you to: 1. Read your paper in a split-pane view, with some actions available in the right panel. 2. Ask questions with an AI copilot & get grounded responses that link back to the source PDF. 3. Add highlights & annotations to the PDF (hence, annotated paper). Highlighting any text also gives you a neat inline menu with quick actions. 4. Take notes in markdown format, quickly extracting snippets from the PDF 5. Tune the AI response - pick from concise, normal, and detailed response lengths. 6. Search over your knowledge base of uploaded PDFs.
Citations generation was somewhat complex. I setup a syntax I've called the citation protocol. It pushes the LLM to ground its response in footnote syntax, providing inline citations to any claims it's making about the paper. The response is streamed with grounded references, which I then use for reverse lookup in the source PDF.
Reverse-lookup from the citation to location in the PDF has been tricky, because the LLM-extracted text isn't always a match to the client-extracted text layers. So I do some fuzzy matching.
I created a split-pane view with the PDF, because I wanted to actually read the paper, not just upload it and treat it like a black box. For humans to gracefully _learn_ with AI, we should still read the source docs, rather than give up control.
It's not been super stress-tested, but should work decently on PDFs < 50 pages. No paywall at the moment, so give it a spin :). I'd love some feedback.
Note: I haven't yet developed a mobile view, because I don't think people meaningfully are reading papers on their phones. I may get to it eventually if there's demand.
Model: `gemini-2.5-pro`, because it's quite decent with reasoning & technical work. I do think adding model switching would be useful for diversity, depending on subject matter.
-----
GitHub repo: https://github.com/sabaimran/annotated-paper
Overall vision: https://annotatedpaper.khoj.dev/blog/manifesto
Citations protocol prompt: https://github.com/sabaimran/annotated-paper/blob/master/ser...
Request: Try out the app and let me know any feedback you might have. It's a pretty rough prototype at the moment!
If you've built anything similar for document processing, I'd love some advice on the reverse reference look-up or processing PDFs with images.
If you are reading a decent amount of papers, I'd love some insight into what your reading workflows look like currently, and which tools are already useful.
Thank you!
Hey! Very cool, thank you for sharing. I use Zotero today, is that where you're headed from a product roadmap perspective?
Ah, good question! I'd say not quite. Managing a knowledge bank of your papers is a core feature, but I don't think I'd want to get _as_ extensive as Zotero (being your entire knowledge storage space/citations generation).
Features I'm thinking about:
- Dynamic podcast generation (journal -> audio summary)
- Model switching for diversity of responses
- Paper search tool for finding relevant papers
- Improve note-taking feature so people can work on writing their own papers in-app
- Improve the citation protocol to make it more reliable
- Diversify input types beyond just PDFs (include audio files, multiple documents, plaintext documents)
How's your experience on Zotero?
How does it compare to other tools like https://www.semanticscholar.org/product/semantic-reader or many others? What was missing there?
Semantic Reader looks really cool! Just gave it a spin. Unless I'm mistaken, it seems like their AI assistive features are more designed for efficient skimming and inline-citation lookup in the PDF, rather than open-ended question/answering. Really love their design.
My approach is for user-driven highlights with AI help. As in, you can upload your paper and directly ask questions ("Why did they only include the HotPotQA dataset?", "What scores did they achieve with the fine-tuned model?", etc). When the AI responds, it provides citations inline to reference text. You can then click on the reference text to take you there in the doc.
Might be easier to visualize using some of the demo screenshots on the README: https://github.com/sabaimran/annotated-paper.
Hopefully that answers your question?