diff --git a/README.md b/README.md index 1ed1b91..5600c47 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,60 @@ For years I was *the child in the room* — agreeing with everyone, able to coun We all keep notes; far fewer publish them — because going public usually means renting your voice from a platform that owns your content, your identity, and your audience. I'll tell the story of turning a five‑year, 800‑note habit into a public blog I own, on the AT Protocol. The thesis is a hierarchy: **`File > Protocol > App`**. Your files outlive apps (Steph Ango); a protocol turns them into a *social filesystem* (Dan Abramov); the app is just a lens. +## Architecture + +One source of truth (your files), one network you own (the protocol), many lenses to read it (the apps). + +```text + FILE ───▶ PROTOCOL ───▶ APP + (own it) (share it) (read it — many lenses, one source) + + + ┌──────────────────────────────┐ + │ FILE — your notes │ + │ Markdown in a Git repo │ + │ Zettelkasten: notes + links │ + │ note.md │ + │ note.pub.md ◀── publish │ + └───────────────┬──────────────┘ + │ git push + ▼ + ┌──────────────────────────────┐ + │ remanso-cli (fork: Sequoia) │ + │ local CLI or GitHub Action │ + │ change-detect · img → blobs │ + │ writes atUri back │ + └───────────────┬──────────────┘ + │ com.atproto.repo.createRecord + ▼ + ┌──────────────────────────────────────────────────┐ + │ PROTOCOL — your PDS (records you own) │ + │ identity: did:plc:… + handle (plc.directory) │ + │ addressed by DID + rkey: │ + │ site.standard.document shared → reach │ + │ space.remanso.note custom → rich │ + └────────────┬─────────────────────────────────┬───┘ + │ firehose / Jetstream │ listRecords (read) + ▼ ▼ + ┌─────────────────────────┐ ┌────────────────────────────────┐ + │ remanso-jetstream │ │ APP — many lenses, one source │ + │ AppView (self-hosted) │ │ Remanso (remanso.space) │ + │ Jetstream→SQLite→REST │──▶│ + Bluesky graph (getFollows)│ + └─────────────────────────┘ │ apoena.dev (static site) │ + │ Leaflet / any standard.site │ + reuse the Bluesky graph ───▶│ Bluesky & other atproto apps │ + app.bsky.graph.getFollows └────────────────────────────────┘ + + Self-hosted on Coolify (platform.apoena.dev) + Gitea (git.apoena.dev). + GitHub = push mirror. +``` + ## Proposal | Document | What's in it | | --- | --- | | [Abstract & titles](docs/abstract.md) | Title options and the long (detailed) abstract | | [Outline & format](docs/outline.md) | Timed talk outline, lightning variant, A/V & logistics | -| [Architecture](docs/architecture.md) | The `File > Protocol > App` system diagram | | [Themes & influences](docs/influences.md) | The ideas and people credited on stage | | [Audience & takeaways](docs/audience.md) | Why now, who it's for, what they leave with | | [Submission kit](docs/submission.md) | Speaker bio, supporting material, tailoring checklist | diff --git a/docs/architecture.md b/docs/architecture.md deleted file mode 100644 index 8c9c560..0000000 --- a/docs/architecture.md +++ /dev/null @@ -1,49 +0,0 @@ -# Architecture at a glance — `File > Protocol > App` - -One source of truth (your files), one network you own (the protocol), many lenses to read it (the apps). - -```text - FILE ───▶ PROTOCOL ───▶ APP - (own it) (share it) (read it — many lenses, one source) - - - ┌──────────────────────────────┐ - │ FILE — your notes │ - │ Markdown in a Git repo │ - │ Zettelkasten: notes + links │ - │ note.md │ - │ note.pub.md ◀── publish │ - └───────────────┬──────────────┘ - │ git push - ▼ - ┌──────────────────────────────┐ - │ remanso-cli (fork: Sequoia) │ - │ local CLI or GitHub Action │ - │ change-detect · img → blobs │ - │ writes atUri back │ - └───────────────┬──────────────┘ - │ com.atproto.repo.createRecord - ▼ - ┌──────────────────────────────────────────────────┐ - │ PROTOCOL — your PDS (records you own) │ - │ identity: did:plc:… + handle (plc.directory) │ - │ addressed by DID + rkey: │ - │ site.standard.document shared → reach │ - │ space.remanso.note custom → rich │ - └────────────┬─────────────────────────────────┬───┘ - │ firehose / Jetstream │ listRecords (read) - ▼ ▼ - ┌─────────────────────────┐ ┌────────────────────────────────┐ - │ remanso-jetstream │ │ APP — many lenses, one source │ - │ AppView (self-hosted) │ │ Remanso (remanso.space) │ - │ Jetstream→SQLite→REST │──▶│ + Bluesky graph (getFollows)│ - └─────────────────────────┘ │ apoena.dev (static site) │ - │ Leaflet / any standard.site │ - reuse the Bluesky graph ───▶│ Bluesky & other atproto apps │ - app.bsky.graph.getFollows └────────────────────────────────┘ - - Self-hosted on Coolify (platform.apoena.dev) + Gitea (git.apoena.dev). - GitHub = push mirror. -``` - -> The whole stack is self-hosted: **Coolify** (`platform.apoena.dev`) runs the AppView and apps, **Gitea** (`git.apoena.dev`) hosts the code, with **GitHub** as a push mirror.