Self-hosted · Private

Your knowledge,
always within reach.

A personal knowledge system that mirrors your Obsidian vault from S3, indexes it with QMD, and exposes a secure web UI for grounded retrieval.

lattice — vault conversations
LatticeScoped vault conversations
Current chat
Reading notes on Thinking, Fast and SlowAll Sources · QMD · Apr 18
Previous chats
Weekly review highlightsBooks · QMD · Apr 15
My project ideas listProjects · QMD · Apr 12
Goals for Q2 2026All Sources · QMD · Apr 10
Reading notes on Thinking, Fast and SlowAll Sources · QMD
Chat mode
Prompt

What are my reading notes on Thinking, Fast and Slow?

Answer

Your notes cover Kahneman's two-system framework. System 1 operates automatically with little effort, while System 2 allocates attention to effortful activities. Key highlights include the availability heuristic, anchoring effects, and the planning fallacy.

Ask Lattice

Built for personal, private knowledge work.

Every component runs in your own infrastructure — nothing leaves your network without your intent.

Dual Query Engines
Ask questions against your vault using QMD's fast vector retrieval, or switch to OpenCode-backed grounded answers with your preferred LLM.
QMDClaude Sonnet 4.6GPT-5Gemini 2.5Grok-4
Multi-threaded Chat
Every question is a thread. Browse your history from a persistent sidebar, resume conversations, and keep source citations alongside each answer.
localStorageMarkdown renderingSource citations
Secure by Default
Only the Next.js UI is reachable externally through Cloudflare Tunnel and Access. QMD, OpenCode, and the sync worker are locked to the internal Docker network.
Cloudflare TunnelCloudflare AccessInternal-only services

From vault to answer, end to end.

Obsidian writes to S3 via Remotely Save. The stack takes it from there — syncing, indexing, and serving — entirely on your hardware.

Obsidian Vault
Remotely Save
AWS S3
read-only bucket
sync-worker
every 5 min
QMD index
vectors + search
Next.js UI
web app
Cloudflare
Tunnel + Access

One Compose file. Any ARM64 Linux box.

The full stack — sync worker, QMD, OpenCode query service, scheduler, and web app — orchestrated by a single Docker Compose file.

webpublic
qmdinternal
opencode-queryinternal
sync-workerinternal
schedulerinternal
cloudflaredtunnel
Quick Start
# Clone and configure
git clone https://github.com/you/lattice
cp .env.example .env

# Set your S3 bucket, region, and creds
# Set CLOUDFLARE_TUNNEL_TOKEN

# Create runtime directories
mkdir -p /srv/lattice/{vault,qmd,status,logs}

# Start the stack
make up