- "You have to be burning with an idea, or a problem, or a wrong that you want to right. If you're not passionate enough from the start, you'll never stick it out."
- -Steve Jobs
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