Projects

Distributed File System with Protocol Buffers

Wrote a server and client to implement a weakly consistent file system. Core was written to allow multiple reads but only single write. Using gRPC, file locking mechanisms and long time polling was easy to implement. In order to identify file diff, a CRC hash was used and then subsequent last modified time to determine if files need to be updated or deleted.

Posix Compliant File Transfer Protocol

Wrote a server and client to implement a file transfer protocol in C. Utilized only the standard POSIX API, with no additional libraries to build both a multithreaded server and a CLI based client. Learned to use POSIX threads and locks in order to share critical data structs amongst worker threads. Used boss-worker multi-threading model for high throughput.

Alexa Application for Medication Reminders

This was an Alexa application I wrote in order to prepare for a hackathon. This application was written in Python, however in the hackathon NodeJS was the language of choice. The final application had integration with DynamoDB to store user data and load user prescription records.

Pharmacy Refill App

This is an Android application I designed in order to digitize the process of pulling and filling the right medication in the right automated dispensing machine. Backend API was written in Flask.

School Tracker

This Android app was created to keep track of the courses and number of terms until graduation. It uses Room and Android data binding as well as LiveData to handle activity life cycles, and keeping a consistent state.