Launch HN: Captain (YC W26) â Automated RAG for Files
38 points - today at 3:45 PM
Hi HN, weâre Lewis and Edgar, building Captain to simplify unstructured data search (https://runcaptain.com). Captain automates the building and maintenance of file-based RAG pipelines. It indexes cloud storage like S3 and GCS, plus SaaS sources like Google Drive. Thereâs a quick walkthrough at https://youtu.be/EIQkwAsIPmc.
We also put up this demo site called âAsk PGâs Essaysâ which lets you ask/search the corpus of pgâs essays, to get a feel for how it works: https://pg.runcaptain.com. The RAG part of this took Captain about 3 minutes to set up.
Here are some sample prompts to get a feel for the experience:
âWhen do we do things that don't scale? When should we be more cautious?â https://pg.runcaptain.com/?q=When%20do%20we%20do%20things%20...
âGive me some advice, I'm fundraisingâ https://pg.runcaptain.com/?q=Give%20me%20some%20advice%2C%20...
âWhat are the biggest advantages of Lispâ https://pg.runcaptain.com/?q=what%20are%20the%20biggest%20ad...
A good production RAG pipeline takes substantial effort to build, especially for file workloads. You have to handle ETL or text extraction, chunking, embedding, storage, search, re-ranking, inference, and often compliance and observability â all while optimizing for latency and reliability. Itâs a lot to manage. grep works well in some cases, but for agents, semantic search provides significantly higher performance. Cursor uses both and reports 6.5%â23.5% accuracy gains from vector search over grep (https://cursor.com/blog/semsearch).
Weâve spent the past four years scaling RAG pipelines for companies, and Edgarâs work at Purdueâs NLP lab directly informed our chunking techniques. In conversations with dozens of engineers, we repeatedly saw DIY pipelines produce inconsistent results, even after weeks of tuning. Many teams lacked clarity on which retrieval strategies best fit their data.
We realized that a system to provision storage and embeddings, handle indexing, and continuously update pipelines to reflect the latest search techniques could remove the need for every team to rebuild RAG themselves. That idea became Captain.
In practice, one API call indexes URLs, cloud storage buckets, directories, or individual files. Under the hood, weâre converting everything to Markdown. For this, weâve had good results with Gemini 3 Pro for images, Reducto for complex documents, and Extend for basic OCR. For embedding models, âgemini-embedding-001â performed reasonably well at first, but we later switched to the Contextualized Embeddings from âvoyage-context-3â. It produced more relevant results than even the newer Voyage 4 models because its chunk embeddings are encoded with awareness of the surrounding document context. We then applied Voyageâs ârerank-2.5â as second-stage re-ranking, reducing 50 initial chunks to a final top 15 (configurable in Captainâs API). Dense embeddings are just half the picture and full-text search with RRF complete our hybrid retrieval. In the Captain API, these techniques are exposed through a single /query endpoint. Access controls can be configured via metadata filters, and page number citations are returned automatically.
The stack is constantly changing but the Captain API creates a standard interface for this. You can try Captain, 1 month for free, and build your own pipelines at https://runcaptain.com. Weâre looking for candid feedback, especially anything that can make it more useful, and look forward to your comments!
Comments
I also appreciate transparent pricing but I am not 100% sure the sense of scale of costs. It could be helpful to give some ballparks on things for each of the plans. I'm not sure exactly what i could get out of a plan. My guess, trying hard to figure it out, was if i had about 1,000 pages of new/updated content per month, I would pay $295/month for unlimited queries on top of it. Is that roughly correct?
How do you handle more structured data like csv/xlsx/json? Would be cool if it were possible to auto-process links to markdown (e.g. youtube, podcast, arbitrary websites, etc) a la https://github.com/steipete/summarize (which can pull full text in addition to summarizing).
:O