Expressus
A Kotlin Multiplatform sample app of a coffee machine, used as a playground for UI state management with Compose and SwiftUI. It illustrates ideas from related articles.
Share on XLicense: Apache-2.0
Overview
Expressus is a Kotlin Multiplatform sample app of a coffee machine. It serves as a playground for UI state management and illustrates ideas from a set of related articles. The shared module uses a Model-View-Intent architecture, a finite state machine to validate state transitions, and state restoration. The UI is built with Compose Multiplatform on desktop, Jetpack Compose on Android, and SwiftUI on iOS.
Key features
- Model-View-Intent architecture in a shared module
- Finite state machine that validates state transitions
- State restoration for both UI state and FSM state
- UI state emitted through Kotlin Flow and Swift Combine
- Compose Multiplatform, Jetpack Compose and SwiftUI front ends
Best for
Kotlin Multiplatform developers who want a small worked example of MVI with a state machine across Android, iOS and desktop. It is a sample, not a library.
- Upstream
- GuilhE/Expressus
- Fork on GitHub
- Guo-astro/Expressus
- Upstream stars
- 114
- Category
- Developer tools and infrastructure
- Language
- Kotlin
- License
- Apache-2.0
- Forked
- 2022-08-14
- Sync status
- Diverged from upstream
More in Developer tools and infrastructure
Creates full-stack project scaffolds from compatible stack parts, reducing setup and integration work. Use the CLI, browser builder, or MCP server to generate a project.
Forked 2026-10-09Last synced 2026-10-11License: MITDeveloper tools and infrastructureGitHub
A Python SDK for adding local face detection, landmark extraction, and face comparison to applications on Windows and Linux, without sending images off-device.
Forked 2026-10-09Last synced 2026-10-11No license declaredDeveloper tools and infrastructureGitHub
Whole-disk file search for macOS that finds files by name quickly, handles typos, and searches indexed file contents. Best for local desktop search from the CLI or Rust crate.
Forked 2026-10-08Last synced 2026-10-11License: MITDeveloper tools and infrastructureGitHub
REA helps reverse engineers inspect apps, binaries, and runtime behavior with agent workflows. It is used to understand how a feature works, find evidence, and build a similar capability in a project.
Forked 2026-10-08Last synced 2026-10-11License: MITDeveloper tools and infrastructureGitHub