The BlueRobin Project

An AI-powered personal document archive that transforms how you organize, search, and understand your documents.

From homelab experiment to production-ready system — documenting every step of building a modern cloud-native application with .NET, Kubernetes, and AI/ML.

🟣 .NET 10 🌐 Blazor Server NATS JetStream 🐘 PostgreSQL 🔮 Qdrant 🪣 MinIO 🦙 Ollama ☸️ Kubernetes
🔍

Semantic Search

Find documents by meaning, not just keywords. RAG-powered Q&A over your entire archive.

📄

AI-Powered OCR

Docling extracts text with layout preservation. Tables, headings, and structure intact.

🔐

Per-User Encryption

Every user gets isolated storage with dedicated KMS keys. Zero-trust architecture.

Event-Driven

NATS JetStream for reliable async processing. Real-time UI updates without polling.

🕸️

Knowledge Graph

FalkorDB connects entities across documents. Discover relationships automatically.

🏠

Self-Hosted

Runs on a homelab K3s cluster. Local AI with Ollama. Your data stays yours.

🏗️ System Architecture

A cloud-native document intelligence platform built on DDD principles with event-driven microservices.

🌐
Blazor Server
Interactive UI with real-time updates
🔌
FastEndpoints API
REST + OpenAPI
⚙️
Background Workers
OCR, Embeddings, NER
NATS JetStream Event-Driven Messaging
🐘
PostgreSQL
Metadata
🔮
Qdrant
Vectors
🪣
MinIO
Documents
🦙
Ollama
📄
Docling OCR
🐍
spaCy NER

📚 Article Series

Recent Articles

View all →
⚡ backend Intermediate

Better IDs: Switching from UUID to NanoID

Why BlueRobin moved from standard UUIDs to NanoIDs for primary keys: URL aesthetics, database considerations, and a custom alphabet implementation.

15 min
⚡ backend Advanced

Event-Driven Cache Invalidation Strategies

Caching is easy; invalidation is hard. Move beyond simple TTL (Time To Live) and learn how to implement precise, event-driven cache busting using Redis and NATS.

16 min