Hacker News

Ask HN: How do you build per-user RAG/GraphRAG

Hacker News - Wed, 04/23/2025 - 10:34am

Hey all,

I’ve been working on an AI agent system over the past year that connects to internal company tools like Slack, GitHub, Notion, etc, to help investigate production incidents. The agent needs context, so we built a system that ingests this data, processes it, and builds a structured knowledge graph (kind of a mix of RAG and GraphRAG).

What we didn’t expect was just how much infra work that would require.

We ended up:

- Using LlamaIndex's OS abstractions for chunking, embedding and retrieval.

- Adopting Chroma as the vector store.

- Writing custom integrations for Slack/GitHub/Notion. We used LlamaHub here for the actual querying, although some parts were a bit unmaintained and we had to fork + fix. We could’ve used Nango or Airbyte tbh but eventually didn't do that.

- Building an auto-refresh pipeline to sync data every few hours and do diffs based on timestamps. This was pretty hard as well.

- Handling security and privacy (most customers needed to keep data in their own environments).

- Handling scale - some orgs had hundreds of thousands of documents across different tools.

It became clear we were spending a lot more time on data infrastructure than on the actual agent logic. I think it might be ok for a company that interacts with customers' data, but definitely we felt like we were dealing with a lot of non-core work.

So I’m curious: for folks building LLM apps that connect to company systems, how are you approaching this? Are you building it all from scratch too? Using open-source tools? Is there something obvious we’re missing?

Would really appreciate hearing how others are tackling this part of the stack.

Comments URL: https://news.ycombinator.com/item?id=43772702

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: Annotated Paper – Easily read, annotate, and understand research papers

Hacker News - Wed, 04/23/2025 - 10:32am

Heya 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!

Comments URL: https://news.ycombinator.com/item?id=43772692

Points: 2

# Comments: 1

Categories: Hacker News

PyLingual Python Decompiler

Hacker News - Wed, 04/23/2025 - 10:30am

Article URL: https://pylingual.io

Comments URL: https://news.ycombinator.com/item?id=43772672

Points: 1

# Comments: 0

Categories: Hacker News

Sloyd

Hacker News - Wed, 04/23/2025 - 10:28am

Article URL: https://en.wikipedia.org/wiki/Sloyd

Comments URL: https://news.ycombinator.com/item?id=43772650

Points: 2

# Comments: 0

Categories: Hacker News

VisualVM

Hacker News - Wed, 04/23/2025 - 10:24am

Article URL: https://visualvm.github.io/

Comments URL: https://news.ycombinator.com/item?id=43772606

Points: 3

# Comments: 1

Categories: Hacker News

The Grug Brained Developer

Hacker News - Wed, 04/23/2025 - 9:37am

Article URL: https://grugbrain.dev

Comments URL: https://news.ycombinator.com/item?id=43772039

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: Text Battle – AI-simulated fights, daily leagues (Elo Ranking)

Hacker News - Wed, 04/23/2025 - 9:36am

I built Text Battle, a lightweight web game where you:

- Write a character prompt in ≤ 100 chars (e.g. "A sarcastic cyber-ninja with a plasma katana").

- Earn Elo and appear in daily or unlimited-season leagues.

Feedback I’m looking for:

- Whether the 60 s cooldown feels fair vs. annoying.

- Balance of Elo gains between free and paid matches.

- I added micro-transactions because LLM costs are non-trivial; any tips on model/infra optimization to keep it free-to-play are welcome.

URL: https://plan9.kr/battle

Auth: Email, Google, Supabase Anonymous Sign-Ins

Source / tech stack: React + Supabase + Gemini API

Thanks in advance—happy to answer questions!

Comments URL: https://news.ycombinator.com/item?id=43772029

Points: 1

# Comments: 0

Categories: Hacker News

Pages