Projects

University Projects

Senior Project

  • Built a RESTful API for an app that found free time for a group using their Google/Apple Calendars.
  • Backend was hosted on AWS, built with Flask/Python 3, with a corresponding mobile app built in Android.

Security Violation Scanner for Email

  • The goal of this program was to scan emails for Confidential information before being sent, to alert the sender and help fight data leaks.
  • Developed for ASRC Federal Mission Solutions, using Agile Scrum methodology.
  • Used Java, Apache Lucene, BCrypt, SHA-2 Encryption, RSA Encryption, MySQL, Pandoc, and a bit of Scala.
  • “Software Engineering I”, 2016

Lego Delivery Robot

  • Built an Android application to control & communicate with a Lego NXT robot, so it could deliver mail in an office setting.
  • Gave it a destination over Bluetooth using the Android App and let it drive there on its own, navigating with a compass and a set of known coordinates.
  • Used LeJOS, a small JVM designed for the Lego NXT brick to program the robot.
  • This project was for the course “Topics in Mobile Programming”, Spring 2016

Work projects

Email Monitoring System

  • Built a system in Python 3/Django to aggregate marketing email event data, with the goal of making SES events searchable and presentable in a way similar to SendGrid.
  • Email requests originated from a MailWizz server, integrated with AWS SES, SendGrid, MailChimp, etc. for the actual sending.
  • JSON events from email sender webhooks were funneled to a queue in AWS SQS which triggered a Lambda function which would process them and extract relevant metadata.
  • System processed upwards of 2 million emails a month, with roughly 10 million plus individual events, and generated statistics broken down by sending domain and subdomain, and across sending services (e.example.com vs. em.example.com, split between SES and SendGrid).
  • Aggregating all of this metadata allowed team to view sending behavior on a customer by customer basis, rather than only as a whole.
  • Excluding the SQL server for storage, the entire event processing system was hosted serverlessly, and cost less than $1/day.