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 Fall 2016:


Amazon: Asa: Your Amazon Shopping Assistant

Amazon is the largest e-commerce company in the world, accounting for 1 in 3 shopping transactions in North America.

Screen Shot 2016-11-17 at 2.27.39 PMThe number of active users on messaging platforms reached 3 billion in 2015. Asa is a shopping assistant chatbot who allows Amazon to access this market. She helps users discover and purchase items through conversations on Facebook Messenger.

Asa’s core functionality enables users to search for items and ask for product recommendations.

For example, if a user says, “I’m looking for Animal Farm by George Orwell,” Asa replies with a collection of Amazon listings for the book Animal Farm along with purchase links.

Through these conversations, Asa learns about each user and tailors future product recommendations based on what she learns. If a user asks, “Can you recommend a good book?” Asa sends a list of books based on that user’s past purchases.

Users can also ask Asa to remind them to do something, such as buying a gift for their mother or purchasing textbooks before the start of the semester.

To learn how to shop with Asa, users can ask her for help at any time. Asa responds with an instructional message that gives examples of ways to chat with Asa, including examples of how to ask Asa questions.

Asa is written in JavaScript and hosted on AWS Lambda. Asa uses for natural language processing and AWS DynamoDB for persisted data storage.

Team Members (L-R): Yiming Li, Aaron Beckett, Renee Dennis, Evan Moran, Sam Chung


Auto-Owners Insurance: Mobile Event App

Celebrating its 100th anniversary, Auto-Owners Insurance is a Fortune 500 company working with more than 6,200 independent agencies in 26 states.

Screen Shot 2016-11-17 at 2.30.40 PMAuto-Owners regularly hosts events ranging from conferences for their associates to golf outings for their agents to recruiting events for prospective employees, as well as many others.

These events vary significantly, with each designed for a specific purpose. Distribution materials describing an event may be a brochure or a website. Variations include other things like maximum capacities or options like breakout sessions.

Our Mobile Event App with its companion web app enables Auto-Owners and their guests to manage events.

Event administrators use our web app to create events including all of the relevant information and to send invitations to prospective attendees. Administrators can view lists of registered attendees along with waiting lists for events over capacity. They can create customized surveys to garner feedback about events in order to improve future events.

After receiving an event invitation, attendees use our mobile app to view the event details and RSVP. If the event is at capacity, an invitee can be placed on a waiting list and get information about similar future events. Attendees can view a list of the specific event activities so they can build a personal agenda for the event.

Our Mobile Event App, written in Swift and Java, runs on most iOS and Android devices. Our web app, written in PHP, runs on most browsers. They connect through an SQL database hosted on a Microsoft 2012 R2 server.

Team Members (L-R): Allen Scheck, Tyler Smith, Matt Krease, Shen Li, Eddy Maxwell


Avata Intelligence: Security Analytics Suite: Dataset Merger Tool

Avata Intelligence leads the security industry in artificial intelligence and advanced analytics, supporting world organizations with integrated data-driven solutions.

Screen Shot 2016-11-17 at 2.33.29 PMFor example, law enforcement units can use Avata’s platform to analyze crime records to predict when and where future crimes will occur. Rather than patrolling randomly or uniformly, officers can patrol when and where crimes are more likely to occur, thereby increasing safety and security.

Accurate analysis of crime records depends on having accurate data. Slightly different entries from different sources often represent the same crime. If there are duplicate copies of the same incident, the system may falsely predict this crime to be more common than it truly is. Unfortunately, such datasets are way too large to be checked manually for duplicates.

Our Dataset Merger Tool is a web app that automatically identifies and merges duplicate records within and across datasets in the Avata platform.

After a user selects data sources to be merged, our system uses advanced algorithms to identify duplicate records. When records are identified as duplicates with high similarity, the records are merged automatically. Potential duplicates that fall below a certain similarity threshold are presented to the user for approval before merging.

Upon completion, our system produces a report containing information useful for analyzing the resulting data integrity.

Our Dataset Merger Tool is written in ReactJS for the front-end and Java for the back-end, utilizing the Spring Boot framework. Datasets are stored in a MySQL database.

Team Members (L-R): Jonny Dowdall, Matt Scheffler, Zac Wellner, Paige Henderson, Aasiruddin Walajahi


Ford Motor Company: SYNC Calendar 

Ford Motor Company is a Fortune 500 company headquartered in Dearborn, Michigan. Last year, Ford sold over 3 million vehicles in North America while employing over 199,000 employees worldwide.

