Computer Science


The Capstone Experience provides the educational capstone for all students majoring in computer science at Michigan State University. Teams of students build software projects for corporate clients. For information on becoming a project sponsor, see Project Sponsorship or contact Dr. Wayne Dyksen. The following were the project sponsors and projects for Spring 2017:


Amazon: ACRA: Amazon Customer Review Analyzer

Amazon, the largest online retailer in North America, sells a large variety of products. After a sale, customers may post reviews related to all aspects of the sale. On average, users write millions of reviews per year.

Screen Shot 2017-04-11 at 2.22.41 PMWith the large number of reviews posted, the likelihood that customers encounter reviews unrelated to product quality is high. Without an automated way of classifying reviews, customers may have to sift through many useless reviews when researching a big-ticket item.

Our Amazon Customer Review Analyzer, ACRA, automatically classifies customer reviews into two categories, those related to product quality and those unrelated to product quality. To do so, ACRA uses natural language processing and machine learning.

This automatic classification of reviews allows Amazon shoppers to focus only on reviews that are relevant to product quality, thereby enhancing their shopping experience.

Amazon shoppers can search for products using our ACRA iPhone app, which separates reviews into product quality and non-product quality categories. Additionally, users can report misclassified reviews to refine and crowdsource our classifier’s performance.

Our iPhone application is written in Swift and communicates with our backend using API Gateway and Lambda hosted on Amazon Web Services (AWS). Amazon Machine Learning and Python’s NLTK library are used to classify reviews hosted in AWS’s S3 and DynamoDB.

Team Members (L-R): Jie Wan, Ian Whalen, Tess Huelskamp, Ankit Luthra, Jason Liu


Auto-Owners Insurance: Location-Based Services Mobile App

Auto-Owners Insurance is a Fortune 500 company that celebrated its 100th anniversary in 2016. Auto- Owners Insurance employs over 4,500 associates in 26 states.

Screen Shot 2017-04-11 at 2.25.17 PMAuto-Owners representatives often need to access their customers’ information while they are out in their community. Our Location-Based Services Mobile App enables Auto-Owners employees to view customers’ information wherever they are.

Our app shows a map of the user’s location along with all nearby addresses that have policies, claims or proposals through Auto-Owners. A user can customize what information is shown on the map such as all local policies of a certain type or all claims above a certain dollar amount.

When a specific location is selected on the map, the app displays the details about that address, including current and past policies and claims. A representative can submit a new claim for review and send notes to the underwriting department, thus enabling Auto-Owners to be more responsive to their customers’ needs.

Our system is managed by our companion web app with which Auto-Owners administrators create and update a customer’s insurance information. Accounts for new Auto- Owners representatives are created using the web app, which determines what information they can access using the mobile app.

Our Location-Based Services Mobile App is written in Swift and Java, and runs on Apple iPhone (iOS) and Google Android devices. Our web app, written in CakePHP, runs on all modern web browsers. Our apps connect through a MySQL database hosted on a Microsoft 2012 R2 server.

Team Members (L-R): Seth Schmitz, Yunfei Peng, Alex Besinger, Josh Christ


GE: PETT: Predix-Enabled Toy Train

General Electric is the leading digital industrial company in the world, transforming the industry with software-defined machines and solutions that are efficient and predictive.

Screen Shot 2017-04-11 at 2.30.06 PMGE Digital’s Predix platform is a purpose-built, hardened cloud platform that provides the connectivity, security and performance needed to drive advanced industrial applications.

Our PETT, Predix-Enabled Toy Train, is a model train setup that demonstrates the capabilities of Predix. PETT uses multiple sensors including beam breakers, RFID reader-writer modules and tags, a multi-sensor and more to record data about the location of the moving trains and the state of the track.

Data from the PETT sensors is collected and sent continuously to the Predix Cloud, which analyzes it and visualizes it. Predix’s predictive analytics determines potential train collisions and other possible problems with sensors, track and trains.

Based on the feedback from Predix, PETT controls the running trains by sending signals using Digital Command and Control (DCC) to the train engines and the track switches.

Our PETT provides GE with a visual and interactive way to showcase Predix to potential customers at their Digital Hub in Detroit and a fun way to inspire young people to pursue careers in engineering at fairs like the Maker Faire in Detroit.

