# Managing Storage

The size of your Thunkable project is generous, but finite. Due to size limitations for Android and iOS, all apps made in Thunkable have a maximum allowance of 50mb for all [assets](/snap-to-place/projects/assets.md#limits).

Total account storage for free accounts is smaller, while paid subscribers will have a more generous allowance of account storage, but in either case you will want to make the most out of every megabyte.

### Project Size

You can find a table of project sizes here:

{% content-ref url="/pages/-LbZUS-SBnost5k-y2f7" %}
[Project Assets and Sizes](/snap-to-place/projects/assets.md)
{% endcontent-ref %}

### Cloud Storage

Depending on when you need an asset, it might make sense to store it in the cloud instead. Using cloud storage in your app will not have any impact on your local project size. Thunkable provides multiple third-party integrations, including [Airtable](/snap-to-place/spreadsheet.md), [Cloudinary](/snap-to-place/media-db.md), and [Firebase](/snap-to-place/realtime-db.md), as well as our own [cloud variables](/snap-to-place/variables.md#app-stored-and-cloud-variables) for smaller pieces of data.

### Refactoring your App

Sometimes there's simply no option left other than to go back through your app and make it more efficient. Some tips for refactoring your app include:

* Reduce block count by creating [functions](/snap-to-place/functions.md)
* Use [loops](/snap-to-place/control.md#repeat-an-event) to perform repetitive tasks
* Use [generics](/snap-to-place/any-component-blocks.md) as much as possible


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thunkable.com/snap-to-place/managing-storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