Screen Shot 2016-11-17 at 2.36.27 PMThe average American spends over five hundred hours per year in their car, time which is often time wasted. For many, time is their most precious resource.

SYNC Calendar enables drivers to interact with their mobile calendar while driving in their Ford vehicle. With SYNC Calendar, the time spent driving may be used more productively.

SYNC Calendar is a SYNC AppLink application, which connects a third-party calendar service, such as Google Calendar, with the Ford SYNC onboard vehicle system.

Upon entering a vehicle, a driver is automatically prompted to sign in with their Google Calendar login credentials. Once connected, the driver can access and update their calendar using SYNC voice commands and the SYNC dashboard.

Using our companion web app, Ford analysts can view vehicle usage statistics related to SYNC Calendar, such as the most frequently used commands. Our web app presents data visually with user-friendly charts and graphs. These analytics enable Ford to optimize and improve the app in the future.

SYNC Calendar is a mobile app for Android and iPhone devices, written natively in Java and Objective-C, respectively. The administrative web app stores all data in a Microsoft SQL database.

Team Members (L-R): Eric Pressey, Brett Durlock, Cameron Rooks, Avery Yue, John Zaidel


General Motors: Gemini: Predictive Rich Cards 

General Motors is one of the world’s foremost designers and manufacturers of cars and trucks sold in more than 120 countries. Headquartered in Detroit, GM has over 215,000 employees.

Screen Shot 2016-11-17 at 2.39.55 PMGM’s Warren Technical Center comprises over 40 buildings covering one square mile, and is home to one out of ten GM employees.

Our Gemini mobile app uses predictive rich cards to help GM employees navigate the expansive Warren campus and to manage their busy workday efficiently.

After learning about a GM employee and their typical workday, Gemini provides many helpful services. For example, it may remind them to send a follow-up email, suggest they schedule a shuttle to a distant meeting, or provide a list of close and available conference rooms when creating a meeting.

Employees using Gemini are able to spend more time on their work and less time on repetitive tasks. By drawing from geographic location, emails, search history and calendars, Gemini is able to assist users by suggesting what they may want to do next. This predictive nature is the focus of Gemini’s user experience.

A central aspect of Gemini’s interface is the use of cards. Similar to a physical notecard, Gemini’s cards present a summary of information to the user and, when selected, present a more detailed view of that information.

Written using Xamarin, a cross platform framework, our Gemini app runs on both Apple iOS and Google Android devices.

Team Members (L-R): Runzhong Wang, Andrew Davenport, Phil Prescher, Tanay Salpekar, Mike Suszan


Meijer: Intelligent Shopping List

Meijer is one of the country’s largest supercenter chains, providing high quality food and merchandise in six states across the Midwest. Meijer is leading the fast moving retail market with innovative products and services.

Screen Shot 2016-11-17 at 2.43.33 PMOur Intelligent Shopping List app automatically generates a personalized shopping list for Meijer customers, thereby streamlining the time spent on repeat purchases and potentially eliminating the need to go to the store all together.

mPerks is Meijer’s customer loyalty program. Among other features, customers use mPerks to receive and redeem coupons at checkout.

Our app uses a customer’s mPerks account history to create a personalized shopping list based on previous purchases and buying habits. It uses frequency of purchases, quantity of items purchased and time of year. Once automatically created, Meijer customers can edit their shopping list.

In addition to in-store shopping lists, customers can create shipping lists to have items shipped directly to their home at a frequency of their choosing. Deliveries can be suspended and resumed at any time.

Meijer associates use a companion web app for home delivery order fulfillment. With it, they view all pending and completed orders.

Our Intelligent Shopping List app is written using Xamarin and runs on any iOS device. Our companion web app uses Microsoft’s .NET framework and is deployed in Microsoft Azure cloud services.

Team Members (L-R): Alex Wziontka. Christina Harper, Lauren Antakil, Jacob Buckley, Adam Pruim


Mozilla Foundation: Improvements to Select Dropdown for Firefox

Mozilla is a global, nonprofit organization dedicated to improving the World Wide Web. Mozilla’s international community of developers creates open source software such as Firefox, which is the second most popular web browser with about 16% of worldwide usage.

Screen Shot 2016-11-17 at 2.48.01 PMCurrently, Firefox is undergoing the largest redesign in its history. This redesign involves new styling, new features and new ways for Firefox to do multiple tasks simultaneously.

