01 / Positioning

One sentence first. Then the names that carry it.

The laptop was built for doing the work by hand. Nobody does that any more. Kosuke does the work in the cloud, and the person decides from whatever device is on them.

The laptop is dead. Sensei turns execution into a generative experience across all your devices.

The line. Tagline for anything about the agents: For you and your thousand agents.

For investors

The laptop is dead. It was built for executing work by hand, and nobody does that any more. At Kosuke, Sensei runs the execution on our machines and turns it into a generative experience across all your devices: a card on your watch, a feed on your phone, a view on your glasses. You decide with a swipe. We started with software engineers, and 35 companies pay for it today. Next, we are taking it to everyone who does digital work. Now you can direct the execution from the pool.

For customers, engineering teams

Kosuke runs your whole app in a cloud sandbox for each coding agent and tests every change in a real browser. Sensei coordinates the parallel execution and brings you the finished changes one at a time, with a recording of each. Swipe to merge or send back.

Kosuke

The company and the product

One word, capital K. Never all caps in a sentence, never "the Kosuke".

Sensei

The one agent that runs the others

A name, so no article: "Sensei asks", not "the Sensei asks". One per person.

Execution

What Sensei does for you

You keep the decisions.

Generative experience

What Sensei turns execution into

Lowercase in a sentence, and always "across all your devices". It is what the person gets.

02 / Voice

Plain, direct, specific. Copy rules that do not bend.

End a thought with a period. Join or separate with a comma, a colon or a slash. Never reach for an em dash or a middle dot to do a sentence's job. Say what happened, to whom, on which device.

01Never use an em dash in UI copy. Two sentences, or a comma.

Do

The work runs in the cloud. You decide from the pool.

Don't

The work runs in the cloud — you decide from the pool.

02Never use a middle dot or a dot as a separator between labels, tags or metadata. Use a comma, a colon, a slash or whitespace.

Do

14:45 Ski lift

Don't

14:45 · Ski lift · Watch

03Write like an engineer talks: plain, direct, specific. Short sentences.

Do

Sensei drafted the reply. Send it?

Don't

Our intelligent assistant has thoughtfully prepared a response for your consideration.

04No marketing filler or unearned superlatives. Concrete, verifiable claims only.

Do

Running today on Mac, web, iPhone, Apple Watch and Meta Ray-Ban Display.

Don't

The most powerful, revolutionary AI experience ever built.

03 / The mark

The ring is Kosuke. The squircle with a face is Sensei.

The plain ring is the logo, the favicon and the app icon. Sensei is his own mascot: a lit squircle with two arc eyes, present or speaking. He never appears where no agent is.

Flat, always

Every icon and logo is flat: the ring in the one ink, on a dark ground or none. No glow, bevel, drop shadow or inner shadow, and no gradient beyond the ground's barely-there vertical step. There are two drawings, the same as the desktop app: the dock's thin ring from 64px up, and a heavier ring for the browser tab, so it still reads at 16px.

16px, tab

32px, tab

64px, app

128px, app

128px, Mac dock

Do

Draw the ring flat, in the one ink, at every size from the tab to the dock.

Don't

Add a glow, a bevel, a shadow or a lit gradient to the Kosuke ring or its ground.

Sensei, in every state

Faces are states the product already has, never moods. The eyes and the motion carry the state, the same motion as in the app, and every face holds still under reduced motion. White on dark, glossy black on light, sharp from 12px up.

  • Queued

    Snoozing, z’s floating up

  • Waking

    Stretches tall, opens its eyes

  • Working

    Eyes on the work, hammering away

  • Done

    The smile, and a blink

  • Failed

    Flat eyes, tipped over

  • Stopped

    Eyes closed, dimmed

  • Asking

    A hop, and a “?”

  • Testing

    Eyes scan, body leans

  • Ready

    Jade eyes, and a hop

Do

Use the plain ring for Kosuke: the logo, the favicon, the app icon.

Don't

Put a face on the logo, on a loading spinner, or anywhere no agent is present.

04 / Color

One ink on black. Depth comes from light, not hue.

Kosuke has no accent colour. Hierarchy is a share of the one ink, glow is that ink blurred, and photography is grayscale. Never hardcode a value: every colour is a token in globals.css.

--background

 

The ground. Black on the public site.

--foreground

 

The one ink. Headlines, the ring.

--muted-foreground

 

The first sentence of a heading. Captions.

--card

 

Raised surfaces that are not glass.

--muted

 

Tile fills under photography.

--border

 

Hairlines between tiles.

--border-strong

 

A hairline that has to read on black.

--primary

 

The filled button.

05 / Type

Two sentences, two inks. The second one lands it.

Funnel Display for anything said large, Funnel Sans for anything read, mono capitals for labels and times. No bold for emphasis in a heading: the ink does that job.

Display, Funnel Display

Go for a swim.

Section heading, two inks

Every device you own. Get Kosuke on all of them.

Body, Funnel Sans

The work happens in the cloud, all day, whether you are watching or not. You decide from whatever is on you.

Label, mono capitals

14:45 Ski lift

06 / Surface

Interface is glass. Hardware is solid.

Cards, notifications and controls are liquid glass: translucent, lit on the top edge, floating over whatever is behind them. Use it for interface only. Devices and page tiles stay solid, so the glass has something to float over.

A player between points on a tennis court, in black and white

Needs you

Pay Studio Rossi?

Invoice matches the quote, 1,240 euro

PayLater
Fill
A gradient of the ink, 15% to 5% and back to 9%
Top rim
1px inset highlight, ink at 32%: where the light catches
Edge
1px inner border, ink at 11%
Blur
Backdrop blur 14 to 18px, saturate 170%
Lift
A soft drop shadow, so it floats over its ground
Shape
Poured, not cut: 14 to 20px radius, pills for buttons

07 / Devices

Hardware outside, glass inside. Every screen shows real work.

Draw each device with the cue that names it: the watch's crown, the phone's island, the Mac's base, the lens of the glasses. On the screen, real interface in glass, never skeleton bars. Keep the devices true to each other's size.

Watch

iPhone

Mac

Glasses

Do

A watch with its crown, asking one question with two answers on glass.

Don't

A rounded rectangle with grey bars in it, standing in for any device.

08 / Photography

Where the yes happens. Never at a desk.

Every photograph shows a moment away from a computer, with the time and the place as its caption. That is the product: the work got done while the person lived.

A swimmer resting on the lane rope
07:10 Pool
A runner on a track at dawn
11:05 Track
A skier on a chairlift above the snow
14:45 Ski lift
  • Moments of a life, not of a job: the pool, the court, the metro, a cafe.
  • Grayscale, dimmed to about a third so a line of white type reads over it.
  • People doing something, never posing for the camera, never smiling at it.
  • The device is on the person, small in the frame, or not visible at all.
  • A desk appears only as the villain: empty, and left behind.
An empty desk with a laptop left by a window

The one exception: the desk, as the villain

09 / Motion

Calm, slow, meaningful. Light travels, rings breathe.

The home page is one line: a hairline that draws itself as you scroll and lights a ring at each section. Every motion on the site is a version of that.

The thread

Slow and eased
cubic-bezier(0.16, 1, 0.3, 1), 0.5s and up. Nothing snaps, nothing bounces.
One thing moves
A section animates one idea: a line draws, a ring lights, a card rises.
Motion carries meaning
Light travelling a line is the session moving between devices. Never decoration.
Breathing, not blinking
Idle things breathe on a four second cycle. Nothing flashes for attention.
Still is complete
Under reduced motion every element shows its final frame, fully readable.

10 / Buttons

The size comes from the place. Never from the button.

Every button is the shared component with a variant and a size, never its own padding, height, radius or fill. Text styled as a link stays a plain link.

A public page, call to action

size="lg". The product link filled on the left, Contact Sales as the outline on the right.

The navbar and an admin header

size="sm". Sign In filled, then Contact Sales outlined. One link serves both sign in and sign up.

A dialog, a card, a form row

Default size. Primary filled, Cancel as the outline.

A link into more detail

Outline at the default size, so it never competes with the page call to action. Icons sit in the gap-2 the button carries.

Busy

Keep the label, add the spinner beside it.