Frankly you could just use Salesforce and build the extension in-house.