
Declarative DSL for crafting haptic feedback patterns with simple timing and intensity primitives; integrates with reactive state and effects, enabling expressive, composable vibration sequences.
Declarative Haptic Feedback Library for Compose Multiplatform
Jindong provides a declarative DSL for haptic feedback in Compose Multiplatform applications(supports Android and iOS). Built on Compose Runtime, it lets you define complex haptic patterns with a simple, intuitive API.
Jindong[tɕindooŋ] (진동) is the Korean word for "vibration". We chose this name to reflect the library's core purpose, as it's a familiar term for the Korean creators of this library.
Jindong(trigger) {
Haptic(100.ms)
Delay(50.ms)
Haptic(50.ms, HapticIntensity.STRONG)
}Add Jindong to your build.gradle.kts:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.compose-jindong:jindong-core:<version>")
implementation("io.github.compose-jindong:jindong-compose:<version>")
}
}
}| Platform | Minimum Version |
|---|---|
| Android | API 26 |
| iOS | iOS 13 |
Add the vibration permission to your AndroidManifest.xml:
<uses-permission android:name="android.permission.VIBRATE" />@Composable
fun App() {
var count by remember { mutableStateOf(0) }
JindongProvider {
Jindong(count) {
Haptic(100.ms)
}
Button(onClick = { count++ }) {
Text("Tap me!")
}
}
}For full documentation, visit compose-jindong.github.io/jindong.
Copyright 2026 compose-jindong
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Declarative Haptic Feedback Library for Compose Multiplatform
Jindong provides a declarative DSL for haptic feedback in Compose Multiplatform applications(supports Android and iOS). Built on Compose Runtime, it lets you define complex haptic patterns with a simple, intuitive API.
Jindong[tɕindooŋ] (진동) is the Korean word for "vibration". We chose this name to reflect the library's core purpose, as it's a familiar term for the Korean creators of this library.
Jindong(trigger) {
Haptic(100.ms)
Delay(50.ms)
Haptic(50.ms, HapticIntensity.STRONG)
}Add Jindong to your build.gradle.kts:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.compose-jindong:jindong-core:<version>")
implementation("io.github.compose-jindong:jindong-compose:<version>")
}
}
}| Platform | Minimum Version |
|---|---|
| Android | API 26 |
| iOS | iOS 13 |
Add the vibration permission to your AndroidManifest.xml:
<uses-permission android:name="android.permission.VIBRATE" />@Composable
fun App() {
var count by remember { mutableStateOf(0) }
JindongProvider {
Jindong(count) {
Haptic(100.ms)
}
Button(onClick = { count++ }) {
Text("Tap me!")
}
}
}For full documentation, visit compose-jindong.github.io/jindong.
Copyright 2026 compose-jindong
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.