Options in Firefox are often presented to users in the form of a list like the one at the right, which is called a “select dropdown.” Our improvements to the select dropdown implement the new Firefox styling and add new search features. Our improvements provide a more modern and faster web browsing experience.

With our new search functionality, users can find items in a long dropdown list quickly by typing a few letters from the item of interest, like the example of typing “mi” shown at the right. Only the list items that contain these search letters appear in the list, thereby shortening the list and making it much easier to find the desired item.

Our improved select dropdown also features enhanced styling with modern web fonts used by the computer on which Firefox is running, which gives a more seamless and familiar browsing experience to roughly half a billion Firefox users worldwide.

Our improvements to the select dropdown require the addition of code in many sections of Firefox’s 4.5 million line code base. Our code is written in C++, JavaScript and XUL. The new styling is accomplished with CSS.

Team Members (L-R): Jared Beach, Mark Golbeck, Tyler Maklebust, Michael Wright, Fred Luo


MSU Federal Credit Union: Member Ratings and Reviews

Founded in 1937, Michigan State University Federal Credit Union serves the Michigan State community, as well as the Oakland University community. MSUFCU provides financial security and exceptional service to its members. MSUFCU has 17 branches, over 228,000 members, and more than $3.28 billion in assets.

Screen Shot 2016-11-17 at 2.53.31 PMOur Member Ratings and Reviews system enables MSUFCU members to provide feedback on MSUFCU products and services. Members can give ratings from one to five stars and write reviews for any product or service, or the customer service related to any product or service.

MSUFCU members can browse reviews by category, sort them by rating or helpfulness, and filter them by keyword. Members can comment on or rate the helpfulness of a review.

A user preferences page allows members to upload a profile picture or set a display name. Members can also check a box to remain anonymous to other members when posting.

An administrative dashboard gives MSUFCU staff access to detailed information about the reviews for each product. MSUFCU staff can reply to member reviews to get more information from members about their experiences, or to assist with members’ issues or concerns.

Our Member Ratings and Reviews web app is written in HTML, CSS, JavaScript and PHP. The mobile versions are native apps written in Swift for Apple iOS and Java for Google Android devices. All three interface with a MySQL database.

Team Members (L-R): Mitch Frisbie, Joey Hollopter, Cameron Holmes, Mike Sagan


Quicken Loans: Pharos: Hiring Process Automation

Quicken Loans, based in Detroit, Michigan, has been providing affordable mortgages and award-winning client service for more than 30 years. It is the nation’s largest online mortgage lender.

Screen Shot 2016-11-17 at 2.57.38 PMIdentifying and recruiting the very best talent is key to Quicken Loans’ success. Unfortunately, the interview process is not an exact one and has the potential to produce inconsistent results.

Our Pharos software system removes the potential subjectivity of interviews by administering personality and intelligence tests to job candidates. In addition, our app determines whether or not a recruit is compatible with Quicken Loans’ corporate culture.

After logging into Pharos, recruits are presented with a dashboard of the tests that they can complete. For timed tests, a clock appears indicating the time remaining. A progress bar indicates how many questions are left. When a test is completed, the test link on the dashboard is disabled, thereby preventing users from retaking a test.

Quicken Loans associates use our Pharos’ administrative dashboard to create a test, view available tests, assign a test to a recruit, and view test results. The test results are summarized graphically in a clear and concise manner, which gives the Quicken Loans associate an easy way to digest large amounts of data.

Our Pharos web app is written in C#. It runs on the ASP.NET Web API and uses JavaScript with an AngularJS frontend framework. D3.js is used to handle data analytics and visualization. Our platform is supported by a MySQL database which stores recruit information.

Team Members (L-R): Andrew Davis, Qichao Wang, Paul Lapczynski, Sonu Chinta, Dan Thompson


Rook Security: Anomaly Detection Suite v2.0

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.

AmonScreen Shot 2016-11-17 at 3.02.56 PMg Rook’s security solutions is the Anomaly Detection Suite (ADS) v1.0, which clients use to protect their networks against a wide range of cybersecurity threats. Through network traffic analysis, a specialized computer running patent-pending Rook software detects anomalies allowing action to be taken before an attack occurs. However, the recent advent of large- scale, cloud-based, virtual computing creates a need for a more distributed approach.

Our ADS v2.0 adds new capability by deploying highly specialized “intelligent” agents running on all of the client’s computers. These agents perform analysis locally, thus creating a distributed workload model. ADS v2.0 uses machine learning to detect attacks sooner and with greater accuracy.

