Skip to content

otf-kit/sdk

Repository files navigation

otf-ui

One component API for web, iOS, and Android.

Stop burning AI tokens on broken UI code. Pre-built, accessible, production-tested components your coding agent extends β€” instead of regenerating the same buttons, forms, and dialogs (half of them broken) on every prompt. <Button> from @otfdashkit/ui (React Β· Radix Β· Tailwind v4) and <Button> from @otfdashkit/ui-native (Expo Β· Tamagui) share the same name, props, and look. Build once, ship to the browser and to the App Store.

@otfdashkit/ui version @otfdashkit/ui-native version npm downloads MIT License Discord

platforms React 19 Tailwind v4 Expo SDK 54

Storybook Β· Live native showcase Β· Component gallery Β· Docs


The tool that spun up your MVP β€” Lovable, Bolt, v0, Replit, Rork β€” keeps regenerating the same components on every prompt, and the bill grows as the project does. otf-ui is the component layer your agent should build on instead: one opinionated, accessible API that renders truly native on every platform β€” no Platform.select, no second design system, no createTamagui boilerplate. Wrap Radix + Tailwind v4 on the web and Tamagui on native, import the same names everywhere.

Features

  • 🧩 One API, three platforms β€” identical component names and props on web, iOS, and Android. Learn it once.
  • πŸ“¦ 200+ components β€” 137 web (Button β†’ Dialog β†’ DataTable β†’ charts β†’ a Tiptap editor) + 80 native primitives, all keyboard- and screen-reader-accessible.
  • 🎨 17 themes, zero config β€” flip a single attribute. Shared design tokens are CSS variables on web and native tokens on mobile.
  • ⚑ Copy-paste or npm install β€” pnpm add @otfdashkit/ui, or copy the source via the CLI registry. Your code either way.
  • πŸͺΆ Wrap, don't reinvent β€” opinionated APIs on top of battle-tested primitives, not yet-another-from-scratch widget set.
  • πŸ€– Built for AI coding agents β€” structured JSDoc + tested prompts so Claude Code and Cursor scaffold real screens instead of guessing.
  • πŸ†“ MIT β€” own the source, eject anytime, no lock-in.

See it live

Everything below is open and clickable β€” no signup, no install required to look around.

Storybook β€” every component, every variant Native showcase β€” on a real phone
otf-ui Storybook otf-ui native showcase
ui.otf-kit.dev
The full web component library β€” props, variants, and a11y states, live.
native-preview.otf-kit.dev
Phone-framed showcase with a per-screen Expo Go QR β€” scan and land on the same component on your device.

Prefer browsing by category? The component gallery has all 200+ with copy-paste install per component.

Quick start

# Web (Next.js / Vite)
pnpm add @otfdashkit/ui @otfdashkit/tokens

# Native (Expo)
pnpm add @otfdashkit/ui-native @otfdashkit/tokens
// Web β€” app/layout.tsx (Next.js) or src/main.tsx (Vite)
import '@otfdashkit/tokens/web.css'
import '@otfdashkit/ui/styles'
import { Button, Card, Input } from '@otfdashkit/ui'

export function SignInCard() {
  return (
    <Card>
      <Input placeholder="Email" />
      <Button variant="primary" size="lg">Continue</Button>
    </Card>
  )
}
// Native β€” same names, same props. That's the whole point.
import { Button, Card, Input } from '@otfdashkit/ui-native'

Wrap the app root once (<OTFProvider> on native, the CSS imports on web) and you're done. No createTamagui config, no token wiring.

Theming

17 themes ship in the box β€” Slate, Warm, Cosmic, Terminal, and 13 more. Switch with one attribute:

<html data-theme="cosmic">                  // web
<OTFProvider defaultTheme="cosmic">         // native

Tokens live in @otfdashkit/tokens and resolve to CSS variables on web and native design tokens on mobile β€” the same palette, both targets.

Built for AI coding agents

otf-ui is designed to be read by the agents you already code with. Every component ships structured JSDoc and a prompts.md with tested prompts, so Claude Code, Cursor, and friends generate working screens instead of hallucinating props.

"Build a settings page with a profile form, a danger zone, and a theme picker β€” use @otfdashkit/ui."

…produces real, accessible components with correct props, because the model can read the source and the prompt library.

What's in the box

Package Platform What
@otfdashkit/ui Web 137 components β€” Button, Card, Form, Dialog, Sheet, Drawer, Command palette, Toast, Calendar, DataTable, BarChart/AreaChart, Tiptap editor, ImageCrop, and 120+ more. Built on Radix + Tailwind v4.
@otfdashkit/ui-native iOS Β· Android 80 primitives β€” same names and props as web, one <OTFProvider> at the root.
@otfdashkit/tokens Both 17 themes β€” CSS vars on web, native tokens on mobile.
@otfdashkit/cli Mobile Registry installer for heavy-peer components (Skia, Reanimated, MMKV) β€” copies source, no forced peer deps.
@otfdashkit/eslint-plugin-otf-design Tooling Catches hex literals and default Tailwind blues/purples/grays at lint time.

Component categories: Layout Β· Forms & inputs Β· Overlays (dialog/sheet/drawer/popover) Β· Data (tables, trees, charts) Β· Navigation Β· Feedback Β· Media Β· Editors. Browse them all in Storybook or the gallery.

Documentation

Contributing

Issues, ideas, and PRs are welcome. Found a missing variant or an a11y gap? Open an issue or send a PR β€” see CONTRIBUTING.md. Every component ships the same contract: implementation + Storybook story + a11y test + prompts.md + README + export.

If otf-ui saves you time, a ⭐ helps other builders find it.

Community

Join the Discord for help, feature requests, bug reports, and release announcements.

Status

v0.1.x β€” alpha. APIs may shift before 1.0; pin exact versions if you ship to production.

Building a whole app?

The SDK is free, MIT, and stands entirely on its own β€” that's the point. If you'd rather not wire the backend from scratch, OTF also offers optional full-stack kits (a SaaS dashboard, a fitness app, a booking app): the same SDK dropped into a complete, owned starting point β€” auth, database, payments, deploy scripts, and an ai/ config your agent reads to extend it. Live demos and details at otf-kit.dev.

License

MIT β€” free forever for every SDK package. You own the source; eject anytime.

The commercial OTF kits ship under a per-developer license β€” details at otf-kit.dev.

Built by otf-kit.dev β€” the cross-platform SDK + kits for builders who ship with AI agents.

About

OTF SDK β€” @otfdashkit/ui , @otfdashkit/ui-native , @otfdashkit/tokens, @otfdashkit/cli. MIT licensed.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages