Skip to main content
4 min read

Design guidelines

How a Glance app should look. The Reference covers the mechanics — the API, the manifest, the hard rules that error. This section covers the part nothing errors on: layout, type, color, pixel art, and the screens people actually see from across a room.

The rules here are Glance's design requirements plus the conventions measured from the shipped catalog. Where a rule names an app, that app is the reference implementation.

The original Currency Rates app: a small coin and three unlabelled numbersThe remake: drawn coin, a 1 USD BUYS lockup, the rate as the hero, the currency code down the right edge
The same app, before and after these guidelines. Left: three numbers with no unit. Right: a labelled hero, art that carries the identity, and every pixel earning its place on 64x32.

Who these are for

Defaults for the AI, not law for the human

If you're building with an AI assistant, these guidelines are already loaded — the MCP server hands them over as glance://reference/design, and the paste-in prompt carries the short version. They are defaults the assistant follows and you may override, case by case. Your design intent always wins.

What they exist to prevent is the opposite failure: a person leans on an AI, the AI leans on a template, and every app comes out looking the same.

If you're building by hand, read them the same way: the catalog's measured conventions, the traps that fail silently, and a checklist to walk before you submit.

Start with your design

Before any code is written, decide how the app should look. An AI assistant following these guidelines will ask you for this — have it ready. A drawing, a napkin sketch, a photo, or a zone-by-zone description in words all work. Collect at least:

DecideWhat it means
The layoutWhat sits where on the strip: left / center / right, top / bottom.
The heroThe one piece of content the app exists to show, and how big it should feel.
The pixel artWhat image, if any, carries the app's identity — and what text it replaces.
Palette and moodBrand colors, an accent, quiet or loud.
Target widths64x32 for the V2 and every end product, wider than 64 for SCROLL, or both.

Then iterate on the look before wiring the data. Render a mockup of the layout with placeholder content, adjust until it's right, and only then build the data path behind it. The human designs; the AI (or the code) does the tedious part.

The goal is apps that look the best — and materially different from every other app. Two apps that both follow this section should still be visually distinct, because their designs came from two different people. If a proposed design would be indistinguishable from an existing GDN app, change it until it's its own.

And when the content resists a clean layout, decide the trade-off yourself. Some data genuinely doesn't fit — three labelled numbers plus identity art on 64x32 has no obviously right answer. A good assistant says so and hands you the trade-offs rather than shipping a forced compromise; a good developer does the same for themselves.

The currency remake at 192 wide: drawn coins, 1 USD BUYS in the outline font, a rule, then three labelled rates — centered as one block inside the safe zone
The remake on a 192-wide SCROLL panel: one consolidated block, measured and centered, inside the safe zone. The 10x15_outline font gives the lockup its edge.

The guidelines

Where these live

  • On this site — you're reading them.
  • In the toolkit — the same document ships as gdn/data/design_guidelines.md in the glance-dev-network repo.
  • In your AI — over MCP the server exposes them as the glance://reference/design resource and folds them into the build_an_app prompt; without MCP, the AI prompt ends with a condensed DESIGN block and a link back here.
  • In Studio — the sequence preview shows a scroll app between two neighbors, which is the only honest way to check the #1 scroll rule.