Hi there @stoyleg!
Your post is on such an important topic that I think many of us have just stumbled around finding solutions to.
My app is a massive SaaS product - probably 30-40k lines of HTML. I have it all as a single index.php page which references about 20 SSI includes, which all load when the user goes to index.php. I've had lots of people tell me I'm crazy but it all works just fine... takes a few seconds to load the page then it all flies along.
So for source code organisation I just have those 20 SSI files, and about 200 Server Actions, neatly organised into folders.
The single most important thing for performance is to optimise what you get from the server to be exactly what you wish to display on the page. So for example if you are displaying orders which also need to reference tables of contacts, suppliers, customers, invoices, payments etc then create a view in your database called 'view_orders' and gather together all the required text to display in that view. What really slows things down is when you go and get each of those tables and assemble the data to display on the client side. I've been there and it hurts. I'm going through my app now and optimising everything with a view and often getting 100x speed improvements!
The details of how to do the views are below.
Good luck!
Antony.