A field of outlined movie record cards, with a chain of three orange cards linked by orange lines running down the middle, next to the text "cMovie - Week 6 - What should I watch tonight?"

What should I watch tonight? Build a RAG movie assistant with Python and Cassandra

A search returns a list of titles and leaves you to work out why they fit. Build a FastAPI endpoint that finds the right movies with a filtered ANN OF query, then has Gemini explain the picks using only those movies.

29 October 2026 · 19 min · Erick Ramirez
A field of outlined movie record cards, with a chain of four orange cards linked by orange lines inside two crossing orange frames, next to the text "cMovie - Week 5 - Vibe search, plus a WHERE clause"

Why pure vector search returns the wrong movies: filtered ANN with SAI in Cassandra

A vector search ranks by meaning and can’t know what else you meant. Add ordinary SAI filters to the same ANN OF query, see which columns qualify, and learn what a narrow filter does to your LIMIT.

20 October 2026 · 13 min · Erick Ramirez
A field of outlined movie record cards, with an orange phrase strip at the upper left linked by orange lines to a chain of four larger cards with orange text lines, next to the text "cMovie - Week 4 - Search by vibe, not by title"

Vibe search, not keywords: build semantic search with Python and Cassandra

Embed the reader’s question with Gemini at request time, then ask Cassandra for the nearest movie plots with ORDER BY … ANN OF. One FastAPI endpoint, one prepared statement and two gotchas.

13 October 2026 · 13 min · Erick Ramirez
A field of outlined movie record cards, with an orange dot and ring at the upper left linked by orange lines to a chain of four larger cards with orange text lines, next to the text "cMovie - Week 3 - Search by what a plot means"

Skip the separate vector database: vector search in the same Cassandra table as your data

Store what each movie plot means as a vector column next to the movie itself, index it with SAI, and search by meaning with ORDER BY … ANN OF in plain CQL.

6 October 2026 · 16 min · Erick Ramirez
A dense field of flat tiles thinning toward the left, with three ranked results picked out in orange, next to the text "A 10-week series - Search by what happens, not the title"

Build an AI movie recommender Python and TypeScript app on Cassandra

Ten weekly posts that build one AI movie app, cMovie, from scratch on Apache Cassandra 5.0 - SAI filtering, vector search and a RAG assistant, one working part at a time.

22 September 2026 · 6 min · Erick Ramirez
Cover image

From Words to Vectors: A Beginner's Guide to Vector Search and AI Databases

New to embeddings, LLMs, and vector databases? Start from first principles and end up understanding how modern AI systems search for meaning, not just keywords — with a working Python example.

3 June 2026 · 9 min · Erick Ramirez
Cover image

You already trust this DB, let it run your AI stack too

Bolting a separate vector database onto your operational store creates two schemas, two consistency models, and two failure domains. See why Cassandra keeps it all in one system.

22 May 2026 · 4 min · Erick Ramirez
Cover image

You picked the wrong database

Not all AI databases are created equal. See how Cassandra runs vector + metadata search in a single query, at scale.

21 May 2026 · 3 min · Erick Ramirez