In addition, ADS v2.0 includes a new web-based management dashboard providing real-time visual representations of detected anomalies, threat statistics, as well as information regarding agent health. The dashboard allows admins to deploy and configure agents remotely. It also ensures that analysts can quickly find and act upon infringing anomalies, as well as ensures that all agents are working properly.

Our ADS v2.0 agent software is written in C for both Windows and Linux. Our ADS v2.0 dashboard is written in JavaScript using ReactJS and is supported by a RESTful Python web service, which leverages the Django framework.

Team Members (L-R): Zach Rosenthal, Grant Levene, Brian Harazim, Cam Gibson, Andrew Werner

Team Members (L-R): Zach Rosenthal, Grant Levene, Brian Harazim, Cam Gibson, Andrew Werner


Spectrum Health: Healthier Communities Time Banking

Spectrum Health, located in Grand Rapids, Michigan, provides high quality, high value healthcare through its seven hospitals, more than 140 service sites, and Priority Health, a health plan with nearly 500,000 members.

Screen Shot 2016-11-17 at 3.14.05 PMSpectrum Health’s patients include homebound adults who often lack family and friends to care for them. Without caregivers, homebound adults can become lonely and even depressed, resulting in a poor quality of life.

Our Healthier Communities Time Banking social web app connects homebound adults with volunteer caregivers. Homebound adults can post requests for services. Volunteer caregivers are able to browse these requests and respond.

For example, homebound users themselves may be able to fulfill requests of other homebound adults by providing help with using a computer. Users requesting a service can offer payment in the form of “time banked” when helping others, thus giving them the much needed feelings of being useful and having a purpose.

Our chat system also enables homebound adults and volunteer caregivers to chat with each other. Users can set up fulfillment of requests or just talk with each other and get the socialization that all humans need.

By enabling caregivers to provide for their needs, our app is improving the lives of homebound adults throughout West Michigan.

Our Healthier Communities Time Banking web app utilizes Angular 2 and .Net Core for MVC and WebAPI utilization.

Team Members (L-R): Courtney Irwin, Liam McGrath, Caleb Eckman, Halle Dymowski, Shirley Li


Symantec: Web Frameworks for Multi-Factor Authentication

Countering the threats of tomorrow, Symantec Corporation is a global leader in cybersecurity technologies. Located in Silicon Valley, Symantec offers software solutions and services related to information and computer protection.

Screen Shot 2016-11-17 at 3.27.15 PMCurrently, users’ data is protected often with only a password, which is no longer adequate. One approach to increase security is to use two-factor authentication (2FA), which adds a second factor such as a security code sent as a text message.

Symantec provides a 2FA product called Validation and ID Protection, also known as VIP Service, which is a Simple Object Access Protocol (SOAP) web service. Unfortunately, using the XML-based SOAP APIs is challenging in modern web frameworks, creating a barrier to entry that is significant enough for most developers to choose a competitor’s 2FA product.

Our Web Frameworks for Multi-Factor Authentication enables developers to integrate Symantec’s VIP easily into any modern web framework. We provide software development kits (SDKs) for three of the most widely used web technologies: Ruby, Python and Node.js. Using our SDKs, developers can implement Push, SMS, voice code or VIP 6-digit security code methods as a second factor of authentication.

Sample applications demonstrate the ease of making and receiving function to VIP Service calls in native programming language. Along with these sample applications, documentation is available on the GitHub.

Open-source SDKs are provided for Ruby, Python and Node. JS on the Ruby Gems, PyPi and NPM repositories, respectively.

Team Members (L-R): Gabe Morcote, Allen Huynh, Hanlin Ye, Jack Deters, Ryan Caster


TechSmith: Video Sentiment Analysis

Located in Okemos, Michigan and founded in 1987, TechSmith creates software platforms that enable users to share ideas and information in dynamic and engaging ways.

One of TechSmith’s flagship products, Camtasia, makes video creation easier now than ever before. Yet, producing good content is still a challenge because it’s very difficult to obtain accurate feedback from viewers. Often, comments and ratings reveal very little about a video’s actual impact on viewers.

Our Video Sentiment Analysis (VSA) system records reactions of a viewer to a video without any interactions other than watching the content using our player app.

VSA determines the viewer’s emotions automatically by analyzing a video recording of the user watching the video. VSA also records the viewer’s usage of media controls including playing, pausing and skimming.

In addition to our video player, our VSA system provides a web app for video authors. Viewers are selected and sent an email invitation to view a video using our player app. As part of accepting the invitation, viewers agree to return their usage data and webcam footage for analysis.

