Using Claude Projects as a personal mini-RAG

I work with Claude extensively, and decided to play with Projects to better understand them. So I combined Claude Cowork to prepare data for Claude Project, so I can transform a monstrous DaVinci Resolve manual into a mini-RAG.

Photo by Anete Lusina of an open folder with files

I was playing with DaVinci this weekend a bit.

And DaVinci Resolve 20.3 has a huge manual, 4300 pages in a 180 MB file.

I can either ignore the manual and ask AI to give me answers. Or I can create a personal knowledge base.

Obviously, I decided to go the “exploratory road” :)

Claude Cowork – decrease manual repetitive work

I asked Cowork to split the manual into chapters (according to the table of contents). Then asked it to optimize the file size (because Claude Projects have a limited storage capacity for attached files – I think 100MB).

It was too aggressive at first in optimizations and I wasn’t able to read the text on images, so I asked Claude to make several versions of a single file so I can say which optimization settings are the best for me (120dpi). After picking the best – Claude recompressed all files using my selected settings (using python and ghostscript). The size of all files was reduced from 200 MB (after the split without compression) to 145 MB. More optimizations are possible – but I wanted the images in PDF to still be readable for me. And I still wanted screenshots from DaVinci UI, hence the PDF and not straight to .md files.

Claude Project – organize knowledge, create own mini-RAG

Then, I created a new “DaVinci” project in Claude app and uploaded all my newly generated files as project files.

I ended up uploading 18 files of 90 MB, which resulted in “95% of project capacity used”.

The black dot on the left end of the progress bar is most likely a RAG activation threshold marker – it indicates the point at which Claude automatically switched from full in-context processing to RAG mode.

In other words:

  • Everything to the right of the dot (the brown fill) – content handled via RAG retrieval
  • Everything to the left of the dot – content loaded fully into context

So in my case, pretty much all requests are going through the RAG retrieval process.

I don’t think those files are “indexed” like Google does it, but they are definitely in a hot path for Claude to search for within this project.

Now I have a dedicated “GPT” which is pre-trained on DaVinci manual.

For each project you can create Instructions (and enable tools), and I included information like “the user is using MacOS, MBP with M1 Max and 64GB RAM, all keyboard shortcuts should be for Mac only. Always include a reference to the chapter and the page where more information is available regarding the topic of the discussion”, and some more – read below.

Asking the Claude Project

Using Claude Sonnet 4.6, I asked it to find me a shortcut to cut the video from the project files. It found the answer in 45 seconds.

Using Claude Haiku 4.5, I asked the same question (in a new chat) – it found the answer in 47 seconds.

The reply structure was different, I liked Sonnet’s more but that’s subjective.

In both cases, Claude parsed first the file names and then the content of the files. This is important, see the learnings below.

Converting the PDFs to .md chunks would make everything much faster, but I wanted to preserve an ability to see screenshots if I open the PDF, hence the PDF usage.

To be fair, this took quite long for AI to reply to this simple question – because asking in a separate chat “find me a shortcut to cut the video in davinci resolve on macos” will return results in seconds using the internet or the modal training data.

But the point isn’t being fast. It’s about being correct and working with user-provided data.

If it’s very specific doc-based internal knowledge – that’s a different story. Or if you work with something completely new, not present in training data, or when something has been modified heavily, and training data is just outdated.

When using Projects with very specific hand-picked files – the knowledge comes specifically from the sources you know and trust. Always true, always valid.

So keep that in mind.

Some learnings

  • Claude Projects are heavily underutilized.
  • It’s helpful to create a contents.md file that will have a “map” of where everything is located if you have a lot of files. Obviously, reading a simple .md file is faster than a heavier and binary PDF file.
  • Inside your Project “Instructions” textarea add a mention to search inside the contents file (“The categories of the data knowledge are located in … file…”) – this and the tip above helped reduce the search time by 10 seconds, down to 30+ seconds.
  • General knowledge shouldn’t be copied into projects.
    Projects are for ultra-specific pieces of information, or completely secure from the public internet (internal knowledge, reports, etc.). So my “cut video in DaVinci” is a very good example of showing which data the project should not be created with.
  • The names of files you upload to Projects are super important. Without a dedicated rule to use contents.md – it literally parses the list of files by their file names, and tries to guess which one might be relevant, and then tries to open relevant files. So if it gets it wrong – this is a lot of wasted time (and tokens).
  • Projects can be made public (by invite).
    Billing team may have a project with billing specific guides, latest reports, etc. – and all the team members can use the same project (not creating duplicates). Plus you will see everyone’s activity within this Project.
  • Projects chats can use Connectors (including Google Drive, GitHub, Asana access) – so you can research/think in/with Claude while still working with docs and tasks from other places.

Disclaimer about mini-RAG

I’m totally aware that Claude Projects (or ChatGPT Projects) are definitely not RAG1, but they are loosely behave like a minimal or implicit RAG setup.

Typical RAG

User question
   ↓
Embedding
   ↓
Vector DB search
   ↓
Relevant chunks retrieved
   ↓
LLM generates answer using them

Claude/ChatGPT Projects

Files in project
   ↓
Indexed / chunked
   ↓
Relevant parts retrieved when you ask a question
   ↓
Injected into prompt

Projects are more like “managed context retrieval” because:

  1. you don’t have control over retrieval
    • you can’t tune chunking
    • no control over embeddings
    • no control over similarity search
  2. data is not stored in an external vector store that you control
    • everything is hidden inside the platform
  3. you do not control the pipeline
    • you cannot add re-ranking
    • you cannot control the number of most relevant results (or top-K results)
  1. Retrieval-Augmented Generation ↩︎

Subscribe for Updates

Stay up to date with my latest blog posts, projects, and more!

Comments

2 responses to “Using Claude Projects as a personal mini-RAG”

  1. Have you tried using a filesystem-based MCP? It seems to be working nicely for me. I can talk to a multi-file markdown dataset from OpenCode and Claude desktop on the same machine.

    It does seem to eat up a lot more credits though

    1. You mean something like qmd by Tobias Lütke? Or literally pointing to a folder in Claude Cowork with all the files?

      No, I haven’t tried qmd (yet). Claude Cowork works fine (but greps a lot).

      Frankly, this would be super useful if enough project documentation is already stored locally in .md files, or if combined with Obsidian (which has its own cli already).

Leave a Reply

Your email address will not be published. Required fields are marked *