Kickstarter is open sourcing the code for its Android and iOS apps

Kickstarter is pulling back the curtain on its app development process. This morning, the crowdfunding platform is taking to its engineering blog to announce that it will be open sourcing the code for its native Android and iOS apps, in keeping with the company’s goal of giving startups a bit of a leg up.

According to the company, inspiration for the idea arrived around the same time it became a Public Benefit Corporation, in September of last year, playing into that larger idea of giving something back to the larger development community.

The code will be made available starting today through the company’s Github repo, giving interested parties access to the process behind the work that goes into engineering and designing of the apps.

“We kind of felt like, as a team, we were doing some unique things,” Kickstarter engineer Brandon Williams told TechCrunch ahead of the launch. “Engineers don’t often get a chance to share their work.”

Among the more useful aspects available are access to the functional programming that was used to write the apps, offering up some insight into the creation and prototyping processes used to bring them to life.

Here are a few of the offerings the company is highlighting in particular for developers,

  • A Screenshots directory holds nearly 500 screenshots of various screens in every language, device and edge-case state that we like to make sure stays true. For example, a backer viewing a project in French here, or a creator looking at their dashboard in German and on an iPad here.
  • We use Swift Playgrounds for iterative development and styling. Most major screens in the app get a corresponding playground where we can see a wide variety of devices, languages and data in real time. Browse our collection of playgrounds here.We use view models as a lightweight way to isolate side effects and embrace a functional core.
  • We write these as a pure mapping of input signals to output signals, and test them heavily, including tests for localization, accessibility and event tracking.