Self-hosted · Private

Your knowledge,
always within reach.

A personal knowledge system that mirrors your Obsidian vault from S3 and uses OpenCode to answer questions grounded in your notes through a secure web UI.

lattice — vault conversations
LatticeScoped vault conversations
Current chat
Reading notes on Thinking, Fast and SlowAll Sources · OpenCode · Apr 18
Previous chats
Weekly review highlightsBooks · OpenCode · Apr 15
My project ideas listProjects · OpenCode · Apr 12
Goals for Q2 2026All Sources · OpenCode · Apr 10
Reading notes on Thinking, Fast and SlowAll Sources · OpenCode
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.

Your vault mirror and chat history stay on your infrastructure. OpenCode sends query context to your selected model provider.

Grounded Vault Answers
Ask questions about your mirrored vault with OpenCode and GPT-6 Luna. Keep answers grounded in your notes with source citations.
OpenCodeGPT-6 LunaOpenRouterGrok-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.
SQLite historyMarkdown renderingSource citations
Secure by Default
Only the Next.js UI is reachable externally through Cloudflare Tunnel and Access. 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. Lattice mirrors your notes on your hardware and uses OpenCode with your selected model provider to answer questions.

Obsidian Vault
Remotely Save
AWS S3
read-only bucket
sync-worker
every 5 min
OpenCode
grounded vault answers
Next.js UI
web app
Cloudflare
Tunnel + Access

One Compose file. Any ARM64 Linux box.

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

webpublic
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,status,logs,chat}

# Start the stack
make up