Skip to main content
2 min read

Pre-flight checklist

All apps are tested for edge cases and adjusted for them before submission. Walk this list before Validate & Submit — an AI assistant working over MCP walks it too.

Design

  • The layout was decided first (yours, not a template), mocked up, and approved before the data path was built.
  • The design is materially different from existing GDN apps — not a template fill-in.
  • One hero per page, sized for a 10–30 ft viewing distance; everything else visibly smaller and quieter.

Space

  • 64: space maximized. Scroll: content inside the safe zone (6–10 px edge padding, per app), centered or padded — never flush to pixel 0 / 191.
  • Scroll: previewed in sequence — with a neighbor app ahead and behind — to check nothing merges at the seams (Preview your app in action).
  • Nothing draws off-canvas — edge placements are measured or right-aligned, worst cases checked at both edges (the renderer clips silently).

Text

  • Worst-case strings are the design point ("WASHINGTON", not "METS") — fit, truncate deliberately, or abbreviate.
  • Every string bounded: measured, laddered, hard-clipped; API returns constrained before drawing; 1 px buffers around text, horizontal and vertical.
  • No overlapping pixels without text_stroke; changing pixel art overlaps nothing at any size.

Color & art

  • High contrast throughout; black or near-black ground; stroked text (or an _outline font) on any filled background.
  • No magic numbers — every value has a label or intuitive pixel art; temps have degrees; location apps show the location.
  • The app identifies itself: splash page, title, or unmistakable pixel art.

States & inputs

  • All four screens designed: live, error (actionable two-liner), empty (positive all-clear), demo (labelled).
  • Inputs: picklists over free text; every logic path works; every input visibly used; every declared page shown.

Metadata

  • Name is descriptive, unique across Glance, no SCROLL / LED; category is real.
  • Rendered and looked at — including offline and with a nonsense input — before calling it done.

Then: Validate & submit.