Two Raspberry Pis read data from sensors using Python. One Raspberry Pi is connected by Pi-SPROG to the DCC track and sends commands with Jython. The data is displayed on a Predix machine using a web browser.

Team Members (L-R): Joshua Schwallier, Lucas Reynolds, Lama Aboubakr, Matt Sopata, Henok Alemayehu


General Motors: GM Transportation Experience App

Founded in 1908 and headquartered in Detroit, General Motors designs and manufactures a wide variety of vehicles that meet the needs and expectations of drivers around the globe. With a passion to earn customers for life, GM is always working to improve their driving experience.

Screen Shot 2017-04-11 at 2.32.44 PMThe GM Technical Center, located in Warren, Michigan, is the heart of the company’s engineering effort. Consisting of 38 buildings and housing over 21,000 employees, the campus spans 710 acres.

Our GM Transportation Experience App is designed to ease the stress that comes with navigating the large GM Technical Center campus by guiding drivers to a parking lot with open spaces that is near their destination.

After a user selects a building destination, our app finds the parking lots within the proximity of that building and analyzes historical data associated with those lots to determine which lot has the highest chance of containing an open parking spot. The user is then directed to this lot via Google Maps.

Since our app is intended for use primarily while driving, a key component to its design is simplicity. Users enter their destination building before driving. While driving, our app guides them with voice prompts to the best parking lot for their building destination on the GM Technical Center campus.

Written using Xamarin, the GM Transportation Experience mobile application runs on both Apple iPhones (iOS) and Google Android devices.

Team Members (L-R): Brendan Carlson, Rob Cobau, Vince Cogswell, Phyllis Jin


Humana: Humana Kids

Humana provides many innovative products, services and business practices that help consumers make healthcare decisions with confidence.

Screen Shot 2017-04-11 at 2.35.47 PMAs one of its goals, Humana aims to improve the health of their members by 20%. With childhood obesity doubling in children and quadrupling in adolescents, there is a need to counteract the recent growth of unhealthy lifestyles.

Our Humana Kids Android mobile app educates children and parents about nutrition and exercise through a series of pop-up surveys, tips and challenges that promote healthy living.

Humana Kids allows parents to switch our app to “Child Mode” in which health and exercise related pop-ups appear while their child uses their device. To incentivize children to make healthy choices, coins and badges are awarded for positive responses on surveys, which determine their ranking compared to other users.

Parents view their child’s health trends through our companion web app. Graphs generated from their child’s responses visualize the current results. Parents receive tips tailored to their child to promote further healthy choices.

Humana administrators use our companion web app to view graphs displaying general health trends of all users. Humana administrators can modify and add surveys, tips and recipes.

Our mobile app is written in Java and runs on any Android device. Our web app is written in Python and utilizes the Django framework. Both are interfaced with a REST API connected to a SQLite database.

Team Members (L-R): Mike Hanlon, Lisa Doan, Yaqeen Al Mahdi, Ayush Agrawal


Meijer: MyMeijer: Crowdsource Shopping

Meijer is a large supercenter chain located in the Midwest. With over 200 stores, Meijer is one of the largest retailers and private companies in the nation.

Screen Shot 2017-04-11 at 2.39.01 PMOur MyMeijer Crowdsource Shopping mobile app improves the shopping experience at Meijer stores by enabling customers to report potential issues within the store to Meijer team members immediately so they can be resolved quickly. Issues may include out-of-stock merchandise, spills or any other hazards.

Customers use Meijer’s mPerks loyalty program to save money by redeeming digital coupons and rewards. Customers can now earn mPerks points toward rewards by using our MyMeijer app to report issues while shopping.

Meijer in-store team members use our companion Bluebird mobile app to respond quickly to push notifications sent to them by our system about issues noticed by shoppers.

All reported issues and resolutions are logged in a central Meijer database. Meijer managers use our companion Corporate Scoreboard app to detect frequently out-of-stock items and issues at Meijer stores across the country. It displays statistics collected from the customer reports, which assist Meijer management in running their stores efficiently.

