Minimal baseball scores for android, built for light phone iii.
scorecard is written in kotlin with jetpack compose and material3 primitives. it uses ktor + kotlinx.serialization against the public MLB Stats API, with no account system, ads, analytics, or api keys. the interface is intentionally black-and-white, low-motion, and low-data friendly.
| home | live |
|---|---|
![]() |
![]() |
| pregame | stats |
|---|---|
![]() |
![]() |
- today's mlb slate with live, upcoming, and final games
- live pitch/count/base state and box score
- pregame probable pitchers and lineups
- final linescore and player stat lines
- favorite teams, low data mode, background refresh, keep-awake option
- standings and player stat search
scorecard uses the public MLB Stats API. no api key, account, ads, analytics, or third-party service SDKs.
Create local.properties with your Android SDK path:
sdk.dir=C:/Android/sdkFor release builds, add signing properties locally. Do not commit these:
scorecard.storeFile=release/scorecard-release.jks
scorecard.keyAlias=scorecard
scorecard.storePassword=...
scorecard.keyPassword=...Build debug:
.\gradlew.bat assembleDebugBuild signed release APK and Play Store bundle:
.\gradlew.bat assembleRelease bundleReleaseOutputs:
app/build/outputs/apk/release/app-release.apkapp/build/outputs/bundle/release/app-release.aab
Do not commit APKs, AABs, keystores, or local.properties to the repo.
Upload APKs/AABs separately as GitHub Release assets or through Google Play Console.