The video author then uses our web app to analyze a viewer’s responses. By looking at a specific response, an author can see the emotional state of the viewer, and determine whether or not the video is eliciting the desired reaction.

Video Sentiment Analysis is comprised of a Universal Windows app and a website. The app is developed with C# and XAML. The website is built with ASP.NET on Azure.

Team Members (L-R): D.Y. Choi, Corey Wisser, Alex Lambert, Kyle Sippel, Tony Capriglione


Urban Science: Dealership Simulator 2017

Urban Science delivers consulting and software solutions that help automotive clients increase market share and boost profitability through high performing retail networks.

In order for all Urban Science associates to be most effective, it’s important for them to understand how automobile dealerships work. In particular, it’s important for them to understand how different factors, called key performance indicators (KPIs), affect the success of a dealership.

Urban Science associates learn about running an automobile dealership by playing our video game, Dealership Simulator 2017. With each turn, players adjust KPIs on a month-by-month basis to see the effects on their dealership.

Our game provides very accurate business scenarios since the calculations for the simulated dealership in the game are based on data from actual dealerships in the real world. Players quickly learn that some KPIs have a much greater impact than others on a dealership’s profitability.

Dealership Simulator 2017 is easy for anyone to learn how to play. In addition to profitability, players see the cars in their lot, depending on how many and what type of cars they buy each turn.

Our game runs in any web browser as well as on Apple iPads and on Google Android devices.

Dealership Simulator 2017 is written with the Unity3D game engine and C# scripting. Our backend uses a Windows Server with PHP and SQL to implement our database.

Team Members (L-R): Ryan Feldman, Ryan Magliola, Scott Holzknecht, Dean Gleason, Jonny Schuller


Whirlpool Corporation: Mooch

The Whirlpool Corporation is the world’s leading manufacturer of major appliances. With over $20 billion in annual sales, Whirlpool’s extensive brand portfolio includes Whirlpool, KitchenAid, Maytag and more.

The food market in the U.S. is a $1 trillion business. Yet, only half of this figure is attributed to eating at home, and nearly 40% of all food goes to waste.

Our mobile app Mooch makes it easy for people living in housing communities like apartment buildings or condominium complexes to share and sell food.

Extra food is not wasted when it’s easy to find someone who wants it. And, cooking at home with Whirlpool appliances is a breeze when nearby neighbors provide the missing ingredients.

Mooch users find their housing community based on their current location or based on a specific address. Scrollable lists of food items for sale or for sharing are displayed on Mooch’s home screen. Users can scroll through the list, search for specific items, or explore preset categories.

Tapping on a food item brings up more details such as a description, posting date, quantity, price and seller information. Items are claimed with the simple press of a button.

Administrators use our Mooch web portal to manage listings, users, categories and exchanges, and to view usage statistics.

Mooch is based on Ruby on Rails. The iOS and Android apps are written in Swift and Java, respectively. Data is stored using MySQL and NoSQL, which are hosted on Google App Engine.

Team Members (L-R): Caleb Swanson, Daniel Jiang, Noah Hines, Lauren Robb, Adam Schoonmaker


Yello: Visualizing Dynamic Data Exploration

Overlooking Millennial Park in downtown Chicago, Yello provides talent acquisition software to assist companies with filling their most challenging job openings.

Yello’s software is used by companies and candidates around the world. Each candidate inputs their contact information, academic profile and career profile, as well as uploads a digital copy of their résumé. Companies download candidate information, process candidate evaluations, and do outreach.

As Yello’s software is used by hundreds of companies and many thousands of candidates over numerous years, very large amounts of useful and informative data are collected. Unfortunately, large datasets are notoriously hard to explore and even harder to comprehend.

Our Visualizing Dynamic Data Exploration app provides the means for recruiters to analyze large datasets and to discover underlying trends. The data is visualized by converting it to an infographic that is dynamically viewable and editable.

A user of the app imports the data, selects what information to visualize, and then generates the infographic. Once generated, the app allows for filtering and selection of the represented data, manipulation of the infographic to help with understanding, and cosmetic adjustments to assist in the presentation of the data.

Our Visualizing Dynamic Data Exploration app is written in Python, Django, JavaScript, CSS and HTML. Additionally, SQLite is used for our database and the open-source D3 JavaScript library is utilized for the visualizations.

Team Members (L-R): Greg Spletzer, Matt Chebowski, Stephanie Winsky, Jim Wang, Jarrod Rougeau