Kickstarter for Android is the open source native Android application that powers the Kickstarter crowdfunding platform.
The project demonstrates how to build a production Android app using functional reactive programming patterns. It implements RxJava extensively within view models to handle business logic, separating concerns between UI and data flow. The architecture relies on reactive streams to manage asynchronous operations and state changes across the application.
Developers should adopt this project as a reference implementation for Android architecture and reactive programming practices. It suits teams building complex Android applications that benefit from functional reactive patterns and want to study how a mature production app structures its codebase. The project is explicitly positioned as an educational resource, with the maintainers sharing their methodology, wins, and mistakes as they work in the open. Those interested in how Kickstarter's native team approaches Android development will find concrete examples of view model implementation and RxJava usage throughout the codebase.
The project maintains active development focused on improving the app for users according to its roadmap. Contributions are welcomed with the understanding that the primary goal remains shipping improvements to the product rather than serving as a general-purpose framework. The team enforces a code of conduct emphasizing respect and constructive feedback in all interactions.