OKA UI Design System

December 2, 2025 (2mo ago)

OKA UI - UI design system and Svelte UI Components Library built for Vietnamese people.

OKA UI design system was made in creation of the OKA UI Svelte component library built for the Appta software platform, offering a collection of customizable, accessible, and themeable components.

TIMELINE
Aug 2025 - Dec 2025
ROLE
Design Engineer

OKA Thumbnail


Why OKA UI Exists

In the current modern era of technology and web development, where every product looks the same, OKA team envisioned a new look for the web that remains modern standards while still being able to bring users back to the good old days with dynamic theming system (not just light and dark).

OKA UI was designed with these values in mind:


Visual Language — Natural & Communicative

The visual goal of Oka UI is flat yet tactile:

OKA Demo UI

Tactile Feedback

Interactive elements follow a physicality principle.

This makes interactions feel intentional rather than decorative.

Soft Geometry

Hierarchical Spacing

Dense dashboards remain readable without visual noise.

OKA Grid


The Main Challenge: Designing a dynamic theming system

Our UI system needs to be able to offer a wide range of theme selection that once selected, brings a whole new atmosphere to the UI, that means color changes would happen everywhere, not just on the "brand" color like most other systems out there do, while still maintaining high performance and small package size.

Utilities Token Layer

We approach this problem by designing a utilities tokens (variables) set that should be the sole source of reference and application for all components and UI elements (including SVG paths). And then for each of these utilities token, a color value would be given based on which theme is applied. With this utility-theme mapping, we were able to flexibly apply a whole new set of colors based on theme changes.

At the :root level of CSS we have a default theme that also act as a fallback for any unlikely failure.

OKA CSS Variables

Variables Naming Convention

Naming convention for css variables/design tokens has always been a huge headache and pain points for both creators and users alike. This is a huge communication issue that if not well-resolved, could render the system unusable in the future. Understanding this, we put many hours into discussion.

We decided to prioritize human-readability and simplicity, believing this would be the most communicative for both designers and developers alike.

The convention consists of only 2 parts:

  1. What should this be used for: content, surface, stroke, actions...
  2. How should this be used: tells hierarchy, boldness and target

OKA Token Naming


Theme Sets

We currently offers 11 themes in total, with a <ThemeSwitcher/> components provided for switching between themes.

OKA Theme Switcher

Themes are grouped into different families for better visual hierarchy and selections. Each themes are defined with a set of json meta data and a css variables set. We plan to extend the themes sets even further in the future, going straight into the 2x.

OKA Themes

The “Feng Shui” Theme Set

Nord: Low contrast easiness for the eyes.

Neutral: High contrast simplicity.

Default UI.


Typography & Readability

Typography is designed for clarity first, expression second.

Inter is chosen as the main typeface as we aim for readability and long daily usage.

Variable Fonts

Variable font usage allows subtle weight shifts for hover and active states without layout shifts.


Accessibility as a Design Constraint

Accessibility is embedded into the token architecture, not layered on afterward.

Contrast Enforcement

Semantic guarantees ensure combinations like:

remain WCAG-compliant, regardless of theme.

Visible, Not Loud

While the system uses ARIA labels and headless state management (via bits-ui), the visual layer ensures accessibility is felt:

Focus remains visible on any background without visual clutter.


Explore Oka UI in Practice

A design system only makes sense when experienced directly.

Documentation

The docs focus on mental models and system architecture, not just APIs.

→ https://oka-ui-sv.vercel.app/docs

Live Demo Pages

Realistic, data-heavy dashboards designed to stress-test theming, spacing, and readability.

→ https://oka-ui-sv.vercel.app/demo-pages