Turn your existing cameras into a home security system, complete with motion detection, alerts, and remote viewing.
Motion Defense is a desktop application to help you setup and manage a home security system.
Concept
Several months ago, I was going on vacation for a couple weeks. I wanted to be able to check in on my apartment while I was gone to make sure I hadn't been robbed and that my cats were getting along fine. After evaluating a number of free and paid desktop applications for turning my webcams into security cameras, I was unhappy with the options available. Some of the free applications were more limited than I'd hoped. Many paid applications were also limited, or were more expensive than I could justify purchasing.
The vacation came and went, but I threw together a basic proof of concept before my next trip. Around the same time, I started talking to people about it and found many also had needs for security systems that made full CCTV systems and the other limited or expensive options already on the market impractical.
So I kept building until a more production-ready application emerged.
Features
- Mix and match
Most webcams, other USB cameras, and IP cameras are compatible, so go ahead and use them all. - Stay in the loop
Receive alerts when your cameras detect movement via email, with SMS and webhook support coming soon. - Watch on the go
Securely view live feeds of your cameras from anywhere in the world on any mobile device or computer. - Set it and forget it
Rest easy knowing that Motion Defense will continue to run on custom schedules while you're away.
View and manage your security cameras.
Manage and view all of your connected cameras in one app, and customize their recording schedules, motion sensitivities, and storage options.
View live feeds from anywhere.
Watch your pets from work, monitor your baby from the comfort of your couch, or check in on your home from the beach. Watch live video feeds from anywhere, securely.
Get alerts when motion is detected.
Instant email notifications with a configured mobile device make it easy to have peace of mind even when you're away.
Development
Motion Defense is really two applications that I've built over the last several months in my free time.
First and foremost, it's a desktop application built on the Electron framework. Using the Electron framework allowed me to write one application for Windows, OS X, and Linux, written in Javascript, CSS, and HTML. Basically this makes my life easier as a sole developer on the project since I only have one code base to maintain for all platforms.
Electron created a lot of challenges though. It's a young framework, so it has its bugs and issues and its API is still changing. Additionally, Electron apps run in what is essentially Chromium browser instances. This has created some performance issues with video processing that have been challenging to overcome.
The desktop application also has a web application component. In addition to serving up live video feeds from the desktop application itself, The Motion Defense website also holds a web application for managing product sales as well as backed up data and other features coming soon to the service.
The major aspects that I've built for Motion Defense so far include the following:
- Desktop app and UI for setting up and managing security cameras
- Motion detector module for processing video and detecting motion
- Automated alert system for notifying user when motion is detected
- Client webserver for streaming video feed to remote computers and smartphones
- Product storefront
- Web application for managing user license and application data.
Wrap up
Motion Defense is currently in public beta, and is being developed rapidly. If you're interested, check it out and let me know what you think.