<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou" -->

---
title: Adding a Firebase Extension to a Jetpack Compose app
description: Part eight of a tutorial series building the 'Make It So' Android app with Jetpack Compose covers Firebase Extensions - pre-packaged backend solutions that add...
canonical: https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Adding a Firebase Extension to a Jetpack Compose app | daily.dev
og:description: Part eight of a tutorial series building the 'Make It So' Android app with Jetpack Compose covers Firebase Extensions - pre-packaged backend solutions that add...
og:url: https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou
og:image: https://api.daily.dev/og/posts/bUNBj9UOU.png
og:image:alt: Adding a Firebase Extension to a Jetpack Compose app
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Adding a Firebase Extension to a Jetpack Compose app

**[Firebase](https://daily.dev/sources/firebase-blog)** · 11 min read · 0 upvotes · 0 comments

## Summary

Part eight of a tutorial series building the 'Make It So' Android app with Jetpack Compose covers Firebase Extensions - pre-packaged backend solutions that add features without maintaining custom server code. The guide walks through installing and configuring the Delete User Data Extension to automatically remove a user's Firestore, Cloud Storage, and Realtime Database data when their account is deleted, replacing a fragile client-side deletion implementation. Steps include upgrading to the Blaze billing plan, configuring Auto Discovery or explicit paths depending on data model, choosing recursive deletion mode, and removing the now-unnecessary client-side deletion code.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2023/06/adding-firebase-extension-to-jetpack-compose-app>

## Questions this post answers

### How do I automatically delete a user's Firestore data when they delete their Firebase Authentication account?

Install the Delete User Data Extension from the Firebase Extensions Hub, which triggers automatically when a user account is deleted via Firebase Authentication and removes their data from Cloud Firestore, Cloud Storage, and Realtime Database. Configure it with Auto Discovery to search fields like userId, or specify explicit paths such as users/{UID} with recursive deletion mode for subcollections.

_daily.dev surfaces guides like this for developers wiring up backend data cleanup with Firebase Extensions._

### What are the downsides of deleting user data client-side instead of using a backend extension?

Client-side deletion risks incomplete cleanup if connectivity drops or the app crashes mid-operation, potentially deleting only some documents or deleting the account while data remains. It can also be slow for users with many documents, forcing them to wait. Running deletion as a backend extension avoids these interruption risks and keeps the client code simpler.

_Developers weighing client-side versus backend data cleanup approaches can find comparisons like this on daily.dev._

## Similar posts on daily.dev

- [Using Flutter with Firebase: A Developer's Guide](https://daily.dev/posts/using-flutter-with-firebase-a-developer-s-guide-jbpavk3vl) · Flutter Community · 0 upvotes · 0 comments
- [Authentication made easy: Building a secure e-commerce shopping cart with Firebase](https://daily.dev/posts/authentication-made-easy-building-a-secure-e-commerce-shopping-cart-with-firebase-pnlz7lysc) · Firebase · 0 upvotes · 0 comments

---

Tags: [#android](https://daily.dev/tags/android), [#kotlin](https://daily.dev/tags/kotlin), [#firebase](https://daily.dev/tags/firebase), [#jetpack-compose](https://daily.dev/tags/jetpack-compose)

[View this post on daily.dev](https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Adding a Firebase Extension to a Jetpack Compose app","url":"https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou"},"datePublished":"2026-08-23T12:21:00.085Z","dateModified":"2026-08-23T12:35:58.102Z","description":"Part eight of a tutorial series building the 'Make It So' Android app with Jetpack Compose covers Firebase Extensions - pre-packaged backend solutions that add...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/cedfa4f1fcfaf07fef1762e9b3656298?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/cedfa4f1fcfaf07fef1762e9b3656298?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"android,kotlin,firebase,jetpack-compose","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Adding a Firebase Extension to a Jetpack Compose app"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/adding-a-firebase-extension-to-a-jetpack-compose-app-bunbj9uou#faq","mainEntity":[{"@type":"Question","name":"How do I automatically delete a user's Firestore data when they delete their Firebase Authentication account?","acceptedAnswer":{"@type":"Answer","text":"Install the Delete User Data Extension from the Firebase Extensions Hub, which triggers automatically when a user account is deleted via Firebase Authentication and removes their data from Cloud Firestore, Cloud Storage, and Realtime Database. Configure it with Auto Discovery to search fields like userId, or specify explicit paths such as users/{UID} with recursive deletion mode for subcollections. daily.dev surfaces guides like this for developers wiring up backend data cleanup with Firebase Extensions."}},{"@type":"Question","name":"What are the downsides of deleting user data client-side instead of using a backend extension?","acceptedAnswer":{"@type":"Answer","text":"Client-side deletion risks incomplete cleanup if connectivity drops or the app crashes mid-operation, potentially deleting only some documents or deleting the account while data remains. It can also be slow for users with many documents, forcing them to wait. Running deletion as a backend extension avoids these interruption risks and keeps the client code simpler. Developers weighing client-side versus backend data cleanup approaches can find comparisons like this on daily.dev."}}]}
```

