DocPilot

Private document retrieval with source citations
Production-like cloud application

From private PDF upload to grounded answers—with the evidence attached.

DocPilot is a deployed end-to-end document intelligence system demonstrating practical infrastructure, security, backend, and AI engineering—not just a user-interface prototype.

Passwordless authenticationResend-powered magic links use hashed, single-use tokens, 10-minute expiry, resend throttling, secure cookies, and an owner recovery path.
Tenant-isolated dataEach verified email receives an isolated workspace. Authorization is enforced in backend queries, uploads, retrieval, and deletion.
Secure PDF lifecycleFile-size, extension, MIME, and PDF-signature validation; UUID object names; background extraction; protected seed data; and complete deletion.
Private GPU inferenceOllama and Qwen run on dedicated GPU hardware. The cloud service reaches the model only through the private Tailscale network.
Grounded RAG-style answersPage-aware extraction, lexical evidence ranking, bounded prompts, prompt-injection separation, generated answers, and exact page citations.
Resilient AI designA provider boundary, timeouts, bounded generation, no per-query API charge, and deterministic retrieval fallback keep the app useful when AI is offline.
Cloud deploymentDockerized FastAPI behind Nginx, public HTTPS, automatic Let’s Encrypt renewal, loopback-only application ports, and persistent storage.
Runtime hardeningUnprivileged container execution, dropped Linux capabilities, no-new-privileges, CPU and memory limits, upload limits, and private secrets.
Operations and qualityReadiness and liveness checks, structured event logs, processing states, graceful failure behavior, access notifications, and automated tests.

How the live system works

BrowserNginx + TLSFastAPIBackground PDF processingEvidence retrievalGPU AI over TailscaleCited answer

Authentication, authorization, storage, retrieval, inference, fallback behavior, and operational monitoring are all exercised by this live deployment.