Skip to content
Projects

joreilly/Confetti has 1,068 GitHub stars and 124 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 10:44 UTC. Last push 2026-11-02.

How these counts are measured

KMP/CMP GraphQL based conference project with Jetpack Compose Android, Compose for Wear, and Compose Multiplatform Desktop, Web and iOS clients along with GraphQL backend.

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Confetti 🎊

kotlin-version

Get it on Google Play Store Get it on App Store

Kotlin/Compose Multiplatform GraphQL project (backend and clients) to allow viewing of conference information for a range of conferences.

Includes:

Contributors

Related posts

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.

UI tests

There's a Maestro UI test flow shared by the Android and iOS clients, run by CI on an emulator and a simulator (e.g. maestro test -e APP_ID=dev.johnoreilly.confetti maestro/Confetti.flow).

Screenshots

Screenshot 2024-11-30 at 18 48 39

Tablet Screenshot of Confetti

Wear Screenshots of Confetti screensScreenshot 2024-03-30 at 19 46 48Walkthrough of Confetti running on Android AutoWalkthrough 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). You can query the list of conferences with conferences.id and chose what conference to query by passing a "conference" HTTP header

Explore related projects