Design · System description · Brello 1.0

Designing an intelligence you can see working

How Brello 1.0 shows what its on-device model is doing with one animated orb and one glowing border, specified with the parameters the app uses.

Brello Research14 min readVersion 1.0

Abstract

Brello 1.0 runs its language model on the phone, and its interface has to show at a glance whether that model is resting or working. It does so with a visual system that reserves colour for the intelligence: an orb of five drifting colour fields that eases its speed from 0.35 at rest to 1.6 while Brello works, and a spectrum glow that turns around the composer every 3.2 seconds while a reply is generated. This paper specifies both with the parameters the app uses and describes how this site renders them. It reports no user measurements. The main limitation is that the signals show that the model is working, not how long the work will take.

  • Brello 1.0’s interface is black, white and grey; the orb and the spectrum, which stand for the model, are its only decorative colour.
  • Brello’s orb is painted from nine layers in a fixed order: a halo, a base fill, five radial colour fields, a glass highlight and a 1 px rim.
  • Brello’s orb rests and works at two speeds of one motion: each frame it closes min(1, 2.5 × dt) of the gap to its target, so a change from 0.35 to 1.6 is 95% complete after about 1.2 seconds.
  • While Brello 1.0 generates a reply, a conic spectrum gradient turns around the composer once every 3.2 seconds, drawn as a blurred 6 px stroke at 55% opacity under a crisp 1.5 px stroke, and it fades in and out over 520 ms.
  • No working signal in Brello 1.0 relies on motion alone: a status label names each stage of the work, the send button becomes a stop button, and on this site every orb holds still when reduced motion is requested.
Contents11 sections

01

Overview: colour is reserved for meaning

Brello 1.0 shows what its on-device model is doing with two signals: an animated orb that stands for the model, and a spectrum glow around the composer while a reply is written.

Brello 1.0 is a prototype Android app, made by Stuvio, that runs language models entirely on the phone, with no account and no Brello server. Its interface has to show what that model is doing, from resting to searching the web to writing, without filling the screen with status text. This paper describes that AI interface design, with the parameters the app uses. It is a specification of Brello 1.0 as built, and it reports no user measurements.

