SurveyStream · Interlocking Loop / Active Signal
Real vector, not a render. The mark is two tangent elliptical arcs with no freehand curve anywhere in it, and the wordmark is Archivo Bold with the glyph outlines extracted from the font binary — so every file here renders identically with no font installed and no webfont request.
01 — Primary lockup
02 — Construction
Upper bowl centred (0, −20), lower at (0, +20),
both rx 30 / ry 20. They are tangent at the origin — the amber ring — which
is where the stroke hands off from one bowl to the other. Each arc sweeps 230°,
from −38° to −268°. The pulse trail is three tapered dashes on a concentric ellipse
offset 6 units outside the stroke edge.
rx > ry is the whole trickCircular bowls produce an S with a 0.50 width-to-height aspect. Beside a Bold wordmark that reads as spindly and weak — I built it that way first and it was visibly wrong. Elliptical bowls give 0.7826, which is roughly what a bold grotesk S actually measures.
03 — Variants
Small sizes
Both favicon cuts drop the pulse trail — below about 40 px the dashes turn into noise — and thicken the stroke to hold at one device pixel. The 16 px cut is still legibly an S, which is the only test that matters.
04 — Layout rules
| Rule | Value | Why |
|---|---|---|
| Mark height | 1.38 × cap height |
Taller than the caps so the mark reads as a sibling of the word, not a letter in it. |
| Gap | 0.46 × cap height |
Tight enough to read as one object; wide enough that the S doesn't touch the S of "Survey". |
| Alignment | cap-height centre |
Not the baseline. The mark has no baseline, so aligning to one makes it sit low. |
| Clear space | 0.5 × cap height on all sides |
The pulse trail may overhang into it. Nothing else may enter. |
| Minimum width | 96 px for the horizontal lockup; below that use icon.svg |
Below this the two-tone split stops registering and the trail disappears. |
| Tracking | -0.04em |
Tighter than the type scale at this size — the medial capital opens an optical gap. |
05 — One departure from the brief
Four interlocking constructions, all built and rendered: overlapping gapped rings, an overshoot self-crossing, a true over/under weave, and a wide-bowl variant. Every one either left a visible lump where the strokes met, or stopped reading as an S. At icon scale a legible S and a visible interlock are in direct tension — the crossing needs room the letterform doesn't have.
The interlock is implied, not drawn. One continuous cyan→mint gradient runs through the handoff, so the two halves meet without a seam and the two-audience idea still reads. If the literal interlock matters more than S-legibility, the closed-loop mark from the Flow & Lattice direction carries a real crossing — it's a single self-intersecting path, so the weave is structural rather than bolted on.
06 — Interlock variant
A parallel set in logo/interlock/. Bowl geometry is
identical — this is a re-skin, not a redraw. What changes is that the single gradient stroke
becomes a solid Ink loop with a thin Stream→Pulse line threading it and crossing once at the
waist.
Every earlier interlock attempt put two strokes of the same weight and the same colour across each other, and the crossing read as a lump. Here the accent is 5.4 against the base's 13 and a different hue, so there is nothing ambiguous to resolve — one line plainly passes over another. The crossing itself is a single G1-continuous cubic whose control points continue both arc tangents, so there is no kink either.
§03 of the brand reference asks for "a disciplined grid with a streaming, transformative element passing through it" — Ruler holding the frame, Magician moving inside it. In the primary mark that idea lives in a gradient. Here it is the construction: a solid structural loop, and a bright line moving through it.
Small sizes — a hard rule
Below about 40 px the accent is
dropped and the base thickened. Not a preference — the entire mark is the
base/accent separation, and at one device pixel that separation turns to mud. I rendered
it at 32 px before adding the fallback and it was illegible. The same rule governs
icon-mono: in a single colour the accent and base share a value,
so the crossing has nothing to distinguish it, and mono gets the base alone.
The approved primary above has not been replaced. If you adopt this variant,
the swap is a directory rename plus three link updates. Separately, the default flow
gradient uses Pulse #2FE3A2, which is still awaiting
sign-off — icon-no-pulse.svg shows the Stream→Signal version that
stays entirely inside the validated palette. Both read correctly; it is two hex values
either way.