# Jetpack Compose migration for Nimbus Audio

> Migrated a large Android app from XML views to Jetpack Compose screen by screen.

URL: https://freelance.adscaled.media/freelancers/ryan-mitchell/work/jetpack-compose-migration-for-nimbus-audio

Migrated a large Android app from XML views to Jetpack Compose screen by screen. A case study by Ryan Mitchell, Senior Android Engineer (Kotlin).

## Challenge

The Android app of Nimbus Audio, a headphone brand, had 120 screens in XML with a lot of duplicated layout code. New features took twice as long as on iOS, and cold start was slow.

## Solution

I introduced a Compose design system, migrated screens incrementally starting with the most-changed ones, and profiled startup to remove blocking work from the main thread.

[View Ryan Mitchell’s profile](https://freelance.adscaled.media/freelancers/ryan-mitchell)

---

Taskora is a demo product by AdScaled. Profiles, jobs, reviews and payments are fictional; no real money moves.

## Site navigation

- [Find talent](https://freelance.adscaled.media/talent.md)
- [Find work](https://freelance.adscaled.media/jobs.md)
- [Categories](https://freelance.adscaled.media/categories.md)
- [How it works](https://freelance.adscaled.media/how-it-works.md)
- [Pricing](https://freelance.adscaled.media/pricing.md)
- [Trust & Safety](https://freelance.adscaled.media/trust.md)
- [Blog](https://freelance.adscaled.media/blog.md)
- [About](https://freelance.adscaled.media/about.md)
- [Contact](https://freelance.adscaled.media/contact.md)
- [Help center](https://freelance.adscaled.media/help.md)
- [Privacy Policy](https://freelance.adscaled.media/privacy.md)
- [Public API documentation](https://freelance.adscaled.media/api/docs)