Our MyMeijer Crowdsource Shopping system is written using Xamarin. The customer app runs on Apple (iOS) and Google Android devices; the Meijer team member app runs on Windows. The Corporate Scoreboard web app is written using .NET framework and hosted on Azure Cloud Services.

Team Members (L-R): Mike Mei, Mark Mangliers, Nancy Krutty, Matt Blender


Michigan State University: CATAlyst: Mapping CATA Buses in Real-Time

Michigan State University has one of the largest campuses in the nation, with more than 500 buildings on 5,000 acres. The Capital Area Transportation Authority (CATA) is the public transit service that services both Michigan State University and the greater Lansing area.

Screen Shot 2017-04-11 at 2.42.02 PMWith over 30 routes, the CATA bus system is complex. Our mobile app CATAlyst enables riders using CATA to navigate the bus system easily and to arrive at their destination on time.

CATAlyst users select and view bus routes integrated within Google Maps. They can view all buses moving in real-time and all stops on a particular route. The arrival time of the next bus is displayed simply by selecting a specific stop.

Users can create and save weekly scheduled trips for classes and other events. CATAlyst maps out the best routes for a trip based on all available routes and the time of day.

CATAlyst sends a push notification to a user’s mobile phone, notifying them when to leave for a scheduled trip. The push notification includes the time it takes to walk to a specific bus stop from their starting location and the total estimated trip time.

CATAlyst is a mobile app written in Swift for Apple iPhones (iOS) and Java for Google Android phones using CATA real-time data. The server side utilizes RESTful APIs written in Java, using Maven and Spring Boot on an Ubuntu 16.04 Server with a MySQL database.

Team Members (L-R): Jimmy Mkude, Charlie Ward, Cathy Dinsmoor, James Dodge, Tom Beaver


Microsoft: Intune Company Portal Helper Bot

Headquartered in Redmond, Washington, Microsoft is one of the largest software and hardware companies in the country. They are leaders and innovators in all areas of technology.

Screen Shot 2017-04-11 at 2.46.01 PMMicrosoft’s Intune provides mobile device management, mobile application management and PC management capabilities from the cloud. Using Intune, organizations can provide their employees with access to corporate applications, data and resources from virtually anywhere on almost any device, while helping to keep corporate information secure.

Our Intune Company Portal Helper Bot is an automatic chat bot that interacts with users when they experience problems inside the Microsoft Intune Company Portal app, which connects to Microsoft’s internal Intune mobile management system.

As the Intune user base grows, the need to assist individual users experiencing issues grows as well. To help meet this increasing demand, our helper bot provides automated real- time help to Intune users to resolve their problems.

Users ask our bot questions related to their issue. Our bot searches through its curated database of documents to find articles related to the user’s problem. The bot sends the articles it finds to the user for review.

If our helper bot is unable to find an article that resolves the user’s issue, the user can submit a bug report for the Microsoft Intune Company Portal team to investigate further.

Our bot is written using .NET, Java and Microsoft’s Bot Framework. The app runs on Android devices and is deployed using Microsoft Azure cloud services.

Team Members (L-R): David Saska, Lefan Zhang, Ramon Niebla, Anh Nguyen, Nick Bunton


Mozilla Corporation: Improvement to Firefox’s about:preferences

Web browsers are an integral part of everyone’s internet experience. Mozilla’s Firefox is a leader in the web browsing community. With an international community of developers, Firefox is one of the world’s largest open source projects.

Screen Shot 2017-04-11 at 2.52.39 PMFirefox users can change Firefox’s default look and feel using about:preferences, which enables users to change anything from the default font to the default search engine.

Our improvements to Firefox’s about:preferences give Firefox’s 450 million users an enhanced customization experience on macOS, Windows and Linux.

Firefox users must navigate a series of tabs and pages in about:preferences to find a particular preference they wish to change. With design specifications from the User Experience team at Mozilla, these tabs and pages are now organized to make it easier for a user to find particular preferences.

Even with the improved organization, finding a particular preference among so many can still be a challenge. To this end, our improvements include a new search functionality with which users can find preferences easily and quickly.

We use Mozilla telemetry probes within Firefox to measure the impact of each of our improvements to about:preferences to determine their effectiveness.

Our code is written in JavaScript, CSS and XUL. XUL is the user interface markup language that Mozilla uses to develop Firefox.

