You can stand up a genuinely useful retrieval-augmented chatbot in a weekend with three moving parts: Postgres (plus the pgvector extension) as your vector store, a FastAPI service as the glue, and Claude for the generation step. The one thing that trips people up on day one is that Claude has no embeddings endpoint — you bring your own embedding model, and everything else is standard web plumbing. What follows is the shape of that build, the code that matters, and the honest limits of doing...