SKOne — The AI-First Android UI Framework
Build beautiful Android applications faster using a unified Design System, production-ready UI Components, a powerful Form Framework, and AI-first Architecture.
implementation(platform("com.thesubodhgupta.skone:skone-bom:1.4.0-alpha01"))minSdk 24 · Kotlin 2.0.21 · Apache License 2.0
SKTheme(colorScheme = SKColorScheme.system()) {
SKTextField(
value = email,
onValueChange = { email = it },
label = "Work email",
variant = SKFieldVariant.Outlined
)
SKButton(
text = "Continue",
variant = SKButtonVariant.Filled,
onClick = ::submit
)
}Live preview
Work email
dev@thesubodhgupta.com
Design System
Token-driven colour, type, shape and spacing.
UI Components
Compose and XML parity, production ready.
Form Framework
Schema-driven, validated, accessible forms.
AI Architecture
Provider-agnostic AI surfaces and agents.
Installed in under a minute
Add the BOM, declare the artifacts you need without versions, wrap your app in SKTheme and start composing.
repositories {
mavenCentral()
}
dependencies {
// The BOM controls the version of every SKOne artifact below.
implementation(platform("com.thesubodhgupta.skone:skone-bom:1.4.0-alpha01"))
implementation("com.thesubodhgupta.skone:skone-common")
implementation("com.thesubodhgupta.skone:skone-compose")
}A framework, not a component dump
SKOne covers the layers Android teams rebuild on every project — tokens, components, forms, and now AI.
One design system, two toolkits
Compose and the View system read the same tokens, so migration is incremental and never visually breaks.
BOM-aligned releases
Every artifact under com.thesubodhgupta.skone is version-locked by skone-bom. Upgrades are one line.
Forms from schema
Describe fields and rules as JSON; SKOne renders validated, focus-managed, accessible forms.
AI as a first-class surface
Streaming, tool calls, retries and loading phases are UI contracts, not app-level glue code.
Accessible by construction
AA contrast, 48dp targets, semantics tests and reduced-motion handling ship with each component.
Enterprise ready
Theming for white-label products, RTL, large font scales and long-lived API stability guarantees.
Six layers, one contract
Each layer depends only on the layer beneath it, which is what keeps Compose and XML output identical.
AI Layer
skone-core (AI SPI)Components
skone-ui / skone-compose / skone-xmlForm Framework
skone-formsTheme Engine
skone-themeCore
skone-core / skone-common / skone-pluginPlatform
AndroidProduction components with real status
Every component declares its stability, the version it landed in, and whether XML parity exists.
JSON in. Validated Android UI out.
Describe a form once and SKOne renders it in Compose or XML with validation, masking and typed results.
JSON Schema
{
"form": "onboarding",
"fields": [
{ "id": "fullName", "type": "text", "label": "Full name",
"rules": ["required", "min:3"] },
{ "id": "email", "type": "email", "label": "Work email",
"rules": ["required", "email"] },
{ "id": "phone", "type": "phone", "label": "Phone",
"mask": "+91 00000 00000" }
]
}Generated UI
Validation & Result
SKFormResult.Success
{
"fullName": "",
"email": "",
"phone": ""
}Built for the apps nobody demos
Long-lived internal Android apps are mostly forms, tables and approvals. That is exactly what SKOne optimises for.
CRM
Pipelines, activity feeds and dense data entry.
Healthcare
Patient intake forms with strict validation and audit trails.
Finance
Statements, approvals and numeric input with locale formatting.
Logistics
Scanning flows, offline states and status timelines.
Retail
Catalogue browsing, checkout and white-label theming.
Government
Accessibility mandates, RTL and multi-language forms.
Shipping in the open
Milestones map one-to-one to GitHub milestones — nothing here is aspirational marketing.
- 1.3
SKTextField
Completed- SKTextField Stable
- Validation contract
- Maven Central publishing
- 1.4
SKButton
In Progress- Five button variants
- Loading state
- XML parity
- 1.5
SKCheckbox
Planned- Tri-state checkbox
- Row-level toggle semantics
- Form Framework binding
- 1.6
SKSwitch and surfaces
Planned- SKSwitch
- SKChip
- SKDialog
- SKSnackbar
- SKBottomSheet
- 2.0
AI Components
Planned- SKAIChat
- SKPromptField
- SKVoiceInput
- SKAISuggestion
- SKAIAgent
- Future
Platform expansion
Exploring- Charts
- Camera
- Voice
- Maps
- DataGrid
- Analytics
- AI SDK
Apache 2.0, on GitHub
Live repository numbers, straight from the GitHub API — no hardcoded vanity metrics.
What shipped recently
Release notes are written for engineers upgrading a real app, with breaking changes called out first.
Start building with SKOne today
One BOM, one theme, and a component library that behaves the same in Compose and XML.