I've been running my own servers out of my closet right here, on my ADSL (though formerly business SDSL) line, for over 10 years. A PC on the floor is fine to start with. It can run MySQL, your framework of choice and give you something you can show people. Evidence: I ran and wrote the backend to a site, starting with two PCs on a DSL line, before ultimately being acquired by EA (stopover at Rackspace). For a couple hundred bucks (2x 3GHz 4G RAM) you can have a zillion times more flexibility than any cloudy free plan (Heroku, etc.).
An app that starts getting into the thousands of users will quickly saturate a normal ADSL line (1-2mbps up), and an SDSL/T1 connection is many times more expensive than a remote dedicated server.
Well, you move to hosting before you have thousands of users, silly! I'm talking POC/MVP stuff. My uplink is something like 384Kbit, plenty for showoff purposes.
That speed guarantees you a load time of at least 5 seconds for the average HTML page (with a single visitor), assuming best conditions. Even shared hosting, which is almost free, will fare better than that.