Eric Kiefer

Full Stack Developer


About Me


I am a software engineering graduate from Western University's class of 2021, currently working at as a software development specialist. I am passionate about using my problem solving abilities and programming skills as a tool to build professional quality software.

My skills are centred around full stack developement for web and mobile applications. With many academic and personal projects completed, I have become confident in my ability to effectively use a variety of frameworks and languages to create stunning and robust software products.

In my free time, I enjoy weight training, boxing, tennis, skiing, and mountain biking. I also play complex strategy games like Age of Empires II: Definitive Edition and Clash of Clans at a high level.

Projects


KnowYourCourse

Angular, Node.js, MongoDB

Every summer, university students begin to think about what courses they want to take in the upcoming school year. For most, it is a difficult process that can take anywhere from hours to days. Information and resources about courses are scarce and scattered between different university affiliated websites and social networks. This capstone project streamlines this process, allowing students to search for courses, leave reviews, interact in forum discussions, and find all relevant information for university courses, all in one website.

Zombie Plaza

Unity, C#

Zombie Plaza is my largest game development project to date. It is a first person shooter zombie survival game that takes place at a shopping plaza. The player must survive increasingly difficult waves of zombies using any means necessary. These include the player unlocking new locations of the map using door buys, collecting powerup drops from zombies (max ammo, insta kill, double points, nuke, rpg, and the death machine), and purchasing wall guns that can be restocked with ammo from buy stations.

Planetary Space Defender

Unity, C#

Planetary Space Defender is a fast paced space shooter, where the player must protect Earth from enemy ships on a direct collision course with the planet. The player can move in a constrained circular path around the globe and destroy enemy ships, acquiring powerups such as shield, fast fire, and triple barrel blast. If the player can successfully keep the planet's health from reaching zero for a period of time, they can advance to the next level.

Nutrition Tracker

React Native, SQLite

A mobile application built to help users track their macronutrients and calories as efficiently as possible. The tracking interface features a barcode scanner, database search (powered by the Nutritionix API), saved food selection, and manual entry all in one convenient place. Additional features such as logging streaks, goals, and visual macronutrient breakdown summaries, help to make nutrition tracking a habit.

AquaMonitor

React Native, Node.js, MongoDB

AquaMonitor is a mobile application built for both iOS and Android with the Expo framework for React Native. It alerts users when water quality parameters recorded using waterproof sensors connected to an ESP32 become unsafe. Features include live monitoring, push notifications, analytics, parameter settings, hardware connection, dark mode, language selection, and more to come.

Memory Expansion Tools

React, Flask, MongoDB

Memory Expansion Tools or MXT is an application that allows users to capture their day-to-day speach along with important memories in a cache using special voice commands with a Bluetooth earpiece. Users can later access these recorded memories using the web application that I contributed to. By adding the Google Maps JavaScript API, users can track memory locations with an interactive visual component.

Change4Better

Java, SQLite

Food delivery services like UberEats and DoorDash are very convient, but can quickly become an expensive and unhealthy habit if you're not careful. Change4Better was developed as a means of breaking this behaviour, by implementing the four step process to breaking habits from the book You Are Not Your Brain by Gladding and Schwartz in a native Android mobile app.

Sketchpad

JavaScript

As a final project in a course about human-computer interaction, I designed a sketchpad web application that includes several different drawing modes, selection methods, and keyboard shortcuts for common operations. The implementation used SVG DOM elements and event driven object orientated programming to deliver a smooth drawing experience.

SnipGen

Python

Developers are constantly switching between their IDE and browser to search for answers to technical questions. Developed in collaboration with Cayden Pierce, SnipGen is a command line app that streamlines this process. The software features a natural language search with automated clipboarding of web-scraped code snippets and VIM key bindings for fast answer surfing.

PlantManager

React, Django, MySQL

On the plant floor, automated industrial machines are suspecitble to faults that result in significant downtime that increase production costs. PlantManager is a full stack web application that is used to monitor manufacturing equipment by streaming machine data from a raspberry pi with PLCs. Through big data analytics and machine learning models, downtime is remarkably reduced.

P2P Network

Node.js

I created a peer-to-peer network with custom image querying protocols from scratch using TCP sockets from the Net library in Node.js. The implementation features an unstructured overlay topology with a flooding algorithm, automatic redirect joining, image transfers, and specialized packets using buffers.

kBeats

Angular, Node.js, MongoDB

A full stack site deployed using AWS that allows users to search and review songs that have been uploaded to the site by other users. Third party and local authentication strategies with email verification were adopted. Administrative frontend site functions were developed and JWT's were used for authorization measures.

ZEN Fitness

EJS, Node.js, MySQL

Personal trainers are always trying to give their clients the best possible routines to achieve their goals. ZEN Fitness is a web application that provides personal trainers with a portal to generate workouts specialized for targetted muscle groups, as well as track progress in order to help their clients make their goal a reality.