Mantis


Built a web platform for a gun training system. Live production database handling 25,000 unique users, private group social network system.


Mantis is a firearms training system, using high-precision measurements of acceleration and gyroscopic title to improve shooting. When I started working, all data was stored locally on the user's phone, meaning that deleting the app or changing phones would lose all data. Additionally, there were limited diagnostics and user data.

Over the course of two years, I built a central database on AWS and PostgreSQL, which now holds over 8 million shots. I worked with the two app developers to create stable APIs and secure authentication for both iOS and Android platforms.

Animation of the user profile page with D3.js and vector graphics.

As seen above, I built the user-facing frontend. This included a user profile page, pictured above, and a leaderboard interface for private and public groups. The groups feature was requested by several large clients, including Cabela's and the U.S. Marines. Privacy and security were first priority, given the clients.

I also implemented an improved shot detection algorithm, based on 1-dimensional convolutional neural nets. This improved shot detection accuracy by ~50% while reducing the false positive rate.

The above plots display acceleration magnitude over time. Separating positive from negative examples is non-trivial, but learned 1-D convolutions do a good job.