Team Members (L-R): Avalon Long, Ian Ferguson, Manotej Meka, Zack Herrick


MSU Federal Credit Union: Banking with Amazon’s Alexa and Apple’s Siri

Founded in 1937, Michigan State University Federal Credit Union offers financial services to Michigan State University and Oakland University faculty, staff, students, alumni association members and their families. With 230,000 members and over $3.3 billion in assets, MSUFCU is the largest university-based credit union in the world.

Screen Shot 2017-04-11 at 2.57.28 PMMSUFCU currently offers mobile banking apps on both Apple (iOS) and Google Android devices for members to access their funds and perform banking transactions at any time.

Our Banking with Amazon’s Alexa and Apple’s Siri systems maintain MSUFCU’s technological edge by expanding their banking offerings to voice-controlled smart devices such as Amazon Alexa-enabled devices, Apple Watch and Android Wear.

Voice-controlled technologies give MSUFCU members new ways to interact with their accounts, including accessing their account balance, transferring money and obtaining information about recent transactions. Members can request other information about MSUFCU such as branch hours, current loan rates and the location of the nearest ATM or Branch.

Our companion administrative web portal enables MSUFCU staff to manage the available information and services offered by these voice technologies. Frequently asked questions can be added to the apps in minutes to improve the user experience.

The Alexa skill is written in Python, Apple Watch in Swift and Android Wear in Java. All three contact a MySQL database through JSON. The administrative web portal is written in PHP.

Team Members (L-R): Steven Jorgensen, Kieran Hall, Will Rudnick, Ethan Boyd, Qiuning Ren


Rook Security: Force Platform Ingestion Tool (PIT)

Rook Security, based in Indianapolis, Indiana, is a managed threat response force that is dedicated to providing global IT security solutions that anticipate, manage and eliminate threats.

Screen Shot 2017-04-11 at 3.02.26 PMAs the number and types of devices connected to the Internet increase, the need to protect those devices from attackers is increasing as well.

To this end, Rook Security provides their Force platform, which is a tool that streamlines the process of handling incoming security alerts, thereby increasing the efficiency of Rook’s in-house security analysts and lowering response times to threats.

Our Force Platform Ingestion Tool with Alert Correlation system is a tool that processes security alerts from Rook clients for ingestion into the Force platform.

When a security alert is received by the Force platform, our system processes the alert by extracting key information and by analyzing the alert to determine whether it relates to other recent alerts, potentially grouping it into a larger case automatically.

Rook security analysts view these security alerts and respond accordingly depending on the type of attack, the source of the threat, the threat level and other relevant information.

Our system also enables Rook analysts to create connections with new clients to route their alerts into Force to be monitored.

Our Force Platform Ingestion Tool with Alert Correlation system runs on a Python Django web platform, using React/ Redux JavaScript libraries, and is accessible by any modern web browser.

Team Members (L-R): Will McGee, Mark Velez, Roy Barnes, Matthew Hammerly, Chiyu Song


Spectrum Health: Resident Physician Tracking 

Spectrum Health provides high quality healthcare in Western Michigan through 10 hospitals, 7 urgent care centers and 33 laboratories. Together, Spectrum Health employs nearly 3,100 physicians, residents and advanced practitioners.

Screen Shot 2017-04-11 at 3.09.44 PMAfter graduating from medical school, physicians train for a number of years as resident physicians at hospitals before becoming certified in their field of specialty.

Hospital resident physicians are limited by federal regulations in the number of hours they may work in a single shift, so they must keep track of their shift times accurately.

Resident physicians click the Start button on our mobile app to begin their shift. Push notifications alert the resident if they are approaching a shift time limit per federal regulations. Clocking out is as simple as pressing the Stop button. Our app provides for manual time entry if the resident forgets to start or end their shift.

Administrators called Resident Coordinators use our companion web app to manage groups of residents. Resident Coordinators can view clock-in and out times, see shift data by resident, and select a date range for the shift display. An Export button exports data for importing into Excel.

Our Resident Physician Tracking system utilizes Swift for Apple (iOS) devices and Java for Google Android devices. It uses ASP.NET Core MVC with .NET Core and Entity Framework for its API.

