stealth co.
Get in touch

Press & brand kit

The mark, and how to use it.

One closed band, pinched twice from opposite sides — the counter it leaves behind is the S. Everything here is generated from a single source in the codebase, so what you download is what the site ships.

Free to use for press, partners and anyone writing about us. If you need something that is not here, ask — hello@stealth-company.co.

01

Boilerplate

Standard copy, free to quote verbatim. Australian/British spelling — please keep it.

Short

stealth co. is an ai-native software factory in Hong Kong and Australia, building SaaS platforms, web apps, mobile apps and desktop software — for clients through stealth studio, and as its own products through stealth factory.

Long

stealth co. is an ai-native software factory working from Hong Kong and Australia. It designs, builds and runs production software across SaaS, web, mobile and desktop, for client briefs through stealth studio and as its own products through stealth factory. The studio has been operating since 2012 and is founder-led by a design engineer building software since 2006, with agentic development used throughout — held to the same specification, testing and review discipline as any other engineering.

02

Facts

Founded
Studio since 2012; building software since 2006
Based
Hong Kong · Australia
Divisions
stealth studio (client work) · stealth factory (own products)
Builds
SaaS platforms · web apps · mobile apps · desktop software
Press contact
hello@stealth-company.co

03

The mark

The bare band S, in the four downloadable colourways every other surface uses. On the site itself the mark takes its ink from context rather than being pinned, which is what lets it follow the header appearance control.

SignalThe accent. The default wherever the ground is dark.
Signal reversedInk and ground swapped — the mark cut out of an accent field.
LightOne colour for dark grounds, and anywhere the accent cannot be reproduced.
DarkOne colour for light grounds — print, documents, a white slide.

04

Wordmark

The mark and the words share one baseline — the mark’s ink, not its bounding box, which sits 5% inside it. The mark is 4:3 against the wordmark and the gap is half the type size, so the lockup scales as one object. Set “stealth co.” in Space Grotesk semibold, lowercase, with the trailing period — the period belongs to “co.” and is not optional.

stealth co.Signal
stealth co.Light
stealth co.Dark
stealth co.software factory

05

App icons

The tiled knockout, for platform icons only — never on the site itself. These ship SQUARE, because iOS and Android apply their own mask and a pre-rounded tile inside one means two radii fighting and a dark seam. The browser favicon is the opposite case: it is rendered as given, so /icon.svg carries the radius itself. Both shapes of every colourway are in Downloads.

Signalsvgpng
Signal reversedsvgpng
Lightsvgpng
Darksvgpng

In use — /icon.svg rounded, browser · /apple-icon square, iOS · /app-icon square, Android

06

Share card

The 1200x630 image that renders when a link to the site is pasted into Slack, iMessage, LinkedIn or X — for most people, the first thing they ever see of the brand. Generated at /opengraph-image, never a checked-in file, so it cannot fall out of date with the mark. Signal is the one that ships.

Share card, signal
SignalpngThe default card. Accent mark and strapline on the dark ground — what every link to the site renders.
Share card, light
LightpngOne ink on the same dark ground. For anywhere the accent cannot be reproduced, or where the card sits beside something already loud.
Share card, dark
DarkpngInverted — dark ink on light. For light-mode surfaces, printed decks and documents where a near-black slab would fight the page.

07

Loaders

The band relaxes out of the S and back again. These animate themselves: the motion is SMIL inside the file — no JavaScript, no CSS, no library, nothing to load — so a downloaded loader plays on its own in an img tag, a CSS background or an object. Each downloads as SVG and there is no raster version, because flattening one would throw the animation away. Both honour prefers-reduced-motion where the host page pauses them.

Signal
Markmorphsvg
Markspin + morphsvg
Knockoutmorphsvg
Knockoutspin + morphsvg
Signal reversed
Markmorphsvg
Markspin + morphsvg
Knockoutmorphsvg
Knockoutspin + morphsvg
Light
Markmorphsvg
Markspin + morphsvg
Knockoutmorphsvg
Knockoutspin + morphsvg
Dark
Markmorphsvg
Markspin + morphsvg
Knockoutmorphsvg
Knockoutspin + morphsvg

08

Palette

The accent is defined once, in app/globals.css. Every accent surface derives from it, which is why light and dark both keep a single accent.

Signal#C8FF4DThe accent. One colour, used sparingly.
Light#EDEDEDThe light ink. Type and marks on a dark ground.
Dark#0A0B0AThe dark ink. Type and marks on a light ground, and the ground itself.
Surfaceoklch(0.21 0.009 260)Cards and panels, one step up from ground.
Hairlineoklch(0.3 0.008 260)Borders and rules.
Mutedoklch(0.65 0.01 255)Secondary type.

09

Typography

Two faces, both on Google Fonts. No third face anywhere on the site.

Display and bodySpace Grotesk

Headlines, wordmark and running text. Semibold for the wordmark, which is always lowercase with the trailing period.

Labels and dataGeist Mono

Eyebrows, tags, stats and anything numeric. Set uppercase with wide letter-spacing.

10

Downloads

Every file is generated from lib/mark.ts at request time, so a download can never disagree with what the site renders. PNGs take any size up to 4096 — append &size=2048 to the link.

ColourwayMarkTile (rounded)Tile (square)
Signalsvgpngsvgpngsvgpng
Signal reversedsvgpngsvgpngsvgpng
Lightsvgpngsvgpngsvgpng
Darksvgpngsvgpngsvgpng

11

Rules

Short, because there are only a few that matter.

  • Clear space: keep at least the width of the S counter — a quarter of the mark's height — free on every side.
  • Minimum size: 16px for the bare mark, 24px for the mark beside the wordmark. Below that the counter closes up and it reads as a blob.
  • Never re-space the lockup by hand. The mark sits 4:3 against the wordmark, both on one baseline, separated by half the type size — one object, scaled as a whole. Rebuilding it from a mark and a text layer is how two versions of it drift apart.
  • Four downloadable colourways, and no others: Signal, Signal reversed, Light, Dark. On the site the mark takes its colour from context rather than being pinned, so it follows the header appearance control — those live-site modes are not a fifth colourway, and there is no extra file for them.
  • Never add effects — no shadow, no gradient, no outline, no rotation.
  • Never use the tiled knockout on the site. It is for platform app icons, which need their own ground.
  • The parent brand is “stealth co.” — lowercase, trailing period. Divisions are lowercase with no period: stealth studio, stealth factory.

12

Source

The mark lives in one place. Regenerate from it rather than copying an SVG out of this page and editing it.

lib/mark.ts

Exports the path, the two brand colours and markSvg({ rounded }) for the tiled versions. app/icon.svg is generated from it; the iOS and Android icons render from it at request time.