Android app development in Kotlin

You need an app that runs on the Android phones and tablets your users really have, from recent models to rugged work devices. We build it in Kotlin, test it on devices we pick with you and prepare the Google Play release.

One app, thousands of phones: the real craft of Android

Android runs on thousands of models from many manufacturers, with several OS versions in use at once. Building for it is like taking a play on tour: every theater has different lights and a different stage, and the show still has to work on opening night. An app can feel great on a new flagship and crawl on the older phone one of your customers still uses. So we start by deciding with you which devices and versions to support, using your own numbers when you have them. It's an unglamorous decision, and no other one carries as much weight.

The second thing is sneakier. To save battery, the system shuts down apps running in the background, and some manufacturers add rules of their own. Think of a building manager switching off the lights without checking whether anyone's still working. A sync, a notification or a connection to a device can stop with no error message at all, while your user assumes everything went through. We design for that from day one and check how the app behaves on real hardware.

We like this terrain. It rewards patience, and a modest phone will tell you more truth about an app than the latest flagship ever will. We write in Kotlin, the language Google recommends, with Jetpack Compose, its current toolkit for building screens. Codetics is a French company working remotely, and if you also need iPhone, that means a second app, priced on its own.

What it takes for an app to hold up everywhere

A new app, an older one to modernize, or that problem only some customers hit and nobody can reproduce.

Building and modernizing

An Android screen doesn't know its size ahead of time. It has to stay readable on a small phone and on a tablet.

  • New apps in Kotlin and Jetpack Compose
  • Migrating older screens to Jetpack Compose over time
  • Layouts that adapt to phones, tablets and work devices
  • Code organized so your own developers can take it over

Working with the system

What changes from one Android version or manufacturer to the next, and rarely shows up on the phone of whoever's writing the code.

  • Background work that stays within the system's limits
  • Notifications, now that users have to grant permission for them
  • Permissions requested at the right moment, with refusals handled cleanly
  • On-device storage for offline work, with sync afterward
  • Choosing the supported versions and the test devices

Talking to hardware

One of the real pleasures of Android. It opens up easily to equipment, with constraints that vary by device. Cables get pulled, links drop, and the app has to recover.

  • Bluetooth, with reconnection and dropout handling
  • USB, when the device and the equipment support it
  • Dedicated single-purpose devices, defined during scoping

Releasing a little at a time

Google Play lets you send a new version to a share of users first. We like that, because a bug is easier to clean up when it has reached only a few people.

  • Google Play release, including any required testing tracks
  • Staged rollouts, sending a new version to a share of users first
  • Tracking down crashes and slowness on low-end devices
  • Updates to meet Google's yearly requirements

An Android app crashing on certain phones?

It works fine for you and crashes on one manufacturer's devices. Notifications stopped arriving, a background task keeps dying. These failures like to hide, and we track down the cause remotely. A one-hour diagnosis for €149 or two priority hours for €390, with a written report. How much gets fixed depends on the time and on device access. VAT not applicable, art. 293 B CGI.

Get an Express Intervention

Where Android is often the right call

People often pick it for its device choice and its hardware connections. These are examples of needs.

  • A managed fleet of work devices

    Your crews use devices you choose and control. That's a gift on Android: you finally know the hardware, so the app can be tuned for it and keep working without a connection.

  • A tablet that runs a piece of equipment

    Connected over Bluetooth or USB, it shows the machine's status and sends settings. Machine safety functions stay outside the app and need a separate scope.

  • A consumer app on Google Play

    It has to hold up on modest phones and slow connections. Nobody's going to tell you their phone is old. They'll tell you your app is slow.

  • An aging app that needs catching up

    It crashes on some devices or no longer meets Google Play's rules. We fix what's blocking you first, then modernize in stages.

Kotlin, Compose, and what connects the app to the world

A short list of what Google recommends, so someone else can pick up the app someday without starting from scratch.

  • Kotlin

    The app's language, including background tasks and communication with hardware.

  • Jetpack Compose

    For building screens that adapt to very different device sizes, without hand-drawing every case.

  • Bluetooth and USB

    For connecting the app to equipment, tested on the actual hardware, since no simulator can stand in for a real cable.

  • Google Play

    For getting the app to people, through closed testing and then a staged rollout.

Start with the devices, finish with a careful rollout

  1. 01

    Pick the devices

    Together we list the models and Android versions to support. That choice has a direct effect on the budget, since every device added needs its own testing.

  2. 02

    Test the riskiest part first

    If Bluetooth, USB or background work is involved, we try it early on real devices, before building the rest. A bad surprise costs less at the start.

  3. 03

    Build and try it out

    You get test versions on the chosen devices, and differences between models are handled within the agreed scope.

  4. 04

    Roll out gradually

    Release goes through the testing Google asks for, then a staged rollout. You get the source code and documentation.

A project to price, a failure to explain, a call to make

Android app, custom quote

Roughly €8,000 to €40,000

The quote spells out the supported devices, the hardware to connect and the store release, so everyone's talking about the same thing. VAT not applicable, art. 293 B CGI.

Send an Android brief

Express Intervention

From €149

A behavior to explain or a blocker in an existing app, at a fixed price. VAT not applicable, art. 293 B CGI.

See Express Intervention

Senior consulting day

€900

Decide which devices to support, get code reviewed or prepare a move to Jetpack Compose. VAT not applicable, art. 293 B CGI.

See the consulting day

Frequently asked questions

The ones we agree on together and write into the quote. Nobody can test every Android model, and be wary of anyone who says they can. We start from your real users, set a minimum Android version and a list of test devices, and fix first whatever affects the most people.

The biggest factors are the number of screens, the range of devices to cover, any hardware to connect, background work and the server to build. On Android, the device list is often the simplest lever for staying on budget. Plan on roughly €8,000 to €40,000 as an indicative range (VAT not applicable, art. 293 B CGI). The firm amount is in the signed quote.

Android limits background work to save battery, some manufacturers add restrictions of their own, and user settings play a part too. So your app isn't necessarily badly written. The fix is to use the mechanisms the system provides and accept that some tasks won't run at the exact moment you'd like. A diagnosis on the affected devices shows what's possible.

We recommend your own Google Play account, so the app and its data stay with you. You pay the account fees. Google verifies publishers' identities and can require a closed test before release for some newer accounts. It's better to know that early, and we build it into the schedule.
Software project

Tell us which devices your app has to run on.

A precise list or just a rough picture of your users is enough to start. We'll tell you what it involves and what it costs.

  1. 01You describe the need
  2. 02We clarify the scope
  3. 03You receive a detailed quote
Discuss a project