12 languages, one team
We pick a language for what a problem needs, not out of habit. Here is each one we work in, what we build with it and the tools around it.
- Kotlin
Kotlin is the language our Android work starts in.
- Java
A lot of Android software that people rely on every day is written in Java.
- Swift
Swift is how we build for iPhone and iPad.
- Objective-C
Many apps that have been on the App Store for a long time still run on Objective-C.
- Dart
Dart and Flutter let one team ship the same app to Android and iOS from a single codebase.
- TypeScript
TypeScript is the language we use when an app, its admin panel and its API should agree on the same data shapes.
- JavaScript
Not every page needs a framework.
- Python
Python is the language we reach for when a task is about data or repetition.
- Go
Go is our choice for backend services that need to stay simple, predictable and light on server resources.
- C#
C# is the language of our game code.
- C++
Some parts of an app have to run as close to the hardware as possible.
- SQL
Every planner entry, recurring rule and saved record ends up in a database.