Security
Tenant isolation at every boundary
Files, chats, vector search, usage, and billing are scoped by the authenticated Clerk user, not filtered later in the UI.
Scribe turns private PDFs, DOCX files, notes, and datasets into a searchable knowledge workspace. Every response is grounded in retrieved passages and linked back to its source.
Built end to end by Santosh Kumar with Next.js, TypeScript, PostgreSQL, and Gemini.
The visible workflow stays simple while the system handles private storage, asynchronous processing, retrieval, streaming, and citations.
Vercel Blob
Async worker
Postgres + pgvector
Gemini + citations
Engineering decisions
Scribe is a portfolio project with production-minded boundaries. The codebase includes migrations, route validation, webhook verification, ingestion policies, retrieval evaluation, and focused tests.
Security
Files, chats, vector search, usage, and billing are scoped by the authenticated Clerk user, not filtered later in the UI.
Reliability
Atomic job claims, bounded retries, exponential backoff, idempotent callbacks, and stale-job recovery keep document processing reliable.
Observability
Answers link to retrieved passages. The RAG inspector exposes chunks, similarity, latency, and grounding signals without cluttering the default workflow.
Inspect the answer, its evidence, and the retrieval path behind it.