Tech Stack

Dependencies and versions from gradle/libs.versions.toml as of v1.0.17.

Build tooling

ToolVersion
Android Gradle Plugin9.2.1
Kotlin2.4.20
Gradle wrapper9.6.0
KSP2.3.12
AGP namespace checkandroid.uniquePackageNames=false (LiteRT litert + litert-api share a package)

Android SDK

SettingValue
compileSdk37
targetSdk36
minSdk29
Java compatibility11
Daemon JVM21

UI

LibraryVersion
Compose BOM2026.09.00
Material 3(BOM-managed)
Material Icons Extended(BOM-managed)
Activity Compose1.13.0
Navigation Compose2.10.1
Lifecycle Runtime KTX2.11.0
Core KTX1.19.0

Dependency injection

LibraryVersion
Hilt2.60.1
Hilt Navigation Compose1.4.0
Hilt Work1.4.0

Camera

LibraryVersion
CameraX (camera2, lifecycle, view)1.6.2

Persistence

LibraryVersion
Room (runtime, ktx, compiler)2.8.5
DataStore Preferences1.2.1

Background work

LibraryVersion
WorkManager (runtime, testing)2.11.2

Image processing, ML, and export

LibraryVersion
LiteRT (TFLite interpreter)2.2.0
OpenCV5.0.0.1
ExifInterface1.4.2
PDFBox Android2.0.27.0

Distribution updates

LibraryVersion
Play App Update (+ KTX)2.1.0

Testing

LibraryVersion
JUnit4.13.2
AndroidX JUnit1.3.0
Espresso Core3.7.0
Compose UI Test JUnit4(BOM-managed)
WorkManager Testing2.11.2

Native

SettingValue
NDK ABI filtersarm64-v8a, armeabi-v7a
TFLite assets (noCompress)Corner: Lite / Standard / High / Accurate; gate: scanly_document_gate_float16.tflite

License disclosures

Third-party licenses listed in app/src/main/assets/settings/licenses.json. Update when adding dependencies.

View source on GitHub · Markdown