Skip to main content

Vector database development

The index behind the answer, scoped to who is asking.

Acasa Labs builds vector search on Qdrant and pgvector: ingestion, embeddings, filters, and the scoping that keeps each user to their own data. NoteTube stores every student's sources in Qdrant, scoped per user and per session. Acasa Sentinel keeps a 768-dimension DINOv2 embedding for every vehicle sighting in Postgres with pgvector.

The problem

Most vector search problems are data problems.

Putting embeddings in a vector database takes an afternoon. Getting good results takes longer: documents chunked in the wrong places, embeddings from a model that does not suit the content, no filter on who owns what, and an index rebuilt from scratch every time a file changes. Pick the wrong engine and you pay for a service you did not need, or outgrow the one you have. The vector database is one decision inside a retrieval system, not the whole system.

What we build with Vector databases

  1. 01

    Ingestion pipelines

    Parsing, chunking, and embedding for PDFs, documents, audio, video, and images, with updates that re-index only what changed.

  2. 02

    Scoped retrieval

    Payload filters in Qdrant or SQL predicates in pgvector, so every query only sees the user's, team's, or tenant's data.

  3. 03

    Hybrid search

    Keyword and vector search combined, with reranking, for queries where exact terms matter as much as meaning.

  4. 04

    Image and appearance search

    Embeddings from vision models, for finding similar images or the same object across cameras, not only similar text.

From production

Two engines, two reasons.

  • Qdrant for a product built on retrieval

    NoteTube

    NoteTube parses, chunks, and embeds videos, PDFs, DOCX files, images, articles, and audio, and stores them in Qdrant. Every study tool, from chat to flashcards to quizzes, is built from that index.

  • Scoped per user and session

    NoteTube

    Each student's material is scoped per user and per session, so chat answers stream back grounded in that student's own sources, not in someone else's or the open web.

  • pgvector next to the sightings

    Acasa Sentinel

    Acasa Sentinel stores a 768-dimension DINOv2 embedding for every sighting in Postgres with pgvector, so a vehicle can be found across cameras by its appearance even when the plate is unreadable.

  • No cloud API in the loop

    Acasa Sentinel

    All of Sentinel's inference, embeddings included, runs locally. No footage or number plate is sent to a third-party API to be processed.

Honest trade-offs

When you do not need a vector database

If your documents are few and short, put them in the prompt. If people search by exact names, codes, or numbers, keyword search in Postgres is faster and more predictable. And if you already run Postgres and vectors are a feature rather than the product, pgvector saves you a second database. We add a dedicated engine like Qdrant when retrieval is the product.

What we reach for

  • Qdrant
  • Postgres + pgvector
  • Hosted and open-weight embedding models
  • DINOv2 for images
  • BM25 hybrid search, reranking
  • Python ingestion workers

Proof

Shipped, not pitched.

  1. 01Our product

    NoteTube

    A lecture becomes a study system: chat, flashcards, quizzes, all grounded in the source.

    An AI learning platform that turns PDFs, YouTube lectures, recordings, and notes into a structured notebook with grounded chat, spaced-repetition flashcards, and graded quizzes.

    Web · iOS · Android · Chrome extension · MCP server

  2. 02Case study

    Acasa Sentinel

    Give it a number plate. It returns the vehicle's route across a CCTV network.

    A vendor-neutral video analytics system built for the Gujarat Police Hackathon Innovation Challenge 2026. It reads number plates, re-identifies vehicles by appearance across cameras, reconstructs routes, and raises watchlist alerts for an operator to confirm.

    Operator console (web) · API

Questions

Vector databases questions we get asked.

Qdrant or pgvector?

pgvector when vectors live next to data you already keep in Postgres, as in Acasa Sentinel. Qdrant when vector search is the main workload and needs its own scaling and filtering, as in NoteTube.

What about Pinecone, Weaviate, or Milvus?

They can all work. We choose by hosting, cost, filtering needs, and where your data has to stay. So far Qdrant or pgvector has covered what our projects needed.

How do you stop users retrieving each other's data?

Every vector carries its owner, team, or tenant, and every query filters on it. We test it by querying as one user for another user's documents and checking nothing comes back.

Which embedding model should we use?

One tested on your content. We run a small set of real questions against two or three models before choosing, and keep the pipeline able to re-embed if a better one arrives.

Is vector search the same as RAG?

No. Vector search finds the passages. RAG is the whole system: ingestion, retrieval, the prompt, the answer, citations, and evaluation. Our RAG development page covers all of it.

Vector database development

Bring the documents, or the search that does not work.

A free 30-minute call on your data and your queries. You leave with which engine we would use and why.

Book a vector search call

No pitch deck. You own the code from day one.

contact@acasalabs.com