Custom bootloader for pure .HEX upload

I'm wondering if this is possible.

The goal: To upload sketches to embedded arduinos from iOS/Android apps via a serial Bluetooth connection.

Resetting the arduino to trigger the bootloader is no problem, using one of the bluetooth modules GPIO. Then I'd like to send my compiled sketch to the device. To keep things reasonably simple and to use the same technique between iOS and android apps, this should be a one-way data transfer and not require anything more than sending a file by serial. I think it's likely possible to adapt avrdude to my apps in some way, but I feel this would be overly complicated.

So, is this even possible? Could a custom bootloader be made to receive a sketch in this manner? Any other ideas that would accomplish the same goal are appreciated!