Guard Dog pivoted to Computer Vision Infrastructure As a Service!

Update on Guard Dog Ai!

While hacking on Guard Dog Ai for the Microsoft Hackathon I realized that my product would have a greater value if I could pivot it to running any user defined models with a web hook on how to handle them. After hacking all week long with very little sleep and concern for health I can proudly say that I was able to catch up on my backlog of features to implement and design and came up to a point of running user defined models.



Here is codebase for the project: https://github.com/hamdaankhalid/guard-dog



As you may see I had to remove certain features and reduce number of services in the architecture to ramp up speed of development as a one man team. After a long week of hacking I migrated my backend to be Java and spring boot based with distributed processing, and chose Angular as my trusty client facing application framework.



The architecture consists of a main server handling user facing API's such as Authentication, sending videos from client to server, retrieving videos from servers to clients, uploading ML models serialized with ONNX, deleting models, and even re downloading them. Videos are chunked into 10 second segments and stored into the Azure Storage service. Upon successful storage of chunks a message is put into a queue which is then picked up from a worker that finds all models associated with the user who owns the video chunk, then for each associated models a message is put back into the queue with all arguments and model id, another set of workers can now process each of these messages, load the model via the Onnx runtime libraries, and run inference. Instead of having user defined webhooks I ended up just creating notifications that a user could view.



In the rush to code all of the above I forgot about registering for a booth to showcase my project! Over the next year I will be figuring out how I can make this into a product that can be truly cloud native!



Here's a small video on youtube that displays all the above functionality except the model inferencing: https://www.youtube.com/watch?v=3AL_VbMAWHk

Comments

Add a comment: