Published: September 18, 2025
29
39
1.2k

Do we know why the Tesla iOS app is 760 MB? Can it be made smaller? Does a bear...nvm This is a fun one, b/c the Tesla app does something not many other apps do πŸ”¬ Taking a look at Tesla's app size + exploring

Image in tweet by Emerge Tools

Immediately what jumps out is that ~30% of the app is `Tesla.pck` (241.2 MB) A .pck is a file format for bundling Godot assets (scenes, scripts, shaders, etc) Out of all the app's that we download, this is *by far* the largest .pck included in an app

Image in tweet by Emerge Tools

We can see Godot included in all of Tesla's plugins + the main app target This is how Tesla creates 3d model interactivity in the app (remember this b/c we'll be coming back to the plugins)

Image in tweet by Emerge Tools

The cool thing about a .pck (and the internet) is that we can actually decompile it to see raw assets + project structure. We can even open it in Godot πŸ‘€

Image in tweet by Emerge Tools
Image in tweet by Emerge Tools

That's the Godot functionality - how could Tesla make the app smaller? Remember how Godot was shipping in each Plugin? There are 5 plugins in Tesla for a total of 188.3 MB The contents of each Plugin appear to be ~nearly~ identical

Image in tweet by Emerge Tools

We can see this pretty clearly in the diff between v4.47.0 and v4.42.0 when the app increased by 50 MB Each plugin added the same three `SwiftModules_*.bundle` files + had similar increases in binary size

Image in tweet by Emerge Tools
Image in tweet by Emerge Tools

A better way to look at it - the deep red is duplicate nodes (there are quite a few) So ~190 MB (25%) of Tesla is coming from Plugins, which could be significantly reduced by using a dynamic framework

Image in tweet by Emerge Tools

Other area for improvement - Tesla (uses RN) has a 96.6 MB main.jsbundle, but 26.7 MB is "debug info" The debug info is meant to provide better stack traces, but it doesn't need to be in prod b/c you can provide it separately to crash reporters

Image in tweet by Emerge Tools

A few other areas Tesla can reduce size - Image optimization - removing unneeded binary metadata - minifying localizations

Image in tweet by Emerge Tools

Some links if you're looking to dive in more: Using Dynamic Frameworks https://www.emergetools.com/bl...

gdsdecomp, the Godot decompiler we used https://github.com/GDRETools/g...

And lastly... now that we have our feet under us at @getsentry we're going to get back to active here so plz tag us if you want to know about an app! You might even see a pretty different UI soon πŸ‘€πŸ‘€πŸ‘€

@emergetools You’re cool

@emergetools They mix RN and Godot? Interesting

@emergetools Whoah! Please do LG Thinq next πŸ™ I only use it to know when my washer is done to put clothes in the dryer, 500mb! πŸ€¦β€β™‚οΈ

Image in tweet by Emerge Tools

@emergetools @Tesla optimize your shit. Tell @Twitter to do the same

@emergetools Can you do the @Starlink app?

@emergetools Because it got normal nowadays to bloat the software. The normal McDonald’s app has almost 400mb. No idea which spyware is installed on that app but 400mb for some coupons is crazy

Image in tweet by Emerge Tools

@JustinGorya seems like we may have our next app breakdown πŸ‘€

@emergetools I love these kinds of deep dives. Have a passion for doing those myself as well!

@emergetools lol wut

@emergetools @grok summarize this brochacho

@emergetools Really cool breakdown, followed for some more :)

@cchayer thanks for the follow πŸ™

@emergetools Love the breakdown, but what would be total size reduction if all mentioned improvements were done?

@joaofogoncalves hard to say exactly, but this might be a good proxy https://x.com/emergetools/stat...

@emergetools Love these breakdowns!

Share this thread

Read on Twitter

View original thread

Navigate thread

1/32