Team Members (L-R): Hao Chen, Katie Foss, Matt Lamb, Matt Hannan


TechSmith: Teacher’s Virtual Toolbelt

TechSmith provides simple and intuitive visual communication software for both academic and business environments.

Screen Shot 2017-04-11 at 3.15.11 PMTeaching some subjects, such as physics, is often a challenge. It is difficult to depict physical forces and objects visually.

Our Teacher’s Virtual Toolbelt uses the Microsoft HoloLens augmented reality device as a teaching tool to better illustrate challenging subjects and concepts using holograms. By combining a HoloLens app and a web app, this tool allows for collaboration between students and teachers.

Our HoloLens app is used by the teacher. It provides a set of basic holograms such as cubes, spheres and arrows. The HoloLens enables the teacher to interact with these holograms in a 3D space using hand gestures and voice commands.

The teacher uses our web app to plan lessons that include quizzes and textual reference material. Students use the web app to view live lessons and take quizzes. Students submit questions that are visible to the teacher in the HoloLens. The teacher starts the lessons and quizzes using voice commands.

The teacher’s augmented view of the holograms is streamed from the HoloLens to the web application, allowing students to see the holograms as the teacher conducts the lesson. This mixed reality stream lets an entire group of students benefit from the capabilities of one HoloLens device.

Our HoloLens app is written in Unity. Our web app uses the .NET Web API framework, and is written in C# and JavaScript. The web app and SQL database are hosted on the Microsoft Azure Cloud.

Team Members (L-R): Yang He, Ryan Cornillie, Alex Crimin, Zeke Zandbergen


TWO MEN AND A TRUCK®: Mobile Mini “Movers Who Care”

TWO MEN AND A TRUCK®, founded in 1985, is the largest franchised moving company in the United States. Headquartered in Lansing, Michigan, it has franchises located throughout four different countries.

Screen Shot 2017-04-11 at 3.17.43 PMTWO MEN AND A TRUCK® has grown its operations considerably over the years and prides itself on providing friendly and efficient services to their customers.

Our Mobile Mini “Movers Who Care” is a mobile 2D driving game that enhances the company’s friendly image by focusing on children during a move. Moving can be a difficult and often times boring process for a child, so this mobile application serves as the perfect distraction.

Game users drive a moving truck, playing through five levels, each with different terrain, and three difficulties, each with different box types. The objective of the game is to deliver as many boxes to the house as possible. Points are earned based on the time taken to complete the level, the selected difficulty and the number of boxes kept intact.

Players collect coins in each level. Collecting and saving coins enables players to purchase one-time use items and permanent truck upgrades from the store. These upgrades help them complete more challenging levels and difficulties.

Mobile Mini “Movers Who Care” works on both Apple iPhones and iPads (iOS) and Google Android devices. Players have the option to compete by posting scores to a leaderboard via Facebook. The game is written in Unity’s version of Microsoft Visual Studio using C#.

Team Members (L-R): Connor McDermott, Travis Nichols, Curtis Notarantonio, Kai Wang, Jordan Ng


Union Pacific: Learning New Train Routes

Union Pacific is a leading transportation company headquartered in Omaha, Nebraska. Union Pacific has over 8,500 locomotives running on 32,100 miles of track across 23 states with over 44,500 employees.

Screen Shot 2017-04-11 at 3.20.55 PMWhen Union Pacific assigns an engineer or conductor to a new train route, they must learn the new route by riding along on a train with another engineer or conductor who already knows the route. This process can take days for each new train route to be learned, resulting in millions of dollars spent annually as multiple engineers and conductors learn multiple routes.

Our Learning New Train Routes system is an augmented reality software that uses actual video of the train route taken by cameras mounted on engines. Our software overlays this video with important information including mile markers, train speed and important landmarks such as signals and switches.

Engineers and conductors use our companion web app to view an augmented reality video of a new train route. They can view videos from anywhere, at any time, and on any web- browsing device.

A Google Maps display shows the train’s progress along the route. Engineers and conductors can move around in the video by clicking on the map. In particular, they can replay sections of track to ensure that they learn the new train route well.

Our Learning New Train Routes system is written in Python and utilizes OpenCV and Darknet for image recognition. HTML, CSS and JavaScript are used for the web app.

