The WiFi.ee design system.

A shared language for people finding Wi-Fi, maintaining the directory and running venues. Explore the apps across phones, tablets, watches, desktop windows, browser panels and quick-arrival surfaces, with the right patterns for each device and task.

11 product surfaces · source inventory and adoption guidance · · English and Estonian

Current product palettes and platform patterns are documented from source. Shared semantic contracts are adoption guidance. The downloadable 14 October guide remains version 1.0.0-draft. Publishing this reference does not migrate any native app or establish device certification.

One family, different people and devices

The system covers discovery, field maintenance, venue operations and quick connection. Each product keeps the controls and density that suit its task and platform. The inventory below comes from fetched default-branch source revisions inspected on 23 October 2026.

Source evidence and configured device targets are recorded here. Store distribution, a successful native build and hands-on device validation are separate checks. Sizes below use each platform’s layout units, CSS px/rem on the web and millimetres for print.

WiFi.ee Consumer
Example café

Opening hours unknown

Wi-Fi speed not measured

View place
Nearby · Map · Saved
WiFi.ee Consumer · Schematic specimen with example data, not a running app or device screenshot. Recorded palettes are applied where available; native semantic colors use this page’s theme. Native layout and behavior must be checked in the app.

Visitors, contributors and workspace editors

WiFi.ee Web

Phone, tablet and desktop browsers

Discover places, read details, join a network and maintain the directory through the web workspace.

Navigation and input
Responsive site navigation, directory list/map, detail pages and authenticated workspace.
Appearance
Light and dark web themes; Tailwind action color references.
bg #f8fafcfg #0f172a
Type, geometry and device checks
Type and icons
System sans stack; 14px semibold shared buttons.
Space and shape
72rem content shell; pill buttons; responsive content and scrollable data tables.
Acceptance checks · required
Validate keyboard navigation, zoom, reflow, focus and browser screen readers.

Inspected revision: 1b0c2610ba17

People looking for a place to connect

WiFi.ee Consumer

iPhone, iPad, Android phones and adaptive tablet layouts

Find nearby Wi-Fi, explore a map, save places and read connection information while travelling.

Navigation and input
Native tabs and a right-side drawer; a persistent right sidebar on tablet-width layouts.
Appearance
Blue/slate light and dark palettes; in-app light, dark or system preference. Native app configuration still sets light appearance.
background #f8fafctextPrimary #0f172aaccent #1d4ed8
Type, geometry and device checks
Type and icons
React Native system type; area titles 17/600, metadata 13. Platform icons adapt to Apple and Android.
Space and shape
Tablet threshold 768; 16/18/24 layout gutters; 1280 home and 1040 detail width caps. Area cards use radius 16 and padding 16.
Acceptance checks · required
Check VoiceOver and TalkBack, text scaling, safe areas, rotation, tablet resizing and permission-denied states on devices.

Inspected revision: 60273a8b721c

Directory maintainers and field editors

WiFi.ee Admin

iPhone and iPad; Android and web targets configured

Review, create and edit areas and chains; maintain technical details, publication status, images and infrastructure records.

Navigation and input
Authenticated drawer workspace; drawer width follows the window, capped at 300.
Appearance
Teal, warm off-white and dark green text. One source palette; a dark adapter is still an adoption task.
background #f3f4edtext #10201baccent #0f766e
Type, geometry and device checks
Type and icons
System type; section titles 18/700, descriptions 14/20, field labels 14/600.
Space and shape
Section cards: radius 24, padding 18. Inputs: radius 16. Primary actions: minimum height 50.
Acceptance checks · required
Check long forms with the keyboard open, resizable windows, validation errors, drafts, sync progress and unsaved edits.

Inspected revision: ec711adadd46

Venue owners and café staff

WiFi.ee Café

iPhone and iPad; Android and web targets configured

Update guest Wi-Fi details, venue information and captive-portal posters, then share Quick Login with guests.

Navigation and input
A focused owner workspace with a window-aware drawer capped at 300.
Appearance
Brown and cream, with coffee, sage and brass accents. One source palette; no implemented dark palette is recorded.
background #f7f0e6text #2a211caccent #9f4f2d
Type, geometry and device checks
Type and icons
System type; section titles 18/800, descriptions 14/20, action labels 15/700.
Space and shape
Section cards: radius 18, padding 20, a 7-unit ticket stripe. Inputs: radius 16. Primary actions: minimum height 50.
Acceptance checks · required
Check on-site photo and poster workflows, keyboard avoidance, guest credentials, ownership boundaries and failed saves.