The design system states the rule that governs everything else: colour is reserved for meaning. The interface is a strict, high-contrast neutral system of black, white and a tight ramp of greys, with true black (#000000) in dark mode. Beyond the greys, colour is given a job: Table 1 lists the semantic colours and what each one marks.

Table 1The semantic colours of Brello 1.0 outside the greys, and the one job each does, from the app’s design tokens (version 1.0.0).
TokenLightDarkUsed for
Accent#276EF1#5B91F5Citations, the “Best” badge, text selection
Positive#05944F#06C167The “Active” pill and the ready dot
Warning#FFB020#FFB020The “Starting” pill and the loading dot
Negative#E11900#FF4D3AErrors and delete
Spectrum#FF9F0A → #FF375F → #BF5AF2 → #5E5CE6 → #0A84FF → #64D2FFThe orb, the glow frame and progress rings
MonogramEight colours#276EF1 #05944F #7356BF #E28454 #1E5F74 #B2433B #333333 #8C6D46Source letter marks; the colour comes from a hash of the domain

Decorative colour is kept for one subject, the intelligence. Its main form is the orb, a glassy sphere of drifting colour fields that serves as the app icon, the centre of the empty home screen, the avatar beside every reply and the badge for each model. Its companion is the spectrum, the same colours drawn as a glow around the composer and as progress rings.

Two more stated rules shape the motion. The first is “calm by default, alive when working”: idle orbs drift slowly or hold still, and working states speed up, glow and shimmer. Weiser and Brown described calm technology as engaging “both the center and the periphery of our attention” and moving “back and forth between the two”.1 In those terms, a resting orb belongs to the periphery, and a working orb asks for attention. The second rule is “one of each”: one sheet style, one pill button, one press feedback and one motion vocabulary.

Section 2 takes the orb apart, section 3 shows how its speed carries state, and section 4 covers its palettes. Section 5 describes the glow frame and the shimmering status labels, section 6 the paced reveal of an answer, and section 7 reduced motion. Section 8 sets out what we intend for Brello Super Intelligence, and section 9 the limitations.

02

Anatomy of the orb

Brello paints the orb from nine layers, back to front: a halo, a base fill, five colour fields, a glass highlight and a rim. It is drawn rather than loaded as an image, so it stays sharp at every size, from the small avatar beside a reply to the orb of up to 200 pixels on the home screen.

For a canvas of size S, the sphere’s radius R is 0.82 × S/2, multiplied by a slow breath of 1 + 0.025 sin(2.2t), where t is the orb’s phase. The phase starts at 1.7 and advances at the orb’s current speed, so the breath is a ±2.5% swell that takes about 8 seconds at rest and under 2 while Brello works. The nine layers are:

  • Halo. A radial glow in the palette’s halo colour that reaches R(1 + 0.22 · glow). The glow value runs from about 0.2 on the smallest orbs to 1.6 on the largest. The halo starts at 0.42 × min(glow, 1.5) opacity on dark backgrounds and 0.24 × min(glow, 1.5) on light ones, and fades to nothing.
  • Base. The sphere is clipped to a circle of radius R and filled with #F4F1FF in light mode or #1B1630 in dark mode.
  • Five colour fields. Each is a radial gradient from its colour at 92% opacity to transparent, with a centre and a radius that move with the phase.
  • Glass highlight. A white radial gradient, still clipped, centred up and to the left at (−0.45, −0.55) in alignment space and fading from 70% to nothing over 0.75 R. It makes the sphere read as glass rather than paint.
  • Rim. With the clip removed, a 1 px stroke at radius R − 0.5, white at 16% on dark backgrounds and 55% on light ones.

Figure 1 assembles the layers in that order, then separates them into an exploded view and puts them back together.

The Brello orb, assembled from nine layers Brello Pro’s orb in dark mode, built up layer by layer. A violet halo is painted outside the sphere. A dark violet base fill is clipped to a circle of radius R. Five colour fields in pink, indigo, cyan, orange and purple drift inside it, each with its own phase offset and speed. A white glass highlight sits at the upper left, and a thin white rim marks the edge. The nine layers then separate into an exploded stack, each labelled with its colour and parameters, and recombine into the finished orb. Brello Pro · spectrum palette · dark mode Front · painted last Back · painted first R(1 + 0.22 · glow), glow 1.6 R = 0.82 × S/2 09 Rim 1 px at R − 0.5 · white, 16% dark, 55% light 08 Glass highlight White 70% → 0 · up and left · radius 0.75 R 07 Field 5 #BF5AF2 · offset 3.15 · speed 0.95 06 Field 4 #FF9F0A · offset 1.05 · speed 0.65 05 Field 3 #64D2FF · offset 4.20 · speed 1.20 04 Field 2 #5E5CE6 · offset 2.10 · speed 0.80 03 Field 1 #FF375F · offset 0.00 · speed 1.00 02 Base fill #1B1630 dark · #F4F1FF light · clipped to R 01 Halo #8E7CFF · reaches R(1 + 0.22 · glow)
  1. The halo is painted first, outside the sphere. It is a radial glow in the palette’s halo colour, #8E7CFF for Brello Pro, reaching 1.35 times the sphere’s radius on the largest orbs.
  2. The sphere is clipped to a circle and filled. Its radius R is 82% of half the canvas. The base is #1B1630 in dark mode and #F4F1FF in light mode, and the fields and highlight are drawn inside it.
  3. Five colour fields drift inside it. Each fades from 92% opacity to nothing and takes its colour, phase offset and speed from the palette, so no two fields move in step.
  4. A highlight and a rim make it read as glass. A white gradient at 70% sits up and to the left, and a 1 px rim, white at 16% on dark backgrounds, marks the edge.
  5. Taken apart, the orb is nine layers. One halo, one base, five fields, one highlight and one rim, painted back to front in this order.
  6. Put back together, the layers make the orb. The app draws it from these layers rather than from an image, so it is sharp at every size.
Figure 1The layers of Brello Pro’s orb in dark mode, at the largest glow value, 1.6. Colours, offsets, speeds and the order of layers are the app’s, and field positions are computed from its formulas, starting at phase 1.7 and advancing at the resting speed of 0.35. In the exploded view the rim is drawn brighter than its 16% so that it can be seen.

The fields carry the motion. Each takes a colour, a phase offset and a speed from the model’s palette. Its angle advances with the phase, its distance from the centre swells and shrinks between 0.26 R and 0.50 R, and its radius varies between 0.70 R and 1.00 R, so the fields overlap, part and blend continuously. Figure 2 gives the geometry.

breathe= 1+0.025sin⁡(2.2t) R= 0.82·S2·breathe ai= sit+φi ρi= R(0.38+0.12sin⁡(0.7t+φi)) pi= c+ρi(cos⁡ai,sin⁡(1.3ai)) ri= R(0.85+0.15sin⁡(1.1t+2φi))
Figure 2The orb’s geometry, as the app computes it. t is the phase, which starts at 1.7 and advances at the orb’s current speed. S is the canvas size and c its centre. Field i takes its speed si and offset φi from the palette; ρi is its orbit, pi its centre, and ri the radius over which it fades from 92% opacity to nothing.

Two details keep the motion from looking mechanical. The vertical position uses 1.3 times the angle, so a field traces a looping, Lissajous-like path rather than a circle, and its distance and size follow their own rhythms, at 0.7 and 1.1 times the phase. Even the field that repeats soonest takes about three minutes at rest to retrace its path. The five offsets also sit about a sixth of a turn apart, from 0 to 4.20 radians, with speeds from 0.65 to 1.20, so no two fields move in step.

03

Speed is the signal

Brello 1.0 has no separate loading state or thinking animation for the orb. Resting and working are the same orb animation at two speeds, 0.35 and 1.6, and the orb eases between them rather than switching.

Speed is how fast the phase advances, in units per second. Every part of the orb’s motion runs on the phase, so a change of speed changes all of it at once: at 1.6 the fields drift about four and a half times faster than at rest, and the breath quickens with them. Each frame, an animating orb runs three lines:

// Each frame, for an orb that is animating
target = active ? 1.6 : 0.35
speed += (target - speed) * min(1, dt * 2.5)
t     += dt * speed

Each frame closes a fixed share of the remaining gap, min(1, 2.5 × dt), where dt is the frame time in seconds. At 60 frames per second that share is 1/24, so the first frame adds 0.052 to the speed and each later frame a little less. The orb accelerates quickly and settles onto its new speed without overshooting. In continuous time this is exponential smoothing with a time constant of 0.4 seconds. Figure 3 plots it frame by frame.

How the orb’s speed eases between rest and work A line chart of the orb’s speed over 4 seconds, simulated frame by frame at 60 frames per second. The speed starts at the resting value of 0.35. When Brello starts working, the target jumps to 1.6 and the speed rises along an exponential curve: 64% of the way after 0.4 seconds and 95% after 1.2 seconds. An inset shows the first six frames, each adding one twenty-fourth of the remaining gap, from +0.052 down to +0.042. When the illustrative reply ends at 2 seconds, the target returns to 0.35 and the speed falls along the mirror-image curve, 95% of the way back after 1.2 seconds. A small orb drifts at the plotted speed. Speed, simulated at 60 fps Target Time 4.00 s Speed 0.358 00.51.01.5 0 s1 s2 s3 s4 s Seconds since Brello started working Target 1.6 while Brello works Target 0.35 after the reply ends Resting · 0.35 64% of the way at 0.4 s 95% at 1.2 s 64% of the way back at 2.4 s 95% back at 3.2 s First 6 frames · 60 fps Each frame adds 1/24 of the gap to 1.6 +0.052 +0.042 0 ms 100 ms
  1. At rest, the orb drifts at a speed of 0.35. Speed is how fast its phase advances, in units per second, and every part of the orb’s motion runs on that phase.
  2. When Brello starts working, the target jumps to 1.6. The speed doesn’t jump with it. Each frame, it moves part of the way toward the target.
  3. Each frame closes 1/24 of the remaining gap at 60 fps. That share is min(1, 2.5 × dt) with dt = 1/60 s, so the first frame adds 0.052 and each later frame a little less.
  4. After 0.4 s the orb is 64% of the way to 1.6, and after 1.2 s, 95%. The line draws in real time, and the orb above it drifts at the plotted speed.
  5. When the reply ends, the speed eases back the same way. The target returns to 0.35, and the orb settles along the mirror-image curve without a visible stop.
Figure 3The orb’s speed, simulated frame by frame at 60 frames per second with the app’s easing rule, for an illustrative reply that ends after 2 seconds. Points mark every 0.25 s; hover over or focus one for its value. The data, including the same run at 120 frames per second, is in the table below.
Show data for Figure 3
TimeTargetSpeed, 60 fpsSpeed, 120 fpsContinuousChange complete
0.00 s1.60.3500.3500.3500%
0.25 s1.60.9400.9350.93147%
0.50 s1.61.2511.2471.24272%
0.75 s1.61.4161.4121.40885%
1.00 s1.61.5031.5001.49792%
1.25 s1.61.5491.5471.54596%
1.50 s1.61.5731.5721.57198%
1.75 s1.61.5861.5851.58499%
2.00 s1.6 → 0.351.5921.5921.59299%
2.25 s0.351.0061.0101.01547% back
2.50 s0.350.6970.7010.70672% back
2.75 s0.350.5330.5370.54085% back
3.00 s0.350.4470.4490.45292% back
3.25 s0.350.4010.4030.40596% back
3.50 s0.350.3770.3780.37998% back
3.75 s0.350.3640.3650.36699% back
4.00 s0.350.3580.3580.35899% back

Simulated with speed += (target − speed) × min(1, 2.5 × dt), starting at 0.35. The continuous column is 1.6 − 1.25e−2.5τ while working and its mirror image after the reply ends. “Change complete” is measured from the speed at the moment the target last changed.

The speed is 64% of the way to its target after 0.4 s and 95% after 1.2 s. Because the share is scaled by the frame time, the curve barely depends on the frame rate: at 0.4 s the orb is 64.0% of the way there at 60 frames per second, 63.6% at 120 and 64.8% at 30. The rule is symmetric, so when the work ends the speed eases back to 0.35 along the mirror-image curve.

Stillness is part of the vocabulary too. Once a reply is finished, the small orb beside it doesn’t animate at all, so in a long conversation motion points to the one reply still being written. The speed has only two targets, which means the orb shows that Brello is working but not how far along the work is (section 9).

04

One orb for each model

Each Brello model has its own orb palette of five field colours and a halo, listed in Table 2. Only the colours differ: the offsets and speeds are the same in all three palettes, so every model moves the same way.

Table 2Orb palettes, with field colours in painting order. Every palette uses offsets 0, 2.10, 4.20, 1.05 and 3.15 and speeds 1.00, 0.80, 1.20, 0.65 and 0.95, in the same order, as defined in the app.
Model and paletteField colours, in painting orderHalo
Brello ProSpectrum#FF375F #5E5CE6 #64D2FF #FF9F0A #BF5AF2#8E7CFF
Brello VisionViolet#BF5AF2 #FF375F #5E5CE6 #FF7AB6 #7D5CFF#B07CFF
Brello CoreOcean#0A84FF #64D2FF #5E5CE6 #30D5C8 #3B6CFF#4FA3FF

The orb beside a reply takes the palette of the model that wrote it. Every reply records its model, so an old conversation keeps the right name and orb after a switch. Colour identifies the model and motion shows what it is doing. Once a chat starts, colour is not the only cue: the model’s name appears in the top bar and on every finished reply. On the empty home screen the orb appears without a name (section 9). Which model Brello recommends depends on the phone’s memory, as described in Fitting a model to the phone in your pocket. Figure 4 renders the three palettes live.

Brello Pro

Spectrum palette

Brello Vision

Violet palette

Brello Core

Ocean palette

Figure 4Brello Pro, Brello Vision and Brello Core, rendered live in the browser from the app’s palettes at the resting speed. The swatches show each palette’s five field colours in painting order. Every model’s fields share the same offsets and speeds; only the colours differ.

These orbs are rendered with WebGL 2,2 from the app’s algorithm: the same five fields with the same offsets and speeds, driven by the same phase and easing, and evaluated for every pixel in a fragment shader. Large renders on the web get additions that a small avatar on a phone doesn’t need. The fields are sampled as if painted on a sphere, so they compress toward the edge. A soft shadow and a lit edge give the glass depth, a wide bloom tinted by the nearest field spills onto the page, and the fields lean gently toward the pointer. A large orb on this site is therefore not pixel-identical to the app’s, while Figures 1, 3 and 5 follow the app’s parameters directly.

05

The glow frame and the shimmer

While Brello is generating a reply, a spectrum glow runs around the edge of the composer: a conic gradient of the six spectrum colours that turns once every 3.2 seconds.

The composer is also where the send button becomes a stop button while the model runs, so the working signal appears there as well as on the orb. The sweep runs from orange through pink, purple, indigo and blue to cyan, and back to orange. It is drawn twice around the composer’s rounded rectangle, which has a corner radius of 30. Underneath, a 6 px stroke of the sweep is blurred (σ ≈ 8 px) and set at 55% opacity, giving soft light on both sides of the edge. On top, a crisp 1.5 px stroke, inset by 0.75 px, draws the edge at full opacity. The frame fades in and out over 520 ms, the system’s slow motion token, so it never snaps on or off. Figure 5 builds it layer by layer, and Figure 6 shows it in the app.

The spectrum glow frame around Brello’s composer Brello’s composer in dark mode: a grey pill with a plus button, the placeholder “Ask Brello” and a send button. A conic sweep of the six spectrum colours, orange, pink, purple, indigo, blue and cyan, turns around the composer’s centre once every 3.2 seconds. It is drawn as two layers around the edge: a 6 px stroke blurred with a standard deviation of about 8 px at 55% opacity, and a crisp 1.5 px stroke inset 0.75 px at full opacity. A cross-section of the edge plots both: the crisp layer as a 1.5 px band at 100% just inside the edge, and the soft layer as a wide, low hump that peaks near 16% on the edge. While the frame is on, the send button is a stop button. A timeline shows the frame fading in over 520 ms when a reply starts and out over 520 ms when it ends. Composer · dark mode · drawn at 1.5× Conic sweep · one turn every 3.2 s Ask Brello Frame opacity over a reply 100% 0 0 s2 s4 s6 s Reply starts Reply ends 520 ms 520 ms Seconds, for an illustrative 4-second reply Cross-section at the marked point 100% 0 −16−80816 Distance from the edge in px, inside negative Layer 2 · crisp 1.5 px, inset 0.75 px, 100% Layer 1 · soft 6 px, blurred σ ≈ 8 px, 55% Peaks near 16%
  1. At rest, the composer has no colour. It is a grey container with a corner radius of 30, holding the + button, the text field and the send button.
  2. The colour comes from a conic sweep. The six spectrum colours, orange through pink, purple, indigo and blue to cyan, run around the composer’s centre, and the sweep turns once every 3.2 s.
  3. While Brello generates, a soft layer glows on both sides of the edge. It is a 6 px stroke of the sweep, blurred with σ ≈ 8 px and drawn at 55% opacity, so it is wide and faint. The send button is now a stop button.
  4. A crisp layer draws the edge itself. It is a 1.5 px stroke at full opacity, inset 0.75 px so that it sits just inside the container.
  5. The frame fades in and out over 520 ms. It appears when a reply starts and leaves when the reply ends, so the signal never snaps on or off.
Figure 5The spectrum glow frame around Brello’s composer, in dark mode at 1.5 times its size on the phone. Colours, the 3.2 s turn, stroke widths, blur, opacities and the 520 ms fade are the app’s. The cross-section is computed from those values for a straight stretch of edge, and the 4-second reply in the timeline is illustrative.
Brello’s empty home screen in light mode. A large, softly glowing orb in pink, violet and indigo sits above the greeting “Good morning” and the line “Ask anything, or show me a photo. It all stays on this phone.” The composer at the bottom reads “Ask Brello”.
A conversation in Brello, in light mode. Brello Vision is partway through a reply made of numbered tips. A glow in orange, pink, purple and blue runs around the edge of the composer at the bottom of the screen, and the send button shows a stop square.
Figure 6Brello 1.0 at rest and at work, in light mode. Left: the empty home screen, with the large orb above the greeting. Right: Brello Vision writing a reply, with the spectrum glow around the composer and a stop button in place of the send button. Screenshots from the app, with the status bar removed.

On this site the same frame is a reusable component built from a CSS conic-gradient(),3 masked to a ring, with a blurred copy behind it. Its angle is a custom property registered with @property,4 which lets the browser interpolate the angle and animate the rotation smoothly.

Status text gets a quieter version of the same idea. While a reply is in progress, the line above it names the stage: “Searching the web”, then “Reading 4 sources” with small letter-mark badges for the sites, then “Thinking”, or “Reasoning” in Think harder mode. When the reply is finished, the label becomes the name of the model that wrote it. The web stages are described in Answering from the open web, without a server.

Live labels shimmer. The text is painted with a gradient from the tertiary grey to full-strength text and back, and the bright band sweeps from left to right every 1.5 s. Its stops sit at v − 0.25, v and v + 0.25, with v running from −0.7 to 1.7, so the band enters and leaves beyond the ends of the label and crosses the text for about 0.94 s of each sweep.

Think harder mode applies the same treatment to reasoning. A “Thought process” panel appears above the answer. While the model reasons, the panel’s title shimmers and it shows the last few lines of live reasoning, fading out at the top. When reasoning ends, the panel collapses to a “Thought process” row that expands to show the full reasoning. Reasoning modes, explained covers what such a mode changes in a model’s output.

06

Writing at a readable pace

Brello 1.0’s streaming text animation reveals an answer at a steady, frame-synced pace rather than as tokens arrive, because a model on a phone produces text in bursts.

Incoming text joins a backlog, and a typewriter reveals it at about 70 characters a second plus five times the backlog while the model streams, then at 260 plus eight times the backlog to finish. The backlog term drains bursts quickly: with no new text arriving, a backlog of 100 characters clears in about 0.4 s while streaming and in under 0.2 s at the end, so the tail lands at once instead of trickling out.

The reveal never shows half-written Markdown. A lone ** or backtick stays hidden until its partner arrives, a partial citation such as [3 is held back until it is complete, and a list marker with nothing after it isn’t shown. Finished replies keep their parsed Markdown, so they aren’t parsed again while another answer streams. The text also passes through guards against leaked control tags and repetition loops, described in Small models copy the shape of their instructions.

The reveal can be felt as well as seen: a tick plays the moment an answer starts writing, and a light tap when it finishes. Each finished answer then closes with a quiet meta line such as “2.4s · On-device” or “3.1s · Web + on-device”, recording how long it took and whether the web was used. Table 3 lists every working signal in Brello 1.0.

Table 3The working signals of Brello 1.0, with their triggers and timings, from the app’s motion tokens and copy.
SignalWhenTiming
Orb driftAny animating orb; faster while Brello works0.35 at rest, 1.6 working, eased at min(1, 2.5 × dt) per frame
Orb breathAny animating orb±2.5% scale, following sin(2.2t)
Glow frameAround the composer while a reply is generatedOne turn every 3.2 s; fades in and out over 520 ms
ShimmerLive status labels and the “Thought process” titleOne sweep every 1.5 s
TypewriterWhile an answer is writtenAbout 70 characters/s + 5 × backlog; 260 + 8 × backlog to finish
HapticsAn answer starts writing; it finishesA tick; a light tap
Meta lineEvery finished answerTime taken, and “On-device” or “Web + on-device”

07

Stillness on request: reduced motion

On this site, every orb renders a single still frame when the reader’s system asks for reduced motion, and every motion figure opens on its final step, with the steps still available by hand.

Movement on screen is uncomfortable or distracting for some people. Operating systems let people ask for less of it, and browsers pass that request to web pages through the prefers-reduced-motion media feature.5 When it is set, the orbs here keep their colours, highlight and rim, so the sphere still reads as glass, but the phase no longer advances. With reduced motion on, the orbs in Figure 4 hold still.

Removing motion shouldn’t remove meaning, and that is the central requirement for reduced motion in AI interfaces. Apple’s Human Interface Guidelines ask designers to avoid using motion “as the only way to communicate important information” and to supplement visual feedback with alternatives such as haptics.6 WCAG 2.1 sets a related bar for the web at Level AAA: motion animation triggered by interaction can be disabled, unless the animation is essential.7 In Brello 1.0 the orb is never the only working signal. The status label names the stage in words, the send button turns into a stop button for as long as the model runs, and haptics mark the start and end of an answer.

08

Signals that follow real state

Every working signal in Brello 1.0 follows real state rather than a timer. The orb speeds up when work starts and settles when it ends, the glow runs only while a reply is generated, and the shimmer sits only on live labels.

The meta line closes the loop by recording what happened: how long the answer took and whether the web was used, “On-device” or “Web + on-device”. Nothing in this vocabulary shows progress that wasn’t measured or activity that isn’t happening.

Brello Super Intelligence · In development. The rest of this section describes design intent, not results.

Brello Super Intelligence (Brello SI) is being designed to take on harder work than Brello 1.0: on the device first, then on sealed compute that the device verifies before sending anything, as set out in Private compute you can verify: the design space. We intend every visible state in Brello SI to correspond to something the system is actually doing, and to name it in words as well as show it in motion. We intend to show progress only where it can be measured, to show waiting as waiting, and to keep visible where work happens, as the meta line keeps visible today whether a reply used the web. We intend the orb to keep one meaning in Brello SI: it stands for the model, at rest or at work.

8.1 Open questions

  • Progress without false precision. Myers found in 1985 that people prefer to have progress indicators,8 but open-ended work has no honest percentage. We don’t yet know how to show the expected length of a task that has no reliable estimate.
  • Where the work ran. A label can say where work ran, but a person can’t check it. We haven’t settled how to show computation on sealed, remote hardware in a form that can be verified rather than taken on trust.
  • How many states. As the system takes on more kinds of work, the number of states will grow. We don’t know how many of them motion and colour can carry before words have to take over.
  • Legibility. How quickly and reliably people read these signals, including with reduced motion and with a screen reader, has not been measured.

09

Limitations

The system shows whether the model is working, not how far along it is, and most of its signals depend on sight.

  • State, not progress. The orb has two speed targets, so it can show that Brello is working but not how far along a reply is or how long it will take. In Myers’s terms it is a sign that computation is in progress, not a percent-done indicator.8 Stage labels narrow this down for web answers, but a reply can run for many seconds: one search provider can take up to 14 s, and a Think harder answer can run to 2,048 tokens. Nielsen’s guidance is that waits longer than about 10 seconds need feedback indicating when the work will be done.9 Brello 1.0 gives no such estimate.
  • Colour carries identity. The palettes differ only in colour, and people who see colour differently may not tell the spectrum and violet palettes apart. The model’s name in the top bar and on finished replies covers this, but not on the empty home screen, where the orb appears without a name.
  • Sight first. The orb, the glow and the shimmer are visual. Only the start and end of writing are also marked by touch.
  • Frame rate. The easing assumes frames arrive steadily. Below 2.5 frames per second, min(1, 2.5 × dt) reaches 1 and the speed jumps straight to its target.
  • A port on the web. This site’s WebGL renderer adds shading, bloom and pointer response to the app’s algorithm, so a large orb here is not pixel-identical to the app’s.
  • Specification, not evaluation. This paper describes the design as built. It does not measure how quickly people notice the change of speed or the glow, and it does not cover how the app responds to Android’s setting for removing animations.

References

  1. Mark Weiser and John Seely Brown. “Designing Calm Technology.” Xerox PARC, 21 December 1995. calmtech.com/papers/designing-calm-technology.html (accessed 5 October 2026).
  2. Khronos Group. “WebGL 2.0 Specification.” registry.khronos.org/webgl/specs/latest/2.0 (accessed 5 October 2026).
  3. W3C. “CSS Images Module Level 4,” section 3.3, conic gradients. W3C Working Draft, 30 September 2025. w3.org/TR/css-images-4 (accessed 5 October 2026).
  4. W3C. “CSS Properties and Values API Level 1,” section 3, the @property rule. W3C Working Draft, 26 March 2024. w3.org/TR/css-properties-values-api-1 (accessed 5 October 2026).
  5. W3C. “Media Queries Level 5,” section 12.1, the prefers-reduced-motion feature. W3C Working Draft, 19 February 2026. w3.org/TR/mediaqueries-5 (accessed 5 October 2026).
  6. Apple. “Motion.” Human Interface Guidelines. developer.apple.com/design/human-interface-guidelines/motion (accessed 5 October 2026).
  7. W3C Web Accessibility Initiative. “Understanding Success Criterion 2.3.3: Animation from Interactions.” WCAG 2.1, Level AAA. w3.org/WAI/WCAG21/Understanding/animation-from-interactions (accessed 5 October 2026).
  8. Brad A. Myers. “The Importance of Percent-Done Progress Indicators for Computer-Human Interfaces.” Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI ’85), 11–17. ACM, 1985. doi.org/10.1145/317456.317459
  9. Jakob Nielsen. “Response Times: The 3 Important Limits.” Nielsen Norman Group, 1 January 1993. nngroup.com/articles/response-times-3-important-limits (accessed 5 October 2026).

Cite this work

Brello Research. “Designing an intelligence you can see working.” Stuvio, 5 October 2026. https://brello.ai/research/designing-visible-intelligence/

@misc{brello2026designingvisible,
  title  = {Designing an intelligence you can see working},
  author = {{Brello Research}},
  year   = {2026},
  month  = {oct},
  url    = {https://brello.ai/research/designing-visible-intelligence/},
  note   = {Stuvio}
}

Version history

  1. 1.0First published.