westfarn f8bf590080 Disable CI auto-build until an Actions runner is available.
Push and pull request triggers queue runs that sit forever with no runner. Keep the job and allow manual dispatch only so it can be turned back on later.
2026-10-25 06:05:41 -07:00

Hesychia Android (native)

Kotlin + Jetpack Compose client for Hesychia, reusing chat_backend APIs.

Epic: chat_web_app#111

Capacitor WebView shell remains in chat_web_app/llm-fe as the interim Play track — see docs/ADR-002-capacitor-coexistence.md.

Stack

  • Kotlin, Jetpack Compose, Material 3
  • Hilt, Navigation Compose, DataStore
  • Retrofit + OkHttp (+ WebSocket next)
  • RevenueCat Android SDK (IAP Workstream E)
  • Min SDK 23 / target SDK 35
  • Application id: ai.hesychia.chat

Docs

Doc Purpose
ADR-001 Architecture choices
ADR-002 Play id + Capacitor sunset
SCREEN_INVENTORY Routes / flows to mirror
OPEN_QUESTIONS Spike leftovers
design-tokens/hesychia.tokens.json Shared visual tokens

Prerequisites

  • JDK 17+
  • Android SDK Platform 35 + build-tools
  • Android Studio (Ladybug+) recommended
  • Set sdk.dir in local.properties (gitignored), or open once in Android Studio
sdk.dir=/path/to/Android/Sdk

Build

./gradlew :app:assembleProdDebug
./gradlew :app:testProdDebugUnitTest
# APK → app/build/outputs/apk/prod/debug/

Flavors:

Flavor REST / WS applicationId
prod (default) production chatbackend.aimloperations.com ai.hesychia.chat (+ .debug for debug)
beta beta.chatbackend.aimloperations.com ai.hesychia.chat.beta (+ .debug)

Signing (release)

Never commit keystores. Create keystore.properties (gitignored) at repo root:

storeFile=/absolute/path/to/aiml-chat-upload.jks
storePassword=...
keyAlias=aiml-chat-upload
keyPassword=...
./gradlew :app:bundleProdRelease

Monetization

Native Play uses RevenueCat only (no Stripe Checkout). Align with chat_web_app/llm-fe/MONETIZATION.md:

  • appUserID = Django user pk string
  • Provider badge: revenuecat + PLAY_STORE
  • chat_web_app — product / Capacitor / design source
  • chat_backend — REST + WS + RevenueCat webhooks
  • Future: chat_ios (SwiftUI twin epic)
S
Description
No description provided
Readme
213 KiB
0 Stars 2 Watchers 0 Forks
Languages
Kotlin 100%