Inspected revision: e30053f9aea1

People checking nearby places at a glance

WiFi.ee Watch

Apple Watch / watchOS

Read distance-ranked nearby places, refresh and open a place in Maps.

Navigation and input
SwiftUI NavigationStack and a carousel list; short location, radius and refresh controls.
Appearance
Semantic SwiftUI foregrounds, cyan/blue/black background and material surfaces. Preserve system rendering.
Type, geometry and device checks
Type and icons
Native headline, body and caption2 styles; rounded system text and monospaced distances.
Space and shape
Material cards with continuous radius 12 and padding 8; compact rows rather than a scaled phone screen.
Acceptance checks · required
Check small and large watch sizes, Crown scrolling, VoiceOver, large text, denied location and stale cached results.

Inspected revision: 3fda236cd462

Desktop users and people switching networks

WiFi.ee for Mac

Mac windows, menu bar and Settings

Browse places with list/detail navigation, inspect network information and use the menu-bar companion.

Navigation and input
Native split views, toolbar search, Settings and MenuBarExtra; refresh with Command–Shift–R.
Appearance
System semantic foregrounds and materials, blue connected-network and yellow bookmark accents.
Type, geometry and device checks
Type and icons
SwiftUI semantic text styles, native controls and SF Symbols.
Space and shape
Current main window minimum 1180 × 760; Settings 700 × 520. Area thumbnails 84 × 84 with radius 14.
Acceptance checks · required
Check full keyboard use, menu-bar popovers, VoiceOver, focus between panes and the actual minimum window size.

Inspected revision: 59fb1c711722

People researching places while browsing

WiFi.ee Browser Companion

Chrome and Edge side panels, Firefox sidebar and Safari popup; browser options pages

Discover places, read Quick Login details, save bookmarks and hand off to the website or native apps.

Navigation and input
Discover, Saved, Suggest and Tools tabs. Chromium panel, Firefox sidebar and Safari popup adapters; separate account and optional Mac bridge states.
Appearance
Consumer-like light and dark palettes are copied into CSS, not imported from a shared package.
bg #f8fafctext #0f172aaccent #1d4ed8
Type, geometry and device checks
Type and icons
System sans 13px/1.45; compact metadata and monospace credentials need legibility review.
Space and shape
Minimum panel width 320px; 12px content gutters and radius 16px cards.
Acceptance checks · required
Check panel resize, keyboard focus, zoom, sign-in expiry, absent native bridge and permission-denied states. Browser packages require separate release checks.

Inspected revision: 56dbda815469

Guests arriving from a venue link or QR code

Quick Login / App Clip

iPhone App Clip; browser join-link fallback

Identify the venue and exact public network, choose a network if needed and request a connection.

Navigation and input
Focused join flow with network selection, connecting, already connected, success, unavailable and retry states.
Appearance
System background and secondary-system surfaces with native blue actions.
Type, geometry and device checks
Type and icons
System type with a prominent venue title and selectable SSID text.
Space and shape
SwiftUI join screen: 22 horizontal padding, radius 18 network card, primary join action minimum height 56.
Acceptance checks · required
Check real invocation links, Unicode SSIDs, network permission prompts, cancelled joins and truthful connection feedback on an iPhone.

Inspected revision: 60273a8b721c

People checking nearby or connected Wi-Fi without opening the app

Widgets / Live Activities

iOS home and lock screens; Dynamic Island source variants

Show a nearby place or recent connection context and link into the full app.

Navigation and input
Widget small, medium and rectangular accessory source variants; Live Activity compact, minimal and expanded layouts.
Appearance
Semantic system colors and explicit stale-connection text. Live Activity plugin is configured; Widget source presence does not establish target integration or distribution.
Type, geometry and device checks
Type and icons
SwiftUI headline, caption and footnote styles; lock-screen tinting can remove product colors.
Space and shape
System-managed widget containers; concise content for each family. Live Activity uses capsule actions.
Acceptance checks · required
Validate target wiring, entitlement/build integration, privacy, stale timelines, tinted rendering and supported devices before claiming release readiness.

Inspected revision: 60273a8b721c

Venue staff preparing signs and guests scanning them

Quick Login print

A6 portrait paper, camera and phone handoff

Make a printable network card with a Wi-Fi QR code and bilingual joining instructions.

