For the curious engineer.
Technicals.
The splash sells the values. This page sells the stack. Everything Engram does, named honestly.
Sync architecture.
Real-time bidirectional sync over WebSocket via Phoenix Channels. Cluster distribution rides Erlang OTP — no Redis, no external broker. PubSub fan-out happens in-process, no network hop.
Semantic recall.
RAG-style retrieval over your vault. Voyage AI voyage-4-large for documents (1024d), voyage-4-lite for queries — asymmetric retrieval cuts query cost without losing recall. Qdrant Cloud with binary quantization plus rescore.
> notes about cognitive bandwidth /research/2026-05/cognitive-load.md · 0.94 /inbox/working-memory-limits.md · 0.89 /zettel/0042-attention-budget.md · 0.87
Conflict resolution.
Disjoint edits auto-merge via diff-match-patch 3-way merge. Real conflicts open a side-by-side modal. Offline edits queue and replay on reconnect, deduplicated by path.
Encryption + isolation.
AES-GCM envelope encryption. Note bodies and attachments encrypted with per-user DEK/KEK. PostgreSQL Row Level Security enforces tenant isolation at the database layer. Path sanitization defends against traversal.
- AES-GCM
- MULTI-TENANT RLS
- SELF-HOSTABLE
Storage.
Binary attachments stored on Fly Tigris (S3-compatible). Encrypted at rest with the same envelope keys as note bodies. Push and pull tracked alongside markdown so an attachment never dangles.
Mobile transport.
iOS and Android use Obsidian's requestUrl() API to bypass CORS without proxy hops. Full feature parity with desktop — same edits, same offline queue, same encryption.