Adam Fendley Software Developer

About Projects

About

I'm a software engineer who's passionate about building experiences that delight users and improve their quality of life. I'm skilled in a wide variety of languages and platforms necessary to accomplish these goals, and am always trying to learn and add more.

My primary areas of interest these days are:

  • Distributed systems and databases
  • Monitoring and data-driven customer experience analysis
  • Load and chaos testing
  • Side-channel vulnerabilities, attacks, and mitigations
  • Woodworking, home-brewing, and baking

I currently work on the EC2 VPC product at AWS, where we build highly available, fault-tolerant control planes to implement and maintain critical virtual networking functionality at scale.

Platforms

I'm proficient in iOS, macOS, Android, Windows, Linux, and Docker. I've made native and cordova apps for Android and iOS.

Code

I'm also good with Objective-C, C++, HTML/CSS, jQuery, D3.js, Node.js, and Regex.

Tools

I've also built projects using OracleDB, Jenkins, Grunt, Maven & Gradle, SVN, Flask, jUnit, Sonar, and Nginx & Apache.

Projects

Bailout! App
Bailout!
  • Swift
  • Docker
  • Redis
  • Django
  • MySQL

As part of my senior capstone at CNU I built Bailout!, a digital currency manager for Monopoly games. Using the app, you can do away with paper money and use Bailout! to quickly and easily send money between players, check your account balances, and see transaction history. The app is built in Swift with a websocket-based JSON API server using Django-Channels as the backend.

Check it out
CNU Mobile Navigator
CNU Navigator
  • Jira / Stash / Bamboo
  • .NET Framework
  • OracleDB
  • Cordova
  • JavaScript

I designed, built, and launched the official Christopher Newport University for iOS and Android. The frontend is built using web technologies served using Cordova, and the backend is written as a .NET Entity Framework 6 application using Oracle Database. A RESTful JSON API was created to serve data such as dining hall menus, sports scores, workout class schedules, newspaper articles, recycling locations, campus alerts, and more. An administrative interface was built to allow self-service data updating to various departments. The project was planned, tracked, and built using the Atlassian suite.

Check it out
Open Course Project Logo
Open Course Project
  • Amazon Web Services
  • Django / Python
  • MySQL
  • Selenium
  • Apache

I built a website using the Django framework that is used by over 1,000 students to plan their semester schedules. I designed Open Course to merge many of the disjointed aspects of scheduling including course search, pre-requisite / requirement verification, professor ratings, textbook purchasing, and more. Students can search for and mark the courses they're interested in taking, and will receive updates about the course, its status, and the number of seats left as registration nears. During the semester, students can print copies of their schedule, find textbooks at the lowest price, and see when their final exam is scheduled. The site utilizes MySQL databases, Ubuntu AWS EC2 servers, and OAuth login using your official school account.

Check it out
DiningBuddy Logo
DiningBuddy
  • Objective-C / iOS API
  • Java / Android API
  • Flask / Python
  • GeoJSON
  • MongoDB
  • Pygal

My freshman year of college I built a native iOS and Android app that uses location services to show students how crowded the on-campus dining halls are. The app can display daily menus, hours of operation, and can share information on the app about the dining hall. The backend is built in Flask and served from MongoDB via a JSON API. DiningBuddy was featured in the school's newspaper and on TV, and has over 5,000 downloads across both platforms.

Check it out
FOSA Map
FOSA Map
  • D3.js
  • jQuery

I developed an interactive map for the Fiber Optic Sensing Association to display worldwide fiber optic sensing installations. The map was created using D3 and was set up to permit easy self-service updating using the existing excel data format by anyone in the organization when new installations are added. The map was the subject of the organization's press release on global installations.

Check it out
AntiCheat Logo
AntiCheat
  • Java
  • Maven
  • jUnit
  • Sonar
  • Jenkins

AntiCheat is a program I created for Minecraft servers that detects and prevents client-side cheating. The program uses a series of mathematical checks to identify and block abnormal client behavior, and classifies users so that server administrators can easily deal with malicious players. AntiCheat was written in Java using the Bukkit server API and has an enterprise web-panel component that allows large-scale server admins to quickly check for and resolve any issues, even when not in the game. By the time the project was discontinued in 2014, it had been downloaded over 2 million times.

Check it out
Aviation Academy Logo
DigitalCheckout
  • Amazon Web Services
  • Django / Python
  • iOS / Objective-C
  • MySQL

I created a mobile app and website for Newport News Public Schools' Aviation Academy to digitize their system of checking in and out tools to their toolroom. The Aviation Academy is a STEM Magnet Program that teaches students to build, fix, and fly planes, and as such they have an active workshop with many tools that are often misplaced or lost. In my volunteer work with the school I created a system of printable QR codes that can be scanned at an iPad to check in and out a tool. The status of the tools and logs of who has checked them out is then viewable on the Django web interface, where administrators can also add and remove tools and print new QR codes for them.