Navigation and input
Physical scan into a connection flow; the paper itself has no interactive navigation.
Appearance
Print uses a white paper surface and retained logo, independent of the screen theme.
Type, geometry and device checks
Type and icons
Helvetica / Helvetica Bold PDF text; special SSID text can be rasterized to retain its spelling.
Space and shape
105 × 148mm PDF; dark QR modules on white. Keep the QR quiet zone, scale and print legibility.
Acceptance checks · required
Print at actual size, scan with multiple phones, check quiet zones and verify exact SSID and password encoding.

Inspected revision: 1b0c2610ba17

Venue website owners and their visitors

WiFi.ee Embed

Embedded badges inside third-party websites

Present concise venue Wi-Fi information inside the host website.

Navigation and input
A compact embedded badge with a link back to the venue information.
Appearance
Light/dark neutral surfaces and blue actions. Attribution is not a network security certificate.
Type, geometry and device checks
Type and icons
System font with venue, access conditions, SSID and available speed information.
Space and shape
10px corner radius; content must fit narrow host columns without inheriting unreadable styles.
Acceptance checks · required
Check narrow containers, host-page theme combinations, accessible links, missing fields and unavailable requests.

Inspected revision: 1b0c2610ba17

The older Meteor website is a separate legacy implementation. Archived prototypes are historical references. No dedicated Wear OS, TV or spatial-computing app is established by this inventory; those need an explicit product scope and adapter before being added as supported platforms.

Adapt to the device and the task

Shared meaning travels between products. Navigation, typography, target size and information density adapt to the available window and input. The following are system requirements for adoption and acceptance, rather than claims that every app already passes them.

Phones · touch first

Prioritize one task, safe areas, reachable actions and a list alternative to maps. Keep form fields visible above the keyboard. Use platform targets: aim for at least 44pt on Apple touch screens and 48dp on Android. Check large text and screen readers.

Tablets, folding and resizing

Use the current window width, not the device name. Preserve selection and unsaved work through rotation, split-screen and size changes. Expand discovery to a sidebar/grid; keep owner and editor forms readable instead of stretching every field. Test both touch and a hardware keyboard.

Desktop and browser panels

Provide visible focus, keyboard shortcuts where appropriate, pointer feedback and predictable pane navigation. A browser side panel has a narrow budget even on a large monitor. The Mac app currently has a larger minimum window; a smaller-window adapter remains separate work.

Watch, widgets and Live Activities

Use a glanceable title, distance or connection context and one useful next action. Respect Crown scrolling, platform text styles, tinted widgets and system-managed refresh. Distinguish nearby, cached, connected and stale. Never infer a current connection from an old widget entry.

Quick arrival and physical signs

Keep the venue and exact network visible. Explain the next step and permission result. Preserve Unicode, case and spaces in SSIDs. Test QR scanning on actual printed output, with a readable fallback if the scan or App Clip invocation fails.

Accessibility in every adapter

Pair color and icons with text. Support labels, errors, loading, disabled states, reduced motion and text scaling. Web targets need semantic HTML and keyboard checks; React Native and SwiftUI need their own accessibility APIs and device testing. Passing this documentation page’s browser audit does not certify the native apps.

Platform references: Apple · Accessibility · Android · Accessible apps.

Shared contracts, platform adapters

Standardize the role and meaning before sharing implementation. The proposed semantic layer maps into web CSS, React Native theme objects and SwiftUI system styles. It does not require every platform to render the same button or use the same navigation.

Component responsibilities · adoption specification
ContractShared meaningPlatform adaptation
AreaCard / AreaRowVenue identity, access conditions, evidence age, bookmark and unknown values.Web card/list; phone card; tablet grid; compact Watch row; Mac list/detail.
Action / FieldNamed action, pending/disabled/result state; field label, value, help and error.HTML semantics, React Native accessibility props or native SwiftUI controls; platform keyboard and target sizes.
Status / MeasurementKeep publication, venue hours, network availability, payment, connection and security evidence separate.Text plus icon; show value, unit and time. Unknown is distinct from zero, closed and unavailable.
Async / PermissionIdle, loading, cached/offline, empty, denied, error and success; preserve edits on retry.Inline web/native feedback and platform permission prompts; condensed stale/error text on glance surfaces.
QuickLogin / HandoffExact SSID, public credential visibility, venue context and honest join outcome.Web join link, iPhone App Clip, optional Mac bridge or printable QR; validate each route separately.

