I am participating in a hack-a-thon and I wanted to build an API that would seamlessly download pictures from my Canon firmware directly to my online storage and photo sharing apps.
Do you mean when you plug the camera into a PC, or while you are out shooting ?
In the former case, then you just need some glue that takes images downloaded to the PC and sends them to your web storage. This doesn't require CHDK or any hacking on the camera, although you could use the CHDK PTP extension to download the files. There are already apps that do this for specific services, e.g. Picasa.
For the later, you really can't do it without extra hardware. Eye-fi is an example of this capability
http://www.eye.fi/If you don't use eye-fi or something equivalent, then you need some hardware to talk to the cameras USB port. The Camera is not a USB host, so you cannot connect to any sort of traditional network adapter. You need something host capable, like a PC or
a small embedded system. Some tablets and smartphones can act as a host, but many cannot.