What is thunderbird-android built with?

thunderbird-android is a Kotlin repo built with Jetpack Compose, androidx.activity:activity, androidx.navigationevent:navigationevent, activity-compose, core-ktx, and 15 more. It signs people in with net.openid:appauth and androidx.biometric:biometric, makes its content with com.github.bumptech.glide:glide, jdom2, jinja2, org.apache.james:apache-mime4j-dom, org.jsoup:jsoup, and 2 more, validates its data with json-schema-validator and jsonschema, is tested with benchmark-macro-junit4, fragment-testing, io.ktor:ktor-client-mock, junit-ktx, koin-test, and 17 more, deploys with io.ktor:ktor-client-logging, logback-classic, and timber, and uses datastore-preferences and androidx.datastore:datastore. It has 351,476 written lines, with 808 test files.

Read on November 9, 2026, at commit 467787f. Read it as markdown

Frontend

The base 3

  • Jetpack Compose622 files
  • androidx.activity:activity35 files
  • androidx.navigationevent:navigationevent2 files

Interface 20

  • Google61 files
  • Glance4 files
  • androidx.glance:glance-preview1 file
  • org.jetbrains.compose.components:components-resources
  • androidx.fragment:fragment49 files
  • androidx.appcompat:appcompat22 files
  • androidx.recyclerview:recyclerview20 files
  • androidx.preference:preference19 files
  • androidx.coordinatorlayout:coordinatorlayout5 files
  • de.hdodenhof:circleimageview3 files
  • androidx.constraintlayout:constraintlayout2 files
  • androidx.camera:camera-view1 file
8 more
  • androidx.swiperefreshlayout:swiperefreshlayout1 file
  • androidx.window:window1 file
  • adaptive
  • core-splashscreen
  • fragment-compose
  • glance-material3
  • graphics-path
  • material3

Icons 1

  • material-icons-extended

Backend

Data 2

  • androidx.datastore:datastore1 file
  • datastore-preferences

Sign-in 2

  • net.openid:appauth7 files
  • androidx.biometric:biometric1 file

Support

The base 17

5 more
  • lifecycle-runtime-ktx
  • lifecycle-viewmodel
  • lifecycle-viewmodel-compose
  • lifecycle-viewmodel-savedstate
  • navigation-compose

Content 7

Validation 2

Testing 22

  • io.ktor:ktor-client-mock
  • org.jetbrains.compose.ui:ui-test
  • junit:junit418 files
  • org.mockito.kotlin:mockito-kotlin97 files
  • org.robolectric:robolectric86 files
  • org.mockito:mockito-core40 files
  • app.cash.turbine:turbine36 files
  • androidx.test:core17 files
  • androidx.compose.ui:ui-test-junit45 files
  • androidx.test.espresso:espresso-core2 files
  • benchmark-macro-junit4
  • fragment-testing
10 more
  • junit-ktx
  • koin-test
  • kotlin-test-junit
  • lifecycle-runtime-testing
  • mockwebserver
  • rules
  • runner
  • ui-test-manifest
  • uiautomator
  • work-testing

Deploy 3

Tools 13

  • org.jetbrains.kotlin:kotlin-compiler2 files
  • Glide
  • org.jetbrains.compose.ui:ui-tooling
  • androidx.annotation:annotation124 files
  • org.jetbrains.kotlin:kotlin-gradle-plugin-api18 files
  • com.github.ajalt.clikt:clikt13 files
  • com.lemonappdev:konsist2 files
  • common
  • detekt
  • kotlinpoet
  • leakcanary-android
  • moshi-kotlin-codegen
1 more
  • profileinstaller

Other 32

  • JetBrains48 files
  • Ktor8 files
  • io.ktor:ktor-serialization-kotlinx-json3 files
  • Apache
  • io.ktor:ktor-client-cio
  • org.jetbrains.kotlin:kotlin-reflect
  • pyyaml
  • com.squareup.okio:okio28 files
  • commons-io:commons-io23 files
  • com.squareup.moshi:moshi13 files
  • com.android.billingclient:billing8 files
  • io.github.vinceglb:filekit-core5 files
20 more
  • androidx.camera:camera-core4 files
  • androidx.localbroadcastmanager:localbroadcastmanager2 files
  • net.jcip:jcip-annotations2 files
  • androidx.camera:camera-lifecycle1 file
  • androidx.webkit:webkit1 file
  • com.jcraft:jzlib1 file
  • autofill
  • billing-ktx
  • camera-camera2
  • desugar_jdk_libs
  • desugar_jdk_libs_nio
  • java-diff-utils
  • koin-android
  • kotlinx-io-core
  • kotlinx-serialization-json
  • lifecycle-viewmodel-ktx
  • okhttp
  • pynacl
  • requests
  • work-runtime

Other repos with a similar stack

Ordered by how much of its stack they share with thunderbird-android, then by stars.

Frequently asked questions

What language is thunderbird-android written in?
thunderbird-android is written in Kotlin, with 351,476 written lines.
What framework does thunderbird-android use?
thunderbird-android is built with Jetpack Compose, androidx.activity:activity, androidx.navigationevent:navigationevent, activity-compose, core-ktx, koin-bom, koin-compose, koin-compose-viewmodel, koin-core, koin-core-viewmodel, lifecycle-livedata-ktx, lifecycle-process, lifecycle-runtime-compose, lifecycle-runtime-ktx, lifecycle-viewmodel, lifecycle-viewmodel-compose, lifecycle-viewmodel-savedstate, navigation-compose, org.jetbrains.compose.runtime:runtime, and androidx.core:core.
What does thunderbird-android sign people in with?
thunderbird-android signs people in with net.openid:appauth and androidx.biometric:biometric.
What services does thunderbird-android use?
thunderbird-android uses datastore-preferences and androidx.datastore:datastore.
Does thunderbird-android have tests?
Yes. thunderbird-android has 808 test files and is tested with benchmark-macro-junit4, fragment-testing, io.ktor:ktor-client-mock, junit-ktx, koin-test, kotlin-test-junit, lifecycle-runtime-testing, mockwebserver, org.jetbrains.compose.ui:ui-test, rules, runner, ui-test-manifest, uiautomator, work-testing, junit:junit, org.mockito.kotlin:mockito-kotlin, org.robolectric:robolectric, org.mockito:mockito-core, app.cash.turbine:turbine, androidx.test:core, androidx.compose.ui:ui-test-junit4, and androidx.test.espresso:espresso-core.
Which repos have a stack like thunderbird-android's?

See inside your code, today.

Paste your repo and see it drawn, part by part: a medium one in under a minute.

Free, no account.

Or look inside SeeRepo's own →

Is it your repo? Add its badge, keep it up to date or take it down →