Adoption sequence: retain the existing identity → map source tokens to semantic roles → implement one adapter per product → validate on its devices → record the released revision. Admin and Café dark themes, a shared runtime token package and full native accessibility acceptance remain adoption work.

A familiar identity

WiFi.ee

Keep the established orange-and-dark badge intact. Use “WiFi.ee” in prose and “wifi.ee” for the domain. Preserve the logo’s proportions, colors and lettering. The available master here is a 100 × 32 pixel PNG; recover a vector or larger original before print or large-format use.

Orange supports recognition. Blue identifies consumer actions and web focus, teal belongs to Admin and brown to Café. Native system surfaces retain their platform semantics. These product palettes do not describe network-security ratings.

The web adapter · colors

The neutral colors below are extracted from the web stylesheet. Swatches follow the site’s selected theme. Use the appearance control in the header to switch between light and dark. Tailwind action colors retain their CSS token names so their current values are not confused with older hex approximations.

Canvas

--bg

Light: #f8fafc
Dark: #030712

Text

--fg

Light: #0f172a
Dark: #e2e8f0

Surface

--surface

Light: #ffffff
Dark: #0f172a

Muted surface

--surface-muted

Light: #f1f5f9
Dark: #1e293b

Border

--border

Light: #e2e8f0
Dark: #334155

Light actions

blue-600 / white
Hover: blue-700
Active: blue-800

Dark actions

blue-400 / slate-950
Hover: blue-300
Active: blue-200

Use text as well as color for open, closed, unknown, loading and error states. A green state or orange badge must describe specific evidence, rather than imply that every listed network is secure.

The web adapter · typography

The web uses the platform system sans stack, with no custom brand font configured. Buttons use 14px semibold type. Content sizes vary by context; the shared draft proposes a common scale rather than claiming every product already uses it.

Find a place to connect.

Useful information comes first.

Names, access conditions and up-to-date information help people decide where to go.

Õ Ä Ö Ü Š Ž · õ ä ö ü š ž

42.5 Mbps · 09:00–18:00 · 1.2 km

The numbers above are type specimens, not live measurements. Use sentence case, clear action verbs and tabular numerals for comparable values. Keep units and dates visible, and allow longer Estonian labels to wrap.

The web adapter · layout and shape

Current web shell

72rem maximum content width, 1.25rem side gutters and 1.5rem vertical main padding. At narrow widths, stack content and keep dense tables inside a named, keyboard-focusable scroll region.

Current buttons

Pill shape, 20px horizontal and 8px vertical padding, 150ms feedback and a visible 2px focus outline. Primary, secondary, ghost, light, inverse and small variants share the same base class.

Spacing guidance · draft

4 · 8 · 12 · 16 · 20 · 24 · 32 · 48 · 64 px

The shared guide proposes a 4px base rhythm. Existing products retain contextual spacing and geometry until their adapters are adopted.

Accessible interaction

Prefer 44px touch targets where space permits. Keep focus visible, preserve labels and error text, respect reduced motion, and check content at 200–400% zoom. Automated checks are only part of accessibility validation.

Try the web components

These actions use the same global button classes as the website. Use Tab to see focus, activate Save with Enter or Space, filter the example cards, and reset the preview. The disabled action stays unavailable.

Interactive examples only. No venue data is changed or saved to your account.

The example is not saved.

Filters the two illustrative cards below. Clear the field to show both.

2 example place(s)

Example café

Hours unknown

Measured speed
Not measured

Example library

Open · illustrative

Measured speed
Not measured
Button recipe
<button type="button" className="btn btn-primary">
  Save example
</button>

Use a button for an action and a link for navigation. Name each control, expose toggle state with aria-pressed, and announce changes without moving focus.

Patterns that preserve meaning

  • Unknown is a real state. Missing opening hours do not mean closed, and no speed measurement does not mean zero Mbps.
  • Keep venue status, Wi-Fi availability, payment conditions and security assessment separate. Show the source and date where a claim depends on evidence.
  • Loading, offline, empty and failed states need distinct text and a useful next action. Preserve entered information when retrying a request.
  • Use the retained logo for identity and simple icons for navigation. A lock or signal icon alone is not proof of a security audit.

Read the measured website-quality report

Download and use

The kit includes the original guide, tokens, source inventory and component contracts. Its Consumer, Admin and Café previews illustrate proposed shared adapters. Downloading the kit does not change any application’s theme or native release.