Mobile Applications
Native mobile applications for Android and iOS written in Java and Swift. Experience with network connected real-time applications, MVC/MVP/MVVM architecture patterns, and proper UI design conventions for each platform.
Web Development
Front-end web development and design experience with HTML5, CSS3 and JavaScript. Understanding of common libraries and frameworks including jQuery, Bootstrap, and React.js as well as mobile and responsive design.
API's & Backend
Backend server-side and API development. Experience with building and consuming RESTful API's, database communication, and proper authentication methods and standards such as OAuth and JSON Web Tokens.
Web Applications
Web-based applications in PHP, Node.js, and Python. Experience with common web frameworks including Zend, Django, and Laravel, as well as the Angular web application framework.
Below is a list of projects created beyond academic coursework. The purpose of each is to show not only a fundamental understanding of software development but also how it can be applied in real-world applications.
Source code and more information for most projects is available on my GitHub
Simple and secure notes application to showcase secure stateless authentication utilizing JSON Web Tokens (JWT). Android client application written in Java using Retrofit and OkHTTP for RESTful network calls. The API is written in JavaScript which uses Node.js for the server and MongoDB for the datastore. Features full authentication, sign-in, logout, sign up, password reset, profile update, and CRUD notes.
Proof of concept application for comparing prices of products from scanned barcodes. Connects to API's from Walmart, Amazon, BestBuy and more. Android client application written in Java and uses Google's Mobile Vision Barcode API to read barcodes. The backend is written in PHP which connects to retailer API's and returns results in JSON format. The results are cached server-side in a MySQL memory store for faster future calls and expire after a set time limit.
Website and price comparison engine for comparing prices of home services including TV, Internet, Wireless, Home Phone, Home Energy, and Home Security. The front-end uses Bootstrap 3, jQuery, and React.js. The backend is written in PHP and uses the Zend Framework. Pricing data is obtained from a variety of sources including JSON/XML API's, TXT/CSV files, and screen scraping.
Online multiplayer collectible card game for Windows and Mac OS X that allows users to create custom cards instantly. The game client is written in C# and uses the Unity game engine as well as core .NET networking libraries for communication with the server. The server is written in C++ and uses the Boost networking library. Custom cards can be created with simple Python scripts and are hot-swappable while the server is running. Currently still in development with a Steam release targeting early 2018.
Mobile Android application that allows students and instructors to communicate in real-time. Faculty can login directly using their UC e-mail address, once logged in they can create courses and invite students. Once invited students can create their own groups with their classmates for group-specific discussion. The application is written in Java and uses a number of libaries including Glide for image loading and caching, the Android Architecture ViewModel library for retaining UI state on configuration changes, and Android Data Binding for easy 2-way data binding in the UI layer. For networking the application uses the Firebase platform, specifically the Auth, Database, and Storage components.
Available to CO-OP for the Fall 2016 semester (August 22 to December 23)
As of July 1st, 2016 I have formally accepted a co-op position
I am currently seeking full-time employment beginning December 11th
As of December 11th I have accepted a position at LexisNexis