He's talking about making it small, but I don't see any number in the blog post. How small are we talking about? What's the size of the flash? And what's the size of the bundled HTML?
A program will contain 1MB in libraries alone, if you use most of the features of the chip (network, WiFi, gpio, encryption, certificate storage, flash NVS, logging, TCP servers ... And common things in the standard library).
If your program has absolutely no logic but just links to all the libraries, you'll have a roughly 1MB program.
Consider the first 1MB of flash reserved for the chips use (wear levelling stats, partition into, it's info, boot info, etc) and got some key/value pair storage.
That leaves you 3MB (program as to be at the 1MB address as that is where the bootloader will load it from) for you program as long as you don't need OTA updates.
If you need OTA updates, which you will in consumer applications that use https, then you need at least two OTA partitions in flash each equal to the size of the program.
This limits the program to 1MB if you're on a 4MB flash, and to 2MB if you're on 8MB flash (with an extra separate 1MB partition for data). The chip supports up to 16MB flash, so with a bespoke layout and PCB you can have up to a 5MB program with OTA updates.
If you don't care about OTA, you can use all but the first 1MB of your flash for program code if you so desire, although it would be pretty pointless to have that much functionality in a chip that has 384kB of RAM.