RUDR AI / BRAND & DESIGN SYSTEM

The future is sparse.

A visual language for event-driven sensing and neuromorphic compute, built to feel like an instrument, not a website. Sparse by default, signal only where it matters.

01 / IDENTITY

The mark is a firing sensor.

A pixel grid at rest. Two pixels fire, one positive in blue and one negative in red, the smallest possible event. The mark is the product: sparse, polarity-coded, mostly quiet.

SENSOR GLYPH / 4x4
RUDR
HORIZONTAL LOCKUP
RUDR / SPARSE PERCEPTION
CLEARSPACE
Minimum clearspace equals one glyph pixel-unit on every side. Never rotate, recolor, or add pixels to the mark.

02 / COLOR

Dark by default. Signal by exception.

The canvas is a quiet, cool near-black, the static scene an event camera ignores. Color appears only as positive and negative polarity: the two things a pixel can report.

SIGNAL / POLARITY PAIR
ON / +1
Positive polarity#4D8CFF
OFF / −1
Negative polarity#FF5B57
SURFACES & INK / DARK BASE
Base
#08090B
Surface
#14171A
Surface+
#1A1E22
Ink
#E9EBEE
Dim
#9BA1A8
Faint
#5B626A
BG+
#0E1013
Hero
#06070A

03 / TYPE

Grotesk display, neutral body, mono for data.

Aa
DISPLAY
Space Grotesk
500 · 600 · 700
Aa
BODY
Archivo
400 · 500 · 600
Aa
DATA / LABEL
JetBrains Mono
400 · 500
DISPLAY / 64
Perceive first.
H2 / 36
Sense sparse, compute sparse.
BODY / 18
Compute only happens when events arrive. Sensing sparsity and compute sparsity reinforce each other instead of one undoing the other's savings.
MONO / 13
event = { x, y, t, polarity } · Δlog(I) > θ

04 / PRINCIPLES

Four rules the system never breaks.

P.01

Sparse by default

Empty space is correct. Add an element only when it carries signal. The interface should look mostly quiet, like the scene a sensor ignores.

P.02

Color is information

Blue and red mean polarity, not decoration. If a color is not reporting positive or negative state, it does not belong.

P.03

Instrument, not app

Hairline rules, monospace readouts, precise numbers. It should feel measured and engineered, closer to an oscilloscope than a landing page.

P.04

Motion means change

Animate only what is actually changing. Events fire, then fade. Nothing loops for its own sake.

05 / COMPONENTS

Building blocks.

TAGS & STATUS
+ EVENT − EVENT IDLE ONLINE
SENSOR TIMING
µs
reported per pixel on change
REACTION
sub‑ms
no frame boundary to wait for
DATA RATE
events
a trickle, not a video stream
SPEC BLOCK / SDNN INFERENCE
events = camera.stream(threshold=0.15)
y = sdnn.infer(events)  # compute only on change
# spatial + temporal sparsity, skip idle pixels

06 / MOTION

The event stream is the signature.

One reusable motion element: a live field of polarity events firing along moving edges over a quiet sensor grid. It respects prefers-reduced-motion and settles to a static grid when motion is off.

<event-stream density grid speed>