Team Members (L-R): Matthew Schleusener, Nick Summers, Kangjie Mi, Jon Wild


Urban Science: Real-Time Ad Campaign Management

Urban Science is a global consulting firm headquartered in Detroit, which specializes in industries that include automotive, health and retail. Urban Science uses the combination of science and technology to identify and improve market share, sales, profitability and customer loyalty.

Screen Shot 2017-04-11 at 3.24.13 PMWithin the automotive industry, Urban Science aims to improve marketing campaign efficiency for which a common challenge is to target potential likely buyers while avoiding advertising to customers who are not interested in buying a new vehicle.

Our Real-Time Ad Campaign Management recommendation system helps automobile ad campaign managers optimize their marketing campaign budgets by targeting optimal potential buyers.

Our system uses various real-time online and offline marketing data to improve marketing campaigns by making various recommendations such as removing customers from mailing lists and accurately predicting which customers would be most likely to purchase a vehicle.

Using our intuitive interface, ad campaign managers have the option to implement the recommended improvements to their campaign allowing them to make tactical decisions and impact campaign execution and results in real-time.

Our Real-Time Ad Campaign Management recommendation system is written in C# using .NET Core 1.0 as a platform. The control panel interface is built with HTML, CSS and JavaScript with the Vue.js framework. Data is stored in a Neo4j graph database.

Team Members (L-R): Hang Zhang, Anthony Orr, Zach Heick, Yoseph Radding


Whirlpool Corporation: Commercial Laundry Dashboard

The Whirlpool Corporation is the number one manufacturer of major appliances in the world, with approximately $20 billion in annual sales in some 170 countries around the world.

Screen Shot 2017-04-11 at 3.29.45 PMWhirlpool sells commercial laundry equipment to a number of trade partners including apartment complexes, laundromats, hotels, hospitals and more, which creates a large global fleet of appliances.

Whirlpool’s commercial laundromat equipment is connected to the Internet via a black box called the MC360, which enables Whirlpool to gather data from all of this equipment from all over the world in real time.

Our Commercial Laundry Dashboard provides Whirlpool administrators with the ability to view the collective data from all of their machines. Our intuitive visual interface enables them to monitor the equipment of their trade partners and alert them to potential problems through the use of push notifications.

Users can customize their dashboard by adding and removing visual features, filtering among various options, and switching between the dashboard and an interactive map of their trade partner locations.

In addition, users can organize important data by creating custom dashboards where static filters are set.

Our Commercial Laundry Dashboard runs on Apple (iOS) devices, on Google Android devices and in modern web browsers. It is developed using Google App Engine, Cordova Ionic, Flask, D3.js and PostgreSQL.

Team Members (L-R): Yuqi Xiao, Ryan Feldman, Nico Vergara, Mike Babiarz, Domenic Balcastro


Yello: YelloVision: Career Fair Augmented Reality App

Yello, headquartered in Chicago, Illinois, provides software solutions to enable companies to hire new employees as quickly and efficiently as possible.

Screen Shot 2017-04-11 at 3.30.02 PMWhile there exist numerous software systems for companies to manage information about applicants at career fairs, there is a lack of software for applicants to manage information about companies.

While attending a career fair, applicants have limited time to explore dozens or even hundreds of companies, forcing them to make important life decisions quickly, based on limited information.

Our YelloVision Career Fair Augmented Reality app is designed to help applicants to make informed decisions about potential employers while attending a career fair.

Using YelloVision, a career fair applicant looks up information about a company simply by using their phone camera to scan a company’s logo at their booth. After identifying a company by its logo, our app displays the company’s name, locations and the majors it is looking to hire. A “More Details” button provides access to more comprehensive information.

In addition to its augmented reality feature, YelloVision supports searching by company name in cases when an applicant does not want to use the logo search feature or the applicant cannot find a logo at a company’s booth.

Our YelloVision Career Fair Augmented Reality app is built using Objective C in Xcode for Apple (iOS) devices and using Java in Android Studio for Google Android devices.

Team Members (L-R): Derek Li, Cody Helmling, Claury Mejiarodriguez, Mike Lukowski


TechSmith: Teacher’s Virtual Toolbelt