From 2c127886ff3c27e1bb8c6cf5a1d112183ad34693 Mon Sep 17 00:00:00 2001 From: Josh Knapp Date: Wed, 12 Aug 2026 10:51:47 -0700 Subject: [PATCH] docs: draft ten logo concepts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Eight fresh directions plus two refinements of the shipped mark, each authored as a real currentColor SVG in the app's house style rather than as a description, so any of them can be dropped straight in and the favicon tile is a mechanical derivation. Every mark was rendered at 120/32/24/16px and looked at, which changed the set three times: the braid came out as a plain multiplication sign and was rebuilt with actual over/under crossings, the anchor was rebalanced to three-fold symmetry, and the first return-arc read even more like a copyright glyph than the current one. The finding that matters is not one of the eight. The mark shipping today fails at 16px — its outer strokes drop out to rasterisation and the 2.5px gap to the node fills in, so the favicon renders as a smear. Concept 09 fixes that in five lines and is worth taking regardless of whether anything here replaces the mark. Co-Authored-By: Claude Opus 5 (1M context) --- docs/logo-concepts.md | 159 +++++++++++++++++++++++ docs/logo-concepts/01-venn-core.svg | 9 ++ docs/logo-concepts/02-handoff.svg | 9 ++ docs/logo-concepts/03-braid.svg | 16 +++ docs/logo-concepts/04-return-arc.svg | 7 + docs/logo-concepts/05-anchor.svg | 10 ++ docs/logo-concepts/06-spine.svg | 11 ++ docs/logo-concepts/07-knot.svg | 6 + docs/logo-concepts/08-triad.svg | 11 ++ docs/logo-concepts/09-refine-current.svg | 14 ++ docs/logo-concepts/10-lockup.svg | 13 ++ 11 files changed, 265 insertions(+) create mode 100644 docs/logo-concepts.md create mode 100644 docs/logo-concepts/01-venn-core.svg create mode 100644 docs/logo-concepts/02-handoff.svg create mode 100644 docs/logo-concepts/03-braid.svg create mode 100644 docs/logo-concepts/04-return-arc.svg create mode 100644 docs/logo-concepts/05-anchor.svg create mode 100644 docs/logo-concepts/06-spine.svg create mode 100644 docs/logo-concepts/07-knot.svg create mode 100644 docs/logo-concepts/08-triad.svg create mode 100644 docs/logo-concepts/09-refine-current.svg create mode 100644 docs/logo-concepts/10-lockup.svg diff --git a/docs/logo-concepts.md b/docs/logo-concepts.md new file mode 100644 index 0000000..b1e9384 --- /dev/null +++ b/docs/logo-concepts.md @@ -0,0 +1,159 @@ +# Logo concepts + +**Status:** exploration, nothing adopted +**Drafted:** 2026-08-12 + +Ten directions for the `shared-memory` mark. Eight are fresh concepts, two are +refinements of the mark currently shipping in `apps/web/public/logo.svg` and +`apps/web/app/icon.svg`. + +Every concept is drafted as a real SVG in `docs/logo-concepts/`, authored the +same way the shipped mark is: a 64×64 viewBox, `currentColor` so it inherits the +surrounding text colour, round caps, and opacity rather than a second hue for +depth. That means any of them can be dropped straight into the app, and the tile +(favicon) variant is a mechanical derivation — wrap it in the rounded `#11151b` +rect and substitute the accent blues. + +## How these were judged + +A mark for this project has to survive three places: the browser tab at 16px, +the app header at 32–64px, and a README at whatever size GitHub renders. Small +size is the brutal filter — it is where most of the concepts below die, and it +is where the *currently shipped* mark is weakest, which is the single most +useful finding here. + +Each was rendered at 120px, 24px and 16px and looked at, not just reasoned +about. The failures noted below are observed, not predicted. + +--- + +## The concepts + +### 01 · Venn core + +Two outlined circles; the lens where they overlap is filled solid. The overlap +*is* the shared memory. + +The most literal, most immediately-readable statement of "shared" in the set — +nobody needs it explained. That is also the problem: Venn diagrams are visual +public domain, and this would not be ownable. At 16px the two outlines fuse into +a single blob with a bright centre, which is legible but says nothing. + +### 02 · Handoff + +Two brackets facing each other around a single node — one session passing a +memory to the next. + +Calm and symmetric, and the metaphor is exactly right for what the MCP does +across sessions. It reads as `( • )`, which unfortunately is also how a hundred +focus / aperture / eye icons read. Holds together at 16px better than 01. + +### 03 · Braid + +Two threads woven through each other with real over/under crossings, neither +subordinate to the other. + +The most distinctive mark here by a wide margin, and the only one that looks +*crafted* rather than assembled from primitives. It also has the cleanest +meaning: two agents, one durable strand, and the weave is what makes it hold. + +**It fails as a favicon.** At 16px the crossings collapse and it becomes an +unreadable smudge. This is not fixable by thickening strokes — the weave needs +the crossings to be visible, and they need room. Use it as a hero graphic or a +wordmark companion, not as the app icon. + +### 04 · Return arc + +An open ring with a solid node inside it: write it down, leave, come back to it. +The gap in the ring is where the next session enters. + +The best small-size performer of the fresh concepts — completely legible at +16px, and the interior node keeps it from being just a shape. The risk is +literal: at small sizes it reads as a **©**. Worth checking against that +association before committing. + +### 05 · Anchor + +One fixed point that three separate agents reference from wherever they are. + +Clean, balanced, and conceptually accurate — the memory is the fixed thing and +the clients are transient. But a three-spoke hub at this weight lands very close +to the Mercedes-Benz mark, and adjacent to the peace symbol. Both would come up +in any trademark review. Included for completeness; hard to recommend. + +### 06 · Spine + +A vertical spine with entries branching off it, the active one reaching furthest +to a node. An index, a ledger. + +The only rectilinear mark in the set, so it stands apart from the others +immediately. It is also the most honest about what the product actually is — +a queryable index, not an abstraction. The risk is that it reads as a bar chart, +which pushes the association toward analytics rather than memory. + +### 07 · Knot + +A single continuous thread with no start and no end. + +Renders flawlessly at every size tested — genuinely the most legible mark here. +That is its only advantage. It is the infinity symbol, which means near-zero +ownability, and it says "endless", not "shared". Kept in the set as the +legibility baseline the others are measured against. + +### 08 · Triad + +Three nodes joined by edges, one lit brighter than the others: the smallest +possible shared graph, with one participant currently active. + +The strongest *conceptual* fit after the braid — it shows plurality, connection, +and activity in one figure, and the lit node gives it somewhere to go for a +loading or live state. Degrades gracefully: at 16px the edges thin out but three +dots in a triangle still reads. The concern is category crowding — triangular +node graphs are the default visual language of network and blockchain branding. + +### 09 · Current mark, rebalanced + +The shipped mark with three targeted changes, all aimed at 16px: + +| | Shipped | Rebalanced | +|---|---|---| +| Converging strokes end at | `x=35` (2.5px from the node) | `x=30` (4px clear) | +| Outer stroke opacity | `.45` / `.55` | `.7` | +| Node radius | `7.5` | `8.5` | + +At 16px the shipped mark loses its outer strokes to rasterisation and the +remaining gap between stroke and node fills in, so it renders as an +indeterminate horizontal smear. The rebalanced version resolves as an arrow +meeting a node at the same size. + +This is the lowest-risk option on the table: it is not a rebrand, it keeps +whatever recognition the current mark has already earned, and it fixes a real +defect. It is worth doing *regardless* of what happens with the eight concepts +above. + +### 10 · Lockup + +Not an alternative mark — the missing asset. The rebalanced mark set against the +wordmark in the project's monospace stack, on a shared baseline, with the hyphen +dropped to 45% so `shared` and `memory` read as two things joined. + +For README headers, the docs site, and the OAuth consent screen, where a bare +64px glyph is too little and the full app header is too much. + +--- + +## Recommendation + +Three separate decisions, not one: + +1. **Ship 09 now.** The small-size failure of the current mark is a real defect + and the fix is a five-line diff. It does not depend on choosing a new + direction. +2. **Adopt 10** for the README and docs headers, using whichever mark wins. +3. **If a genuine replacement is wanted**, the shortlist is **08 Triad** (best + concept-to-legibility ratio) and **04 Return arc** (best legibility, pending + the © check). **03 Braid** is the most beautiful and should be used + *somewhere* — as a hero graphic — but cannot be the icon. + +Concepts 01, 05 and 07 are documented here so the reasoning against them is on +record, not because they are live candidates. diff --git a/docs/logo-concepts/01-venn-core.svg b/docs/logo-concepts/01-venn-core.svg new file mode 100644 index 0000000..5735ba8 --- /dev/null +++ b/docs/logo-concepts/01-venn-core.svg @@ -0,0 +1,9 @@ + + Venn core + + + + + + + diff --git a/docs/logo-concepts/02-handoff.svg b/docs/logo-concepts/02-handoff.svg new file mode 100644 index 0000000..2a2b48d --- /dev/null +++ b/docs/logo-concepts/02-handoff.svg @@ -0,0 +1,9 @@ + + Handoff + + + + + + + diff --git a/docs/logo-concepts/03-braid.svg b/docs/logo-concepts/03-braid.svg new file mode 100644 index 0000000..e4c9f8e --- /dev/null +++ b/docs/logo-concepts/03-braid.svg @@ -0,0 +1,16 @@ + + Braid + + + + + + + + + + diff --git a/docs/logo-concepts/04-return-arc.svg b/docs/logo-concepts/04-return-arc.svg new file mode 100644 index 0000000..4790fe4 --- /dev/null +++ b/docs/logo-concepts/04-return-arc.svg @@ -0,0 +1,7 @@ + + Return arc + + + + diff --git a/docs/logo-concepts/05-anchor.svg b/docs/logo-concepts/05-anchor.svg new file mode 100644 index 0000000..28dc795 --- /dev/null +++ b/docs/logo-concepts/05-anchor.svg @@ -0,0 +1,10 @@ + + Anchor + + + + + + + + diff --git a/docs/logo-concepts/06-spine.svg b/docs/logo-concepts/06-spine.svg new file mode 100644 index 0000000..526b17d --- /dev/null +++ b/docs/logo-concepts/06-spine.svg @@ -0,0 +1,11 @@ + + Spine + + + + + + + + + diff --git a/docs/logo-concepts/07-knot.svg b/docs/logo-concepts/07-knot.svg new file mode 100644 index 0000000..6b41419 --- /dev/null +++ b/docs/logo-concepts/07-knot.svg @@ -0,0 +1,6 @@ + + Knot + + + diff --git a/docs/logo-concepts/08-triad.svg b/docs/logo-concepts/08-triad.svg new file mode 100644 index 0000000..16b8c8b --- /dev/null +++ b/docs/logo-concepts/08-triad.svg @@ -0,0 +1,11 @@ + + Triad + + + + + + + + diff --git a/docs/logo-concepts/09-refine-current.svg b/docs/logo-concepts/09-refine-current.svg new file mode 100644 index 0000000..e2b12cc --- /dev/null +++ b/docs/logo-concepts/09-refine-current.svg @@ -0,0 +1,14 @@ + + Current mark, rebalanced + + + + + + + + diff --git a/docs/logo-concepts/10-lockup.svg b/docs/logo-concepts/10-lockup.svg new file mode 100644 index 0000000..fdca366 --- /dev/null +++ b/docs/logo-concepts/10-lockup.svg @@ -0,0 +1,13 @@ + + shared-memory lockup + + + + + + + + shared-memory + -- 2.52.0