CheckInHubDesign · v0.1
Live

CheckInHub · Design · v0.1

Every attendee
accounted for.

Professional event check-in and attendee management. QR and barcode scanning at the door, structured registration and equipment tracking on the desk — unified under one brand.

Annual Conference · 2026

Live

Attendee

Emma Beckett

Attendee · Annual Conference 2026

ANC-2026-0142

Checked in

§ 01 · Principles

Six non-negotiables.

Dark-first live. Light-first read.

Scanner, kiosk, overlay = dark. Admin, tables, forms = light.

One signal per surface.

Signal green carries state changed. Never two chromatic signals on one surface.

Content-first chrome.

The UI recedes so the count, the name, the next action can breathe.

Precision beats polish.

Tabular numerics, 4 px grid, hairline borders, consistent duration formats.

Restraint over reach.

Two font weights per surface. No emoji. No hype. No exclamation marks.

Token layer is sovereign.

A hex literal in a component is a bug. Every decision flows from main.css.

§ 02 · Palette

Signal green · sage neutrals.

Signal 500 is the electric pulse. Accent 700 is the workhorse button fill. Sage 50–200 is the paper.

chk-green

50#ECFDF5
100#D1F9E6
200#A6F1C9
300#6FE3A8
400#34D38A
500#00C176
600#059669
700#047857
800#036647
900#024E37
950#00261A

chk-sage · light-mode neutrals

50#F7F9F7
100#EEF1EF
150#E4E8E5
200#D4DAD6
300#B7BFB9
400#8C9590
500#6B7470
600#4B5350
700#353A37
800#1F2320
900#111412

Success · Checked-in

#047857 · #ECFDF5

Warning

#B4620A · #FCF1DC

Danger

#BE2F2A · #FBE9E7

Info · Expected

#0B6BD8 · #E4EFFD

§ 03 · Forest darks

The cockpit scale.

Kiosk, scanner, marketing hero. Not pure black — a forest-teal with a faint green undertone.

100#DAE9E2
200#B6CDC2
300#8AA69A
400#557C6E
500#2C5A4C
600#1F4036
700#163028
800#0F2018
900#0A1612
950#050C0A

Kiosk surface · forest-900

3 / 10

Checked in · updated just now

Live

§ 04 · Typography

Inter, two weights per surface.

Ultra-light (300) display, medium (500) headings, regular (400) body. JetBrains Mono for technical labels.

.type-display-xl

Display XL · 300

Priya Shah

.type-display

Display · 300

142 / 10

.type-h1

Heading 1 · 500

Tech conference 2026

.type-h2

Heading 2 · 500

Attendees

.type-h3

Heading 3 · 600

Live check-in

.type-h4

Heading 4 · 600

Equipment loans

.type-body-lg

Body large · 400

Doors open 30 minutes before start.

.type-body

Body · 400

Hold still — the scanner will handle it automatically.

.type-body-sm

Body small · 400

142 attendees · 10 expected this hour

.type-label

Label · 500

Expected arrival

.type-meta

Meta · 400

today 14:22 · local

.type-eyebrow

Eyebrow · mono

Section · live

.type-mono-tag

Mono tag

A3F-22-01

§ 05 · Signatures

The brand's fingerprint moves.

Signal underline

Event starts at 14:00

2 px solid signal under the single most important heading per section.

Mono eyebrow

Section · Live ops

Attendees checked in today

Wide-tracked mono above headings · 0.14em tracking, weight 600.

Atmospheric halo

Radial · once per page

Signal flash

120 ms tint-in, 280 ms fade. State changed, nothing else.

§ 06 · Spacing · radii · shadows

4 px grid, pill CTA, teal shadows.

Spacing · 4 px base

space-1

4 px

space-2

8 px

space-3

12 px

space-4

16 px

space-5

20 px

space-6

24 px

space-8

32 px

space-10

40 px

space-12

48 px

space-16

64 px

space-20

80 px

Corner radii

sm

4 px

md

8 px

lg

12 px

xl

16 px

2xl

24 px

3xl

32 px

pill

100 px

Shadows · teal-tinted

shadow-xs

shadow-sm

shadow-md

shadow-lg

shadow-xl

§ 07 · Motion

120 · 180 · 280 ms.

Fade-and-slide only. Turnstile goes green, it doesn't bounce.

dur-fast

120 ms

Hover, press, tooltip, scan flash

dur-base

180 ms

Tab change, row reveal, state change

dur-slow

280 ms

Modal open, drawer slide, route

§ 08 · Attendee state triad

Four states, one visual language.

JW

James Whitmore

Expected today · 14:00

Checked in
EB

Emma Beckett

Expected today · 14:00

Registered
OG

Oliver Grant

Expected today · 14:15

Registered
CH

Charlotte Hayes

Expected today · 13:45

Departed
HA

Henry Ashford

Expected today · 14:30

Absent

§ 09 · Marketing hero (dark)

One ethereal display, one CTA, one halo.

CheckInHub

Count everyone.
Live.

QR check-in, barcode lookups, and equipment loans in one calm ops console. Built for venues that run the door themselves.

3 checked in · 7 expected · 2m ago

§ 10 · Admin dashboard (light)

Sidebar, fluid main, right rail.

Events · live

Today

Expected

142

today

Checked in

89

right now

Walk-ins

12

today

No-shows

3

today

§ 11 · Scanner · kiosk

Dark-first where the screen is live.

Full-bleed camera capture frame · kiosk portrait card — both on forest darks.

A3F-22-01

Tech conf · 3 in

Hold still · we'll handle it

ScannerFrame

Corner brackets + scan line + top-right live chip.

Live

Kiosk · portrait

Emma Beckett

Expected today · 14:00

§ 12 · Empty · loading · error

Three states, one voice.

No spinners in content areas. No sorry-opening errors. Retry always available.

No events yet

Add your first event to start importing attendees and generating QR codes.

Loading · table

Couldn't reach the scanner

Camera permission denied. Allow in system settings and retry.

§ 14 · Voice

Plainspoken, brief, factual.

A good venue ops lead who respects your time. No hype, no emoji, no exclamation marks.

Primary action

Open check-in
Let's get scanning!

Empty state

No events yet. Create one to begin.
Oh no, it's quiet in here…

Error

Attendee not found. Check the barcode and try again.
Oops! Something went wrong.

Success message

142 attendees imported.
All done! 🎉

Field label

Expected arrival
When are they arriving?

Destructive

Delete event · this cannot be undone
Are you sure you want to do this?

Kiosk prompt

Not you?
Wrong attendee?

§ 15 · Do's & don'ts

The short table.

Topic

Do

Don't

Signal green

Small, deliberate, electric — underlines, focus rings, active dots.

Fill a whole button or card with signal green.

Accent green

Button fills, link text, pressed states.

Confuse with signal — it is the workhorse, not the pulse.

Dark surfaces

Forest-teal (#0A1612), warm green undertone.

Pure black. Warm-toned darks.

Display type

Ultra-light (weight 300) at big sizes — ethereal authority.

Heavy display type. It reads the opposite of the voice.

Status

Carry state only, paired with an icon.

Colour a whole card with status.

Shadows

Teal-tinted rgba(10, 22, 18, …).

Generic neutral-black or coloured shadows.

Motion

120 / 180 / 280 ms, ease-out, fade-and-slide.

Bounce, elastic, scale-from-zero, spring.

Pill buttons

Primary CTA pill, always 100 px radius.

Pill on secondary / utility buttons.

Tokens

Hex at the token layer; components read var(--chk-*).

Hex literal in a component <style> block.