360 Life Stream

  • I lead as the project manager for a software engineering lab at UNC where we developed a project for a semester
  • 360 Life Stream was a proof of concept to put 360 cameras on top of police cars and live stream the result to a web app so it can be viewed remotely
  • We used Agile software engineering practices to set goals for sprints and produce a final deliverable
  • Our final product was a Electron desktop app that used a Python/OpenCV stitching script to live stream stitched video via ffmpeg to a Django web app where 360 videos could be viewed
  • Check out our project organization here

UNC Wesley iOS App

  • This is an iOS app developed in Swift 3 to streamline communications for UNC Wesley Campus Ministry
  • It utilizes REST APIs to communicate to a MySQL database and managed by Node.js backend
  • The app allows users to view upcoming events, post prayer requests, and read devotionals
  • In companion with the app is a administrator web interface to add events, manage users, and post notifications. This interface uses the Google Calendar API to sync with the UNC Wesley calendar.
  • There are currently around 50 active users
  • Check out the app here
  • And here is the backend node.js code in a github repo

MiniJava Compiler

  • I developed a scanner, parser, syntactic and contextual analyzer, and code generator for a subset of Java
  • The compiler takes in a miniJava file (which is Java minus inheritance) and produces a set of instructions that targets a virtual machine
  • This project demonstrates my intimate understanding of how top-down parsers work and how Java generates code
  • Unfortunately, this was a project for a class and to maintain academic integrity I cannot post code online, but if you are interested please contact me for more details

Computational Photography

  • This is a series of projects I worked on involving manipulation of images
  • I explore some concepts of Computational photography including alignment, stitching, and image blending
  • You can find these projects at: here

Ring Recall iOS App

  • This is a fun project I worked on to learn iOS development using Swift and XCode
  • It is a memory game where the user is presented with a sequence of dots and they must replicate the pattern
  • The app utilizes the Model-View-Controller design pattern and iOS libraries such as CoreData and iAD
  • You can download the app for free on the App store! Search for the name "Ring Recall"
  • Or follow this link: Ring Recall

External Sort Java Implementation

  • With the ever increasing amount of data pouring into our information systems the need for external sorting is becoming more prominent
  • This is an external sort in which a simulated tape represents data that will not fit in internal memory
  • The algorithm utilizes a quicksort to sort chunks of the tape data into memory(an array) and then a mergesort to combine these chunks
  • Check out the code here on my Github profile: External Sort

Graph and Hash Table Java Implementation
  • Two of the most important data structures in computer science are the hash table and the graph.
  • These java implementations demonstrate my understanding and experience with these core data structures.
  • Some of the core functionality of my graph includes determining if the graph is acyclic, and if so, sorting the graph.
  • This is accomplished by using a queue and an indegree chart.
  • Check out the code here on my Github profile: Graphs and Hashtables
More projects are coming soon