45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
# 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
|