v0.2.0 MIT 0 dependencies ~9 KB runtime

The HUD-first web framework
for smart glasses.

Build glanceable web apps for Meta Ray-Ban Display — 600×600, Neural Band, curated palettes. No cursor, no build step, zero dependencies.

↑ ↓ navigate · ← → adjust · Enter select · switch palettes at the top
Why Glint

The app layer for a strange canvas

The display is 600×600, has no cursor, and is driven by a wristband. Glint gives you a launcher-hub: ship one URL that hosts a whole suite of glanceable utilities — and own the home screen before an official store exists.

HUD-first

A fixed 600×600 stage that scales to any viewport — ≈1:1 on the glasses.

Focus navigation

No cursor. A focus ring moves with up/down and selects on activate.

Input adapter

Keyboard + touch for dev; real Neural Band / Cap Touch wired in one place.

Launcher-hub

Many utilities behind a single URL — sidestepping the per-app tester cap.

Curated palettes

Ember / Nyx / Apollo as design tokens. Add your own in 8 hex values.

Zero deps

Plain HTML/CSS/JS. No bundler required, plus a one-command single-file build.

Themes

Three palettes, one switch

Curated from lospec — same UI, different soul. Switch at runtime with data-theme.

Ember themeEmber · SLSO8
Nyx themeNyx · Nyx8
Apollo themeApollo · Apollo
Batteries included

Ten apps in the box

Clock, Timer, Stopwatch, Weather, Compass, Level, Notes, Converter, a component gallery, and docs — all built with Glint, ready to fork.

CompassCompass · instrument bezel + sensor
WeatherWeather · glanceable cards
ConverterConverter · ← / → steppers
Get started

An app in ~10 lines

A screen is a function. Register a row in the launcher. That's the whole model.

function HelloApp(){
  return Glint.Screen({ title: 'Hello' },
    Glint.Row('Say hi', {
      icon: Glint.icon('plus'),
      onSelect: () => Glint.toast('Hi from the HUD')
    })
  );
}