Michael Rupert - RupertDev@outlook.com


My name is Michael Rupert, and I'm a graduating Senior in Computer Engineering at Iowa State University, graduating in May of 2017. I am always looking for new experiences in the world of software development, with a particular interest in networking and protocol security.


Professional Experience

Software Engineering Intern: Workiva, Inc.
Feb 2015 - May 2017
  • Development of functional testing & reporting platform for use by engineers within Workiva.
  • Use of Docker containerization to provide consistent testing environments for new products.
  • Use of many front and back end frameworks, such as Django, Angular, React, and Bootstrap.
  • Use of many tools to aid in automation and deployment such as Ant, Grunt, TravisCI, and others.
  • Use of Agile Development Style.
College of Veterinary Medicine IT Support
August 2014 - Feb 2015
  • Troubleshooting, WebHelpDesk ticket system, hardware and software repair.
Iowa State Director: Campus Bellhops
June 2014 - December 2014
  • Employee Management: interview, hire, and manage a team of 50+ student Bellhops.
  • Marketing: manage grassroots marketing, build strategic relationships and oversee brand awareness on campus.
  • Operations & Sales: ultimately responsible for the completion of every job scheduled.


Docker Terminal


During my internship at Workiva, I became very familiar with Docker and its uses. In my free time, I started using Docker to spin up some of my favorite self-hosted services, such as a Mumble server, a Bitlbee server, and a few different web frameworks. One problem that I had however, was that it was a pain to SSH into the VPS that I was using to spin up/down services. As a result, over a weekend I built this, Docker Terminal. It uses a Flask backend to interface with the Docker cli, which allows me to display running containers, kill them, and or start new containers. I hope to rebuild it using React components in the near future.

Intelligent Security Camera - Independent Study Project

This is an ongoing project, where the goal is to build an intelligent camera system using OpenCV and machine learning. This has been my first experience in planning an entire project and has given me much insight into the planning of a large project. Some of the most interesting elements of this project have been reporting progress to my advisor as well as writing thorough documentation.

Websocket Interactive Whiteboard

This is a project that a partner and I wrote for a Web Design course during our Sophomore year at Iowa State. It uses NodeJS, Express, and Socket.IO to implement an interactive whiteboard where many users can draw shapes and text. It uses websockets to push updates out to connected clients, and supports as many users as the host machine and framework can handle.

Portable Nutrient Data Collection System - Senior Design Project

During my final year at Iowa State, myself and a team of 5 others designed and implemented a system to collect records of the nitrate and phosphate levels in water accross Iowa. This system used a spectrometer and Raspberry Pi to send data to an Android app where it was displayed and backed up to a cloud database. I held the role of Webmaster on the team.

Academic Documents

General Education Reflection

Cumulative Reflection

Ethics Paper