2
2 Comments

I built a document chunking + embeddings API for RAG, looking for feedback

I work on production RAG systems and kept hitting the same problem: chunking quality quietly decides retrieval quality, but most setups just split text by a fixed token count and move on.

So I built a small API that does sentence-aware, structure-aware chunking and returns embeddings in one call (PDF, DOCX, CSV, XLSX, ZIP in, chunks plus vectors out, using bge-m3). The idea was to make the boring part of a RAG pipeline reliable so the rest of the stack gets cleaner inputs.

A few things I learned building it:

  • Fixed-size chunking looks fine in demos and falls apart on real documents with tables and headings.
  • Returning embeddings in the same call removed a lot of glue code people usually write themselves.
  • Multilingual retrieval (Turkish in my case) is where weak chunking hurts the most.

It is live with a few free runs if anyone wants to try it: chunkingservice.com

I would like feedback on the chunking strategy and what formats or options are missing for your own RAG work. What are you using for chunking right now?

on July 11, 2026
  1. 1

    Hey ahmet — "fixed-size chunking looks fine in demos and falls apart on real documents with tables and headings" is a sharp framing, and how clearly that value lands on the site + first free run is exactly the kind of thing a fresh outside pass surfaces. Offer: I'll run a structured pass on chunkingservice.com — written feedback in a fixed 7-field format, back within 48h (weekend-friendly: the clock flexes, the commitment doesn't), async, no call. Not a service, a swap — in return you run a ~20–30 min pass on a signup funnel of mine, same format, so neither of us is doing a favor. Format up front: https://nonchalant-tv-881.notion.site/UI-UX-Template-Test-Version-v1-3f1e3450b0698217a20881d090a8fee0 · this runs under betapair.dev. Want me to start with yours?

    1. 1

      Thanks for making the format and trade explicit. I can’t commit to the reciprocal 20–30 minute pass right now, so I don’t want to promise the swap. If you independently try the free run and find a reproducible issue, the most useful report would include document type, expected versus actual chunk boundaries, and the run ID.