Kotlin Multiplatform project with Jetpack Compose, Compose for Desktop and SwiftUI clients (and using Ktor for remote API requests and Room for persistence). Currently running on:
- Android (Jetpack Compose)
- iOS (SwiftUI)
- Desktop (Compose for Desktop)
Related posts:
- Using Realm persistence library in a Kotlin Multiplatform project
- Using new Swift Async Algorithms package to close the gap on Combine
- Displaying Charts on iOS, Android, and Desktop using Compose Multiplatform
This project currently uses iOS16 features (e.g. Swift Charts) so requires use of at least Xcode 14.
![Screenshot 2023-09-14 at 17 07 32](https://private-user-images.githubusercontent.com/6302/268040286-86582f04-60e7-480c-97ae-908c31dfd321.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAzOTYwNDAsIm5iZiI6MTcyMDM5NTc0MCwicGF0aCI6Ii82MzAyLzI2ODA0MDI4Ni04NjU4MmYwNC02MGU3LTQ4MGMtOTdhZS05MDhjMzFkZmQzMjEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDdUMjM0MjIwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWNkNDg1MjE5NjVkNDVkNWU2YTYyMmQ5NzA0NTgwNTI1YTU1ZTY0YWVhMGNjZmNlYzMzNjM1YzE0NTRlNzc3NiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.O7KEhdCBcvCzNi7c5Kc5YxPO1keVb0uYIvm_qgZFLJ4)
![Screenshot 2024-04-06 at 11 03 15](https://private-user-images.githubusercontent.com/6302/320198194-37fef7a1-190d-4c14-acdd-5dafc11e8e30.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAzOTYwNDAsIm5iZiI6MTcyMDM5NTc0MCwicGF0aCI6Ii82MzAyLzMyMDE5ODE5NC0zN2ZlZjdhMS0xOTBkLTRjMTQtYWNkZC01ZGFmYzExZThlMzAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDdUMjM0MjIwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTM4YTNlMThmZmQxOWJkNGIwMjkyYmEzYjNmNDBhY2EyZTFhYWE1ZWM4Zjg0M2E4MDljNGZlNzY2ZGU1NDVmMCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.FDbCHecJ07RPJ5zGaiQLXEhqW4R6BfNARF1ec1gbunQ)
![Screenshot 2024-04-06 at 11 03 36](https://private-user-images.githubusercontent.com/6302/320198195-53cba0ea-1175-4349-ab1f-9aba4f8f0066.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAzOTYwNDAsIm5iZiI6MTcyMDM5NTc0MCwicGF0aCI6Ii82MzAyLzMyMDE5ODE5NS01M2NiYTBlYS0xMTc1LTQzNDktYWIxZi05YWJhNGY4ZjAwNjYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDdUMjM0MjIwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Y2YxOGUzZmFlYjQzODQzYjMyNGU5NTJiMTFhMDJlN2MyZDAzZmNmMGNkNjNlNmQwYmJkMzZhNWY4MjM1NzM4MCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.mkfW75H_qtIgDdsuPcLOHiNji2cfg6MjgyBS5TGgEmI)
- PeopleInSpace (https://github.com/joreilly/PeopleInSpace)
- GalwayBus (https://github.com/joreilly/GalwayBus)
- Confetti (https://github.com/joreilly/Confetti)
- BikeShare (https://github.com/joreilly/BikeShare)
- FantasyPremierLeague (https://github.com/joreilly/FantasyPremierLeague)
- ClimateTrace (https://github.com/joreilly/ClimateTraceKMP)
- GeminiKMP (https://github.com/joreilly/GeminiKMP)
- MortyComposeKMM (https://github.com/joreilly/MortyComposeKMM)
- StarWars (https://github.com/joreilly/StarWars)
- WordMasterKMP (https://github.com/joreilly/WordMasterKMP)
- Chip-8 (https://github.com/joreilly/chip-8)