We saw several smart locks and wanted to replicate their features. We 3D printed a harness to hold a servo motor overtop of our deadbolt, so no need to replace the lock. We then used Bluz to control the servo from the Spark Cloud, this allows us to save battery life because it is Bluetooth LE, but it can still work all the time with the Bluz gateway.
We wrote a node.js app to hand out keys. So there is a homeowner app and a guest app. The guest can request keys and the homeowner can grant or revoke them. Once the guest has a key, they can control the servo and lock/unlock the door.
Because this is bluz, we can use a gateway in the home and the smart lock will always be online. And because this is bluz, it will get amazing battery life. By adding a simple transistor to shut off the servo, the battery life would be months with this type of device, something hard to get with a Wifi connected product.
You can see a demo of the whole project in this video: