Source: https://seerepo.com/r/team-spotube/spotube/built
Markdown source: https://seerepo.com/r/team-spotube/spotube/built.md
Description: spotube is a Kotlin repo built with Jetpack Compose, io.ktor:ktor-server-cio, koin-compose, koin-compose-viewmodel, koin-core, and 6 more.

# What is spotube built with?

spotube is a Kotlin repo built with Jetpack Compose, io.ktor:ktor-server-cio, koin-compose, koin-compose-viewmodel, koin-core, and 6 more. It stores its data in androidx.datastore:datastore, makes its content with coil-compose, jmustache, and multiplatform-markdown-renderer-m3, is tested with org.jetbrains.kotlin:kotlin-test, deploys with io.ktor:ktor-client-logging and log, and uses datastore-preferences. It has 72,310 written lines, with 18 test files.

Read on November 5, 2026, at commit 08f8f65.

Repository: https://github.com/team-spotube/spotube

## Frontend

### The base

- **[Jetpack Compose](https://seerepo.com/uses/jetpack-compose)**: 3 files

### Interface

- **filekit-dialogs-compose**
- **[JetBrains](https://seerepo.com/uses/jetbrains)**
- **dev.chrisbanes.haze:haze**: 3 files
- **io.github.vinceglb:filekit-dialogs**: 3 files
- **dev.nucleusframework:composenativetray**: 1 file
- **sh.calvin.reorderable:reorderable**: 1 file

## Backend

### The base

- **io.ktor:ktor-server-cio**: 1 file

### Data

- **datastore-preferences**
- **androidx.datastore:datastore**: 3 files

## Support

### The base

- **koin-compose**
- **koin-compose-viewmodel**
- **koin-core**
- **[lifecycle-runtime-compose](https://seerepo.com/uses/lifecycle-runtime-compose)**
- **lifecycle-viewmodel-compose**
- **lifecycle-viewmodel-navigation3**
- **navigation3-ui**
- **org.jetbrains.compose.runtime:runtime**
- **[Tokio](https://seerepo.com/uses/tokio)**

### Content

- **coil-compose**
- **jmustache**
- **multiplatform-markdown-renderer-m3**

### Testing

- **org.jetbrains.kotlin:kotlin-test**

### Deploy

- **io.ktor:ktor-client-logging**
- **[log](https://seerepo.com/uses/log)**

### Tools

- **org.jetbrains.compose.ui:ui-tooling**
- **uniffi**: 3 files

### Other

- **coil-network-ktor3**
- **desugar_jdk_libs**
- **io.ktor:ktor-client-cio**
- **jna**
- **kotlinx-coroutines-swing**
- **kotlinx-serialization-json**
- **ktor-client-okhttp**
- **org.jetbrains.kotlinx:kotlinx-coroutines-android**
- **parking_lot**
- **thiserror**
- **co.touchlab:kermit**: 17 files
- **Ktor**: 5 files
- **androidx.media3:media3-exoplayer**: 1 file
- **androidx.media3:media3-session**: 1 file

## Other repos with a similar stack

- [komi-store/komi-store](https://seerepo.com/r/komi-store/komi-store/built): Jetpack Compose, datastore-preferences, androidx.datastore:datastore, koin-core, lifecycle-runtime-compose, lifecycle-viewmodel-compose, org.jetbrains.compose.runtime:runtime, JetBrains, coil-compose, io.ktor:ktor-client-logging · [Compare](https://seerepo.com/compare/komi-store/komi-store/vs/team-spotube/spotube)
- [android/architecture-samples](https://seerepo.com/r/android/architecture-samples/built): Jetpack Compose, datastore-preferences, lifecycle-runtime-compose, JetBrains, coil-compose · [Compare](https://seerepo.com/compare/android/architecture-samples/vs/team-spotube/spotube)
- [JetBrains/compose-multiplatform](https://seerepo.com/r/JetBrains/compose-multiplatform/built): Jetpack Compose, lifecycle-runtime-compose, org.jetbrains.compose.runtime:runtime, JetBrains, coil-compose · [Compare](https://seerepo.com/compare/JetBrains/compose-multiplatform/vs/team-spotube/spotube)
- [android/nowinandroid](https://seerepo.com/r/android/nowinandroid/built): Jetpack Compose, lifecycle-runtime-compose, JetBrains, coil-compose · [Compare](https://seerepo.com/compare/android/nowinandroid/vs/team-spotube/spotube)
- [rustdesk/rustdesk](https://seerepo.com/r/rustdesk/rustdesk/built): Tokio, JetBrains, log · [Compare](https://seerepo.com/compare/rustdesk/rustdesk/vs/team-spotube/spotube)
- [debpalash/VoiceStudio](https://seerepo.com/r/debpalash/VoiceStudio/built): Jetpack Compose, lifecycle-runtime-compose, log · [Compare](https://seerepo.com/compare/debpalash/VoiceStudio/vs/team-spotube/spotube)

## Frequently asked questions

### What language is spotube written in?

spotube is written in Kotlin, with 72,310 written lines.

### What framework does spotube use?

spotube is built with Jetpack Compose, io.ktor:ktor-server-cio, koin-compose, koin-compose-viewmodel, koin-core, lifecycle-runtime-compose, lifecycle-viewmodel-compose, lifecycle-viewmodel-navigation3, navigation3-ui, org.jetbrains.compose.runtime:runtime, and Tokio.

### What database does spotube use?

spotube stores its data in androidx.datastore:datastore.

### What services does spotube use?

spotube uses datastore-preferences.

### Does spotube have tests?

Yes. spotube has 18 test files and is tested with org.jetbrains.kotlin:kotlin-test.

### Which repos have a stack like spotube's?

The ones that share most of its stack: komi-store/komi-store, android/architecture-samples, and JetBrains/compose-multiplatform.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
