Course · 8 lessons
pgvector for TypeScript
Eight lessons that take one continuous TypeScript project, a multimodal docs assistant searching text and screenshots, from a similarity query to vector search you can tune, measure, and run in production. No second database.
You've done the hello-world. You have pgvector installed, you ran a similarity query, and it sort of works. Now you're in the messy middle: results that aren't quite right, queries slowing down as your table grows, and no clear path to something you'd trust in production.
This course gives you the practical steps to improve relevance, choose the right indexing strategy, measure quality, and operate the system without adding a separate vector database.
Early access pricing
$49
$89
Early-access price for the first cohort. The full course will be $89 after launch.
No spam. One email when it launches.
Sound familiar?
- —“My similarity results look plausible but feel off. How do I actually debug relevance?”
- —“My table is growing and queries are slowing down. Which index do I pick, and how do I tune it?”
- —“I need to search images and text together, not just text.”
- —“My embedding model got updated. Do I re-embed everything, with downtime?”
- —“Every tutorial is Python and text-only, and stops at the demo. Where is the TypeScript version?”
- —“How do I prove this system works reliably? How do I benchmark and eval?”
Each chapter turns one of these stuck points into a practical decision you can make in your own codebase.
What you'll learn
The FoundationFree
What an embedding actually is, why one Postgres table holds text and images in the same space, and the exact point an untuned setup starts lying. The mental model the rest of the course stands on.
Setup & Your First Query
Empty database to a working TypeScript flow: Voyage multimodal embeddings, a Drizzle schema, and a Postgres you self-host and control down to the build flags.
Relevance & Quality
Chunk real documents, debug results that look plausible but are wrong, and handle image and text relevance in one shared space.
Making It Fast I: Choosing the Index
IVFFlat vs HNSW as a real tradeoff under your constraints (build time, memory, recall, write rate), and how to build the index without locking writes.
Making It Fast II: Tuning Postgres & pgvector
The part almost nobody writes down: ef_search and probes, the Postgres memory settings that decide vector latency, and reading an ANN query plan.
Retrieval That Works
Hybrid full-text plus vector search, reranking over mixed text and image candidates, and the retrieval-augmented generation pattern done properly.
Evals & Benchmarking
Prove the system is good with a number. Build eval sets, measure recall and answer faithfulness, and gate regressions before users hit them.
Production Operations
Zero-downtime re-embedding when the model changes, index maintenance, and monitoring the drift that quietly degrades search over months.
Why this course
TypeScript-first
Work in the stack you already use. Examples, ORM choices, and implementation details are written for TypeScript backend engineers.
Move past the prototype
Get a path from a working similarity query to a feature you can explain, tune, monitor, and trust in production.
Learn in the order problems appear
Start by getting search working, then improve relevance, speed it up, combine it with product constraints, and prepare it for real traffic.
Make better tradeoffs
Understand why each choice matters so you can adapt the patterns to your data, your users, and your latency requirements.
Evals and benchmarking
Stop guessing whether search is better. Learn how to measure quality, compare changes, and protect relevance as the system evolves.
Useful before you buy anything
The public chapters are designed to help you solve real implementation problems. Paid extras will add depth, templates, and project files.
Join the waitlist
One email when the course is ready. No drip sequences, no sales funnel.
No spam. One email when it launches.