The team behind the apps
Eight disciplines, twelve programming languages and one shared way of working. Every project gets the mix of skills it needs, drawn from the same team.
Disciplines
Each discipline owns part of an app’s life, and each works closely with the others from the first week of a project.
- Android engineeringNative Android apps, camera and file features, NDK modules and Play Console releases.KotlinJavaC++
- iOS engineeringSwiftUI and UIKit apps, StoreKit, extensions and App Store submissions.SwiftObjective-C
- Cross-platformFlutter and React Native apps with native modules where plugins fall short.DartTypeScriptKotlinSwift
- Game developmentPrototypes, 2D physics, level tools and performance tuning for mobile games.C#C++Kotlin
- BackendAPIs, authentication, processing queues, push notifications and monitoring.GoTypeScriptPythonRust
- Product designUser flows, prototypes, visual design, design systems and store graphics.JavaScriptTypeScript
- Quality assuranceTest plans, device testing, automation suites and release readiness checks.KotlinSwiftPython
- Release managementStore listings, data safety forms, staged rollouts and maintenance cycles.JavaScriptPythonObjective-C
Who writes what
The languages each discipline works in day to day. Scroll sideways on smaller screens to see the full table.
| Discipline | Kotlin | Java | Swift | Objective-C | C++ | Dart | TypeScript | C# | Go | Python | Rust | JavaScript |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Android engineering | Yes | Yes | No | No | Yes | No | No | No | No | No | No | No |
| iOS engineering | No | No | Yes | Yes | No | No | No | No | No | No | No | No |
| Cross-platform | Yes | No | Yes | No | No | Yes | Yes | No | No | No | No | No |
| Game development | Yes | No | No | No | Yes | No | No | Yes | No | No | No | No |
| Backend | No | No | No | No | No | No | Yes | No | Yes | Yes | Yes | No |
| Product design | No | No | No | No | No | No | Yes | No | No | No | No | Yes |
| Quality assurance | Yes | No | Yes | No | No | No | No | No | No | Yes | No | No |
| Release management | No | No | No | Yes | No | No | No | No | No | Yes | No | Yes |
How a project team is put together
A project team is sized to the scope in the statement of work. It normally includes a lead engineer for each platform involved, a product designer during the design phase, and quality assurance from the first development cycle rather than the last.
You get one named point of contact who runs the project day to day, joins every review and writes the progress updates. Engineers and designers join calls when their part of the work is being discussed, so questions reach the person who can answer them.
What we value
Apps that ask for less
We collect only the data an app needs. Our own scanners process documents on the device, and Coral Plunge collects no data at all.
Code you own
Repositories, store listings and cloud accounts sit in your organisation from the start, so the product never depends on us to keep running.
Plain, written communication
Decisions, estimates and trade-offs are written down in language a non-engineer can follow.
Explore further
Have an app in mind?
Tell us what it should do. We will reply by email with questions and next steps.