# Confetti 🎊 ![kotlin-version](https://img.shields.io/badge/kotlin-2.4.10-blue?logo=kotlin) [Get it on Google Play Store](https://play.google.com/store/apps/details?id=dev.johnoreilly.confetti) [Get it on App Store](https://apps.apple.com/us/app/confetti/id1660211390) Kotlin/Compose Multiplatform GraphQL project (backend and clients) to allow viewing of conference information for a range of conferences. Includes: - Compose Multiplatform (CMP) clients (Android, Desktop and Web) - Compose for Wear OS client (contributed by https://github.com/yschimke) - Android Auto and Automotive OS (contributed by https://github.com/cmota) - [Apollo GraphQL](https://github.com/apollographql/apollo-kotlin) based Kotlin Multiplatform shared code - GraphQL backend ### Contributors ### Related posts * [Swift/Kotlin ViewModel alignment in a Kotlin Multiplatform project](https://johnoreilly.dev/posts/swift-kotlin-viewmodel-kmm-comparison/) * [Using KMM-ViewModel library to share VM between iOS and Android](https://johnoreilly.dev/posts/kmm-viewmodel/) * [Consuming Compose for iOS in a SwiftUI application](https://johnoreilly.dev/posts/swiftui-compose-ios/) * [Adding embeddings/RAG support to the Koog-based AI agent in Confetti](https://johnoreilly.dev/posts/confetti-koog-rag/) ### Building Use Android Studio/IntelliJ to build/run the Android client (requires a recent Android Studio release supporting AGP 9.1). Requires Xcode 26 or later for the iOS client (Apple silicon only — the Intel simulator target was removed). JDK 17+ is required. ### Screenshots Screenshot 2024-11-30 at 18 48 39 ![Tablet Screenshot of Confetti](https://user-images.githubusercontent.com/6302/227476725-edd577f5-2abd-4660-a777-decef84fbb9b.png) Wear Screenshots of Confetti screens Screenshot 2024-03-30 at 19 46 48 Walkthrough of Confetti running on Android Auto Walkthrough of Confetti running on Android Automotive ### Gemini functionality Gemini based talk recommendations for particuar conference are included in the mobile clients (if `gemini_api_key` configured in `local.properties`). Desktop client allows free entry of query. Screenshot 2024-02-25 at 09 58 16 ### API The API is available at https://confetti-app.dev/graphql ([IDE](https://confetti-app.dev/playground)). You can query the list of conferences with `conferences.id` and chose what conference to query by passing a `"conference"` HTTP header