Design system

The system, in one place.

Every token, type specimen, logo variant, and component that SalahClock is built from. Live, browsable, and the single source of truth — for our team and yours.

01

Foundations

The shape of the brand in three sentences.

Mark

The five punched-disc — a glyph for the five daily prayers, opened from a solid disc by removing five circles.

Tagline

"Prayer times, in sync." — quiet, declarative, free of marketing fat.

Posture

Calm, precise, of the ummah. The brand of a well-kept mosque, not a startup.

02

Color

Deep green on paper cream. Inverted in dark mode. Every token is a CSS variable — themes can override safely.

--primary#0F2A22

Brand mark, hero text, primary CTA

--secondary#14362C

Hover & pressed states for primary

--accent#1B473A

Secondary highlights, focus ring

--background#F4F1EA

Paper cream — page background

--card#FBFAF6

Warmer white — cards & popovers

--foreground#0A0A0A

Body ink

--muted-foreground#6B6B6B

Secondary text

--border#E5E2DC

Lines, dividers, input outlines

--chart-4#9EB6AD

Sage tint — charts, illustrations

Light mode
Prayer times, in sync.
MAGHRIB · 18:42
Dark mode
Prayer times, in sync.
MAGHRIB · 18:42
03

Typography

Three families. Each with a specific job. Together they cover display, body, and the numeric grid that prayer times need.

Instrument Serif
Display
.font-brand-display
Display L · 64
Prayer times, in sync.
Display M · 48
Prayer times, in sync.
Display S · 32
Prayer times, in sync.
Manrope
Body
.font-brand-body
Body L · 18
Set up your mosque clock in 60 seconds — accurate times, your name, your style.
Body M · 16
Set up your mosque clock in 60 seconds — accurate times, your name, your style.
Body S · 14
Set up your mosque clock in 60 seconds — accurate times, your name, your style.
Body XS · 12
Set up your mosque clock in 60 seconds — accurate times, your name, your style.
JetBrains Mono
Mono / Wordmark
.font-mono
Mono · 14
MAGHRIB · 06:42 · 18:42 · ١٨:٤٢
Mono · 12 uppercase
MAGHRIB · 06:42 · 18:42 · ١٨:٤٢
Mono · 10 micro
MAGHRIB · 06:42 · 18:42 · ١٨:٤٢
Numeric grid

One width across four scripts

Prayer-time columns must align across languages. We chain four fonts behind --font-mono so Latin digits render in JetBrains Mono, Arabic-Indic in Noto Sans Arabic, Eastern Arabic-Indic in the same, and Bengali in Noto Sans Bengali — all width-matched.

Latin
06:42
Arabic-Indic
٠٦:٤٢
Eastern Arabic
۰۶:۴۲
Bengali
০৬:৪২
05

Spacing & radii

An 8-pixel base grid. Six standard radii driven by --radius. Curves stay generous; corners stay quiet.

Spacing scale
p-2
8px
p-3
12px
p-4
16px
p-6
24px
p-8
32px
p-12
48px
Radius scale
sm
md
lg
xl
2xl
3xl
06

Components

The shadcn/ui primitives we ship with. Each rendered live below — copy the snippet, paste, done.

Buttons
Inputs
Badges
DefaultSecondaryOutlineDestructive
Cards
Configurable
Every Iqamah offset, calculation method, and label can be set per mosque.
Quietly reliable
Set it up once. It keeps running. The free tier is free, forever.
07

Motion

Subtle. Dignified. Never decorative. A masjid screen shouldn't twitch.

i

Move only on action

Animations confirm user input — they don't fill silence. No ambient motion in a kiosk display.

ii

Short, eased, predictable

150–250ms with a soft ease. If the user can perceive the start and stop, it's right.

iii

Respect reduced motion

prefers-reduced-motion disables decorative motion entirely. Functional transitions are kept but shortened.

08

Voice & tone

How we write — for the dashboard, for the marketing site, for the inbox.

Yes

Calm and declarative

“Set up your mosque clock in 60 seconds.” — A fact, not a sales pitch.

No

Marketing fat

“Revolutionise your prayer experience with our cutting-edge AI-powered platform!” — Not how anyone talks in a masjid.

Yes

Specific over abstract

“30 days cached. Works without Wi-Fi.” — Concrete, measurable, useful.

No

Vague promises

“Best-in-class reliability and seamless connectivity.” — Means nothing.

Building with SalahClock?

Components and tokens live in the repo. If you’re extending the design system or proposing a change — get in touch.