# 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](https://docs.thunkable.com/snap-to-place/projects/assets#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="projects/assets" %}
[assets](https://docs.thunkable.com/snap-to-place/projects/assets)
{% 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](https://docs.thunkable.com/snap-to-place/spreadsheet), [Cloudinary](https://docs.thunkable.com/snap-to-place/media-db), and [Firebase](https://docs.thunkable.com/snap-to-place/realtime-db), as well as our own [cloud variables](https://docs.thunkable.com/snap-to-place/variables#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](https://docs.thunkable.com/snap-to-place/functions)
* Use [loops](https://docs.thunkable.com/snap-to-place/control#repeat-an-event) to perform repetitive tasks
* Use [generics](https://docs.thunkable.com/snap-to-place/any-component-blocks) as much as possible
