---
title: "FRP at Kickstarter and Kotlin"
description: "Kickstarter’s open-source iOS and Android apps use Functional Reactive Programming (FRP) patterns to keep views simple and move mutation and complex logic into thoroughly tested ViewModels. The post describes how this discipline helped a developer ramp up quickly on the Android codebase after working on Kickstarter’s backend and payments teams. It also introduces the Android team’s interest in Kotlin, a JetBrains language that runs on the JVM, while noting that dependency concerns had prevented conversion of core functionality. For a 2017 Functional Swift Conference talk in Berlin, the author used Kotlin to add a simple Android screen following the team’s established FRP patterns, presenting the implementation as live coding and an introduction to FRP and Kotlin."
---

# FRP at Kickstarter and Kotlin

[Kickstarter](https://yomu.fyi/company/kickstarter) · Julie · Nov 6, 2017

**Type:** Tutorial

## Summary

Kickstarter’s open-source iOS and Android apps use Functional Reactive Programming (FRP) patterns to keep views simple and move mutation and complex logic into thoroughly tested ViewModels. The post describes how this discipline helped a developer ramp up quickly on the Android codebase after working on Kickstarter’s backend and payments teams. It also introduces the Android team’s interest in Kotlin, a JetBrains language that runs on the JVM, while noting that dependency concerns had prevented conversion of core functionality. For a 2017 Functional Swift Conference talk in Berlin, the author used Kotlin to add a simple Android screen following the team’s established FRP patterns, presenting the implementation as live coding and an introduction to FRP and Kotlin.

## Context

Kickstarter’s mobile teams use FRP to write clear code with minimal bugs, keep views simple, test ViewModel logic thoroughly, and reduce reliance on manual UI testing. The Android team was interested in Kotlin but had not converted core functionality because of concerns about dependencies.

## Approach / What changed

The author pushed Kotlin further in the Android app by adding a simple screen that followed Kickstarter’s established FRP patterns. The implementation was presented as a live-coding talk at the 2017 Functional Swift Conference in Berlin.

## Takeaways

- FRP places mutation and complex logic in ViewModels, which Kickstarter thoroughly tests while keeping views simple.
- Following FRP patterns across the mobile codebase helped the author ramp up quickly on Kickstarter’s Android team.
- Kickstarter had added some Kotlin classes to its Android app, but dependency concerns had blocked conversion of core functionality.

**Tags:** [Android](https://yomu.fyi/topic/android), [Architecture](https://yomu.fyi/topic/architecture), [Testing](https://yomu.fyi/topic/testing)

- Source: [Kickstarter](https://medium.com/kickstarter-engineering/mvvm-and-kotlin-617ed4dbea7)
- Source URL: https://medium.com/kickstarter-engineering/mvvm-and-kotlin-617ed4dbea7
- Ingested by Yomu: 2026-08-30T12:07:34.834Z

[Read original post](https://medium.com/kickstarter-engineering/mvvm-and-kotlin-617ed4dbea7)
