# Morpheus — Project Context Privacy-centric social network for Russian-speaking users. Built on Nostr. Private, not anonymous. NIP-44 E2E encryption for DMs. No ads, ever. ## Tech Stack - **Protocol:** Nostr (NIP-01, NIP-44, NIP-29, NIP-40, NIP-46, NIP-56, NIP-96) - **Media:** Blossom / NIP-96 - **Platforms:** Flutter/Dart. Mobile-first (iOS + Android), Web PWA, Desktop - **Key storage:** Secure Enclave / Keystore, Shamir social recovery, encrypted cloud backup ## Architecture - NIP-44 E2E for all DMs — server never has plaintext - Public posts are public (by design) - Metadata visible to relay operators — see [threat model](docs/threat-model-and-workarounds.md) - No tracking, no ad infra, no behavioral profiling - Monetization: subscriptions, marketplace, creator tools — see [docs/monetization.md](docs/monetization.md) - Web of trust relay gating (NIP-02 follow count) — see [docs/web-of-trust.md](docs/web-of-trust.md) ## Tooling - **Linting:** `just lint-md` — runs markdownlint-cli2 - **Git hooks:** lefthook — see `lefthook.yml` - **Docs:** EN + RU, keep in sync — see [README.md](README.md) for full table ## Design system See [docs/design-system.md](docs/design-system.md). Key values: - Primary: Morpheus Violet `#7C3AED`, dark mode first - Fonts: Inter (UI), JetBrains Mono (code), Manrope/Unbounded (display) - 4px spacing grid, `6/10/16/24px` radius scale - Rounded-square avatars with pubkey-hash gradient fallback ## Rules - No ads logic, tracking pixels, analytics SDKs, or behavioral profiling — ever - All DM code must use NIP-44 — no plaintext DM paths - UI copy in both EN and RU - Prefer simplicity over configurability - Speed is a feature - When in doubt, choose the more private option