Build mini-apps that feel like one product.
A complete design system for the Rahhal product family — typed tokens, accessible Radix components, bilingual EN + AR with full RTL, and a single phone-OTP sign-in. All shared. All consistent.
Everything a mini-app needs, already wired.
Stop re-deriving the basics for every new app. Compose, theme, localize, and ship.
TS-typed tokens
Color, typography, and radius defined in TypeScript and emitted as CSS variables. One source of truth — no drift between apps.
Bilingual + RTL by default
EN and AR ship together. Logical Tailwind utilities flip layouts automatically — no separate RTL stylesheets.
Phone-OTP, once
@rahhal/auth implements the iOS → web session handover and standalone OTP flow exactly once. Apps just install and wrap.
Built for AI agents
Every page is served as Markdown. Agents fetch /skill.md and /components/<slug>.md to read the same source of truth humans browse.
Cross-platform tokens
Web hex + iOS / Android equivalents emitted alongside CSS so designers and native engineers stay in sync.
Independent deploys
Each mini-app owns its own deploy config and lives on its own subdomain. The design system keeps the family coherent.
Compose, don't reinvent.
Install @rahhal/ui, import what you need, ship. No theme overrides, no RTL retrofits, no auth scaffolding.
- Per-component subpath imports keep your bundle tight.
- Every component is themed via design tokens — no hardcoded colors.
- Logical Tailwind utilities mirror layouts under RTL automatically.
Try it before you build it.
58+ components across 9 categories — all themed, all RTL-safe, all yours.
Buttons
Six variants, four sizes, full-rounded by default.
SearchBar
Capsule input with leading magnifier and clear affordance.
FilterChip
Toggleable pills for multi-select category filters.
Switch
Native-feeling on/off control with full keyboard support.
Badge
Inline labels for status, counts, and tags.
Color tokens
Primary, secondary, accent, muted — themed light + dark.
Built for the next generation of tooling.
Every catalog page has a Markdown twin. Agents fetch /skill.md to discover everything, then /components/<slug>.md for prop-level detail. The same source of truth humans read here.
Use the Rahhal design system at https://marsam.rahhal.app to build a mini-app for me. First, fetch https://marsam.rahhal.app/skill.md for the full component inventory and conventions. For any component you use, fetch https://marsam.rahhal.app/components/<slug>.md for its props and usage. Always compose UI from @rahhal/ui first. Support both EN and AR with full RTL by default. What I want to build: <describe your mini-app idea>
Start building today.
Open-source, batteries-included, and growing with every Rahhal mini-app that ships.