**Your concern may be unfounded.** Yes, the stock ESP32 app is about 0.5 megabytes, which is 50% of the default 1MB app partition. However, any code you write, or any libraries you add to it are not going to consume the other 50% that quickly. In my experience the code you add will barely register at all. When I started a project some time ago - that was my first impression, too ("whoa, 500kB for just `hello world', wtf?"). But after two years and many, *many* thousands of lines of code, it has grown to only 73% of the allowable space, and the project is finished. What I mean is that you should worry about partitioning and insufficient space only after you actually exhaust it. I'd suggest keeping the default partitioning, *especially* if you're considering using the OTA update functionality - it is a very useful thing if you can use it in your specific case.