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 2019:

Accenture: Email Classification Using Machine Learning

Accenture is a Fortune Global 500 company that solves their clients’ toughest challenges by providing services in strategy, consulting, digital, technology and operations. Accenture’s iDefense provides contextual, timely and actionable security intelligence to the largest governments and organizations in the world, enabling them to make smarter decisions to defend against new and evolving threats.

Spam emails are a growing issue for many companies. According to SpamHaus, 14.5 billion spam emails are sent globally every day, accounting for nearly 45% of all emails sent. Spam emails can range from mild annoyance to exceedingly dangerous, possibly containing potent computer viruses and malware.

Due to the increased sophistication of spam emails, it is becoming more and more challenging for companies and employees to determine the legitimacy of their email messages. Any mistake by an employee can lead to a serious security breach.

Our Email Classification application utilizes machine learning and natural language processing algorithms to automatically classify and categorize incoming emails based solely on their content, thereby quickly and easily identifying spam emails.

Without the threat of malicious spam emails, employees and companies can more safely and securely manage their emails without worrying about potential security threats.

Administrators and security analysts from Accenture’s client companies also have access to our web dashboard which enables them to easily view metrics and statistics of their email systems.

Our Email Classification Using Machine Learning system is hosted on a virtual machine running CentOS. Our web app is built using Flask and Bootstrap. Our data is stored in a Mongo database.

Team Members (L-R): Varsha Odapally, Kevin Wilson, Yuyu Su, Griffin Carr, Sofia Colella

Amazon: SPARTI: Selling Partner Application Ready to Integrate

Founded in 1994 as an online bookstore, Amazon is the largest online retailer in the world. Amazon has seen tremendous growth and success, making history by becoming the second U.S. company to be valued at $1 trillion. A key factor in Amazon’s rise to the top is their e-commerce platform, which accounted for nearly 50% of all online retail purchases last year.

Today, more than half of the items sold on Amazon are managed and listed by third-party sellers. Amazon third-party sellers utilize the Amazon Seller Central portal to manually manage their listings and inventories on Amazon’s platform. While the Seller Central site works well for small businesses, manual management becomes close to impossible for large and growing businesses.

Third-party sellers often create custom selling management applications. However, the process of creating these custom applications is often too difficult or overly time-consuming.

Our SPARTI application (Selling Partner Application Ready to Integrate) enables Amazon’s third-party sellers to quickly and easily create custom selling management applications.

SPARTI provides users with a template application capable of fully connecting with Amazon’s seller services. To deploy their custom site, a third-party seller merely needs to update the given template code with their own information.

Turnkey integration with Amazon Web Services (AWS) is also supported within SPARTI, giving third-party sellers the ability to automatically deploy and host their applications in the cloud.

Within the course of a day, a third-party seller is able to utilize the SPARTI project to build a containerized .NET application hosted on AWS ECS Fargate. The infrastructure for the application is instantiated by AWS CloudFormation.

Team Members (L-R): Tyler Rozwadowski, Jordan Mulcahy, Rose Wang, Matt Maple, Noah Girard

AppDynamics: BizIQ Flow May Using Sequential Analytics Data

Acquired by Cisco for 3.7 billion dollars, AppDynamics offers Application Performance Management (APM) solutions to their customers. These APM solutions monitor customers’ application stacks and give them flawless experiences.

Currently, customers have access to linear flow map representations of individual applications. However, customers cannot represent business transactions that branch in multiple directions and across multiple application stacks.

BizIQ Flow Map Using Sequential Analytics Data augments AppDynamics’ current offerings by allowing customers to represent multi-branch and multi-application business transactions. It enables users to create custom flow maps representing the various transactions and save the flow for viewing and editing purposes.

Flows are easily analyzed. The user sees the average time it takes for a particular business transaction to occur and the flow can be filtered to show specific instances.

Consider the manager of a car manufacturer. The manager is assessing the time it takes for a customer to unlock their car door using an app on their cell phone. When a user unlocks their car with the mobile app, events are collected and sent to a central interface.

These various events are connected to create a flow map. If there is an issue with the amount of time elapsed after the user unlocks their car, the manager sees this in the flow map. For example, if verification usually takes one second and the flow shows it took five seconds, a potential problem may be impacting this user. The flow map generated by BizIQ Flow Map Using Sequential Analytics Data alerts the manager to this potential problem.

BizIQ Flow Map Using Sequential Analytics Data is created using Node.js and utilizes the AppDynamics Analytics API to acquire data. The visuals of the project are created using d3.js, React and CSS.

Team Members (L-R): Quinton Schwagle, Naifu Ji, Ben Read, Carter Lewis, Tom Currie

Auto-Owners Insurance: “Danger Diner” VR Training

Auto-Owners Insurance is a Fortune 500 company that provides home, life, automobile, and business insurance to over 3 million policy holders. With over 47,000 independent agents, Auto-Owners has been serving the community since 1916.

Auto-Owners insures businesses throughout the Midwest. Therefore, recognizing good and bad safety practices is an essential skill for their insurers.

The best way to learn the principles of good or bad business practice is real-world experience. However, this can be prohibitively expensive and time-consuming.

Our “Danger Diner” VR Training is a competitive virtual reality game designed to teach Auto-Owners insurers to identify good and bad safety practices. Insurers learn in an immersive and interactive way providing them with a realistic experience.

Using an Oculus Rift headset, Touch controllers and sensors, insurers explore a virtual restaurant. A player is tasked with identifying potential safety and hazard items throughout the scene. Players are educated about business safety with a simulation of a realistic, everyday restaurant.

Each round features a unique selection of items. All item locations are randomly generated, ensuring that no two game sessions are the same.

To give our game a competitive feel, the scores are recorded and displayed on a leaderboard.

“Danger Diner” helps new insurers get hands-on training with no setup or expense and can also be played with large groups for training seminars and meetings.

“Danger Diner” is built using the Unity Game Engine. The game is played using an Oculus Rift headset, Oculus Touch controllers, Oculus sensors, and the SteamVR application.

Team Members (L-R): Nick Xie, Max DeDona, Jillian Tosolt, Max Dudley

Bosch: Integration and Testing Suite for ADAS Radar Sensors

Founded in 1886 by Robert Bosch, Bosch is an engineering and electronics company with products sold in 150 countries worldwide. In addition to its industrial and building lines of products, Bosch is the world’s leading supplier of automotive components.

Bosch develops sophisticated radar software for use in driver assistance systems. These radars are used to detect and identify obstacles and hazards on the road. Based on the output of the software, cars can notify drivers of hazards, and even automatically brake to avoid a collision.

Every configuration of radar and hardware requires a unique software system. Consequently, each configuration also needs a unique testing and deployment system. The testing and deployment of Bosch’s radar software is currently done manually, requiring significant investment of time and money.

Our Integration and Testing Suite for ADAS Radar Sensors automates the testing and deployment of Bosch’s radar software. Whenever an engineer updates their code, the resulting software undergoes extensive automatic testing. This testing verifies that any updated software does not compromise the radars or their functionality.

Automatic deployment and testing enable Bosch’s developers to quickly identify malfunctioning software, patch any software bugs, and avoid introducing any new errors.

Our Integration and Testing Suite frees engineers to focus on implementing new features without the concern of errors, instead of manually running tests.

Automated flashing and testing use Jenkins. Flashing is communicated using CANape and CANalyzer. This provides functionality so that when a Bosch engineer changes the software in Bitbucket, a Jenkins job then starts and tests the software.

Team Members (L-R): Wei Li, Jesse McClay, Jana Holderbaugh, Nick Grenn, Evan Martin

The Dow Chemical Company: 3D Product Showcase Application

With over a century of experience, Michigan-based Dow is a global leader in the innovation, creation, and distribution of specialty chemicals, advanced materials and plastics.

As a materials science company, Dow uses augmented reality applications to assist with marketing. Augmented reality is a technology that places a virtual object in the user’s view of the real world (see image to the right). At trade shows, these augmented reality applications demonstrate the value of Dow’s materials by providing interactive 3D models of their clients’ products.

For each product, a new application must be created, or an old application must be manually updated. Dow’s product catalog is continually expanding, requiring a significant time commitment on the part of Dow engineers.

Our 3D Product Showcase Application provides a standard platform for augmented reality experience creation. Customers can now use one application to view any of Dow’s clients’ products.

Viewing the world through a smartphone’s camera and screen, Dow customers can view and interact with 3D product models as if they exist in the space around them. Users can place a product on any visible surface, allowing for easy customization and visualization through tapping interactive regions around the model.

Utilizing our platform, Dow engineers and sales teams can easily and quickly develop new augmented reality experiences. Dow customers can now navigate one application for all Dow products, as opposed to learning a new application for each product.

The 3D Product Showcase Application stores product information and models in an SQL database in the Microsoft Azure cloud. The front end is implemented in C# using the Unity Game Engine and the AR Foundation framework for augmented reality. Our application supports both iOS and Android devices.

Team Members (L-R): Brandon Garrison, Leith Chatti, Winnie Yang, Jacob Marcus

Evolutio: ERP Air Force: Drone Elephant Recognition and Tracking

Evolutio is a group of technology professionals convinced that business problems have significantly simpler solutions than the market is led to believe. These solutions span across the globe, including the non-profit Elephants, Rhinos, and People (ERP), a group founded to preserve and protect Southern Africa’s wild elephants and rhinos.

As part of their initiative to preserve and protect elephants, ERP uses drones, or Unmanned Aerial Vehicles (UAVs), to monitor elephants on Dinokeng Reserve in South Africa.

Drone operation, however, is costly and time-consuming. Elephants are seldom captured in drone footage and, when present, are difficult to spot. Video data collected from drone flights require manually analyzing hours of uninformative footage to find the few video frames that contain footage of elephants.

Our Drone Elephant Recognition and Tracking application serves two main functions: elephant recognition and predictive elephant tracking.

Elephant recognition specifies where and when in the hours of drone footage elephants are present (shown on the right). Our automatic elephant recognition removes the need to manually analyze video footage, saving ERP hundreds of man hours.

Elephant predictive tracking predicts potential future elephant locations. Predictive tracking allows pilots to create flight paths that maximize the chance of flying over elephants, allows rangers to be deployed to the correct location for checkups or, in the case of an active poacher situation, to confront the poacher.

ERP personnel use our web dashboard to view video footage, as well as the results of our Elephant Recognition and Tracking.

The web dashboard is built with VueJS interfacing with a Python Flask RESTful API. Detection of elephants uses a YOLOv3 model. A recurrent neural network uses GPS collars to predict elephant movement.

Team Members (L-R): Kunyu Chen, Jeremy Arsenault, Tyler Lawson, Nic Wiggens, Rei Doko

Ford Motor Company: Ford Mobility Product Metrics

Ford Motor Company is an international automotive manufacturer based in Dearborn, Michigan. Ford employs nearly 200,000 people worldwide and is currently ranked among the top ten automobile companies in the world.

The car buying experience is becoming more and more digital as consumers are buying cars online in record numbers, spending about 60% of their time online. Ford embraces this reality and offers customers top-class online shopping experiences.

To keep their websites running smoothly, Ford’s employees need to closely monitor the health of their websites to ensure excellent customer service, which can be time-consuming.

Our Ford Mobility Product Metrics platform includes intuitive, mobile, and easy-to-use chatbots, as well as a web metrics dashboard.

Ford’s employees can ask our chatbots for information on a variety of topics, including Ford’s software products, as well as website user metrics. Employees can also schedule regular report generation using our chatbots to stay up to date on the health and overall performance of Ford’s websites.

Our chatbots give Ford’s employees the ability to easily and quickly analyze the performance of Ford’s websites and software. For a more comprehensive view, employees can use our web dashboard.

When a customer visits any of Ford’s websites, their behavior is monitored and stored. Our web dashboard allows Ford’s employees to view and analyze user behavior to monitor the success and health of Ford’s websites and software.

Our Node.js chatbots serve Slack and Webex Teams applications. The data is collected from Ford’s Azure Log Analytics API and a MySQL database. The dashboard is created with Grafana.

Team Members (L-R): Raylen Liang, Yangkai He, Romi Yun, Samuel Wakeman

General Motors: Profiling Manufacturing Plant Computer Network Traffic

General Motors is one of the world’s foremost designers and manufacturers of cars and trucks, which are sold in more than 125 countries. Headquartered in Detroit, GM operates almost 400 facilities on six continents.

The Internet of Things is an up-and-coming computer networking and data collection paradigm that utilizes many individual computers all working together towards a single goal.

GM’s manufacturing plants use the Internet of Things to increase efficiency and reduce errors in their manufacturing processes.

To protect their Internet of Things network, GM employs extensive real-time monitoring to alert them of any security threats or network malfunctions. As the Internet of Things network grows, the overhead of real-time monitoring increases, necessitating maximum efficiency.

Our tools for Profiling Manufacturing Plant Computer Network Traffic utilize machine learning techniques to efficiently identify potential network anomalies in GM’s manufacturing plants. Users can view the data and results of our monitoring in a web dashboard.

GM’s security analysts use our web dashboard to monitor and visualize the performance of the Internet of Things network. Any detected anomalies are ranked with a severity score, allowing the security analysts to solve the highest priority threats as soon as possible.

Our tools allow GM’s Internet of Things network to grow without sacrificing security or introducing expensive overhead.

Network flow data is stored in a MySQL database and our machine learning models are implemented in Python. These models are trained with network logs collected from multiple GM manufacturing plants. Users can interact with the system via a Tableau dashboard.

Team Members (L-R): Joseph Guzman, Ignacio Brarda, Bella Oh, Logan Cummings, Ben Frisanco

Harvard Law School: “StackLife” Library Search and Display Tool

Founded in 1837, Harvard Law School is the oldest law school operating in the United States. Consistently ranked as one of the top universities in the world, an average of 560 students enroll in Harvard’s prestigious law program each year.

The media presence surrounding Islamic news, policy, and debate makes easily accessing the millions of surviving Islamic/ Sharia documents more important than ever.

Harvard Law School wants to consolidate the world’s information on Islamic law and history with the hope of facilitating universal access.

Harvard Library currently has cataloged records from multiple data sources. Some of this data is inaccurate or misplaced, causing the information to be difficult, even impossible, to access.

Our “StackLife” Library Search and Display Tool consolidates the data from Harvard Library and stores it in one, easily accessible location.

Consolidating data not only allows for easier access, but also helps to remove inconsistencies and inaccuracies that may exist between multiple data sets.

Researchers use our website to customize searches to locate sources as well as save their searches, allowing seamless repeated querying.

As more users search for sources, our specialized search algorithm continuously improves the research experience, placing more relevant resources first.

Our application is built using Bootstrap and Python Flask and is contained within Docker. We are using Amazon Web Services to create a relational database server with MySQL 8.0.

Team Members (L-R): Jaimee Beckett, Ze Liu, Andrew Vo, Ethan Dunnum, Sean Wright

Herman Miller: Computer Vision for Furniture Manufacturing

Headquartered in Zeeland, Michigan, Herman Miller is one of the world’s largest producers of high-end office furnishings. The company’s ergonomic office chairs are used in modern workspaces around the globe.

Herman Miller provides a wide array of customization and configuration options for each piece of furniture, including an extensive catalog of over 30,000 fabrics.

Every individual piece of fabric used in a product undergoes extensive human verification to ensure the correct fabric is used and no defects are present. Some fabrics, however, are very similar, with differences scarcely visible to the human eye.

Our Computer Vision for Furniture Manufacturing system utilizes machine learning to verify fabric color and pattern on each piece of furniture that passes through the assembly line.

First, Herman Miller’s entire fabric catalog is analyzed to enable our system to know what fabrics are available.

When a panel passes through the assembly line, a barcode is scanned, processed, and an image of the furniture is taken and sent to our system. This barcode indicates what fabric should be present. If there is an error, the fabric and the barcode will not match.

The verification results are displayed for Herman Miller operators on our web dashboard. If an error is detected, the operator can rectify the problem before the product is shipped. Our system removes human errors that might occur from similar looking fabrics.

The Computer Vision for Furniture Manufacturing system uses Tensorflow and SageMaker to handle color and pattern verification. Flask, which is hosted on Amazon Web Services, provides a web interface to display verification results. A Raspberry Pi, barcode scanner, camera, and a light system are used to take consistent photographs on the assembly line and upload them to Amazon Web Services for analysis and verification.

Team Members (L-R): Phillip Wang, Steve Cauthen, David Mora, Jacob Wisniewski, Tao Mao

Herman Miller: Computer Vision for Furniture Manufacturing

Founded in 2002, Learning A-Z is an education technology company dedicated to expanding literacy through an extensive collection of thoughtfully designed tools and resources. With nearly 8 million active students, Learning A-Z seeks to provide students with the 21st century skills they need to excel in the classroom and beyond.

Learning A-Z currently offers an extensive suite of educational resources. Students use Learning A-Z’s software for a multitude of subjects and lessons and therefore are familiar with the content and style. When a new resource is added, students waste less time learning the software and more time learning the material.

Our Robot Builder Word Guessing Game provides a personalized vocabulary learning experience for students. The game is designed with Learning A-Z’s style and content, allowing students to focus on learning vocabulary.

When a game is started, a word is chosen at random and an outline of the robot shape appears.

If the student chooses a correct letter, it appears in the word and a robot part is displayed (see image to the right). If the student completes the word, they are awarded a number of stars, which is the common currency for the Learning A-Z software.

Upon completing the word, students are given the option of entering a bonus round where they choose the definition of the word that was presented.

Based on previous results, words are chosen to best match the skill level of each individual player. If a student struggles with a particular word or set of words, our system exposes them to more words of the same difficulty.

Our Robot Builder Word Guessing Game is developed using Angular for the front end and Swift for iOS platforms. It communicates with our MySQL database using PHP.

Team Members (L-R): Peyton Ritchie, Chris Zhao, Renee Wines, Jerod D’Epifanio, Namhee Choi

Meijer: Creating Picking and Fulfillment Efficiency

Meijer, one of the country’s largest supercenter chains, provides high quality groceries and merchandise to several states across the Midwest United States. Meijer has over 240 stores, 77,000 team members and is continuously improving today’s shopping experience with cutting-edge technology like curbside pickup and online grocery ordering.

Third-party shopping services enable customers to order groceries online. A professional shopper then does the shopping for them and delivers the groceries directly to the customer’s home.

The satisfaction of both the customer and the professional shopper is directly related to the speed of the overall delivery. If the professional shopper does not know the layout of a store, or chooses a non-optimal path, the order picking duration will increase.

Our Creating Picking and Fulfillment Efficiency system calculates the optimal path through Meijer supercenters to increase the efficiency of professional shoppers. Faster delivery leaves the customer satisfied, and allows the professional shopper to fulfill more orders, thereby increasing their profits.

Customers place orders online, which are then accepted by professional shoppers. The shoppers fulfill these orders by picking up the items a customer has ordered. Our application, running on Android and iOS devices, uses a sophisticated pathfinding algorithm to determine the optimal route to each item on the shopping list.

Our pathfinding algorithm is generalizable and can be used in any Meijer store. Also, our algorithm takes into consideration factors such as frozen and perishable items that need to be picked up at the end of the shopping trip.

The Android and iOS apps are written in C# and XAML using cross- platform interfaces created with Xamarin.Forms. These apps make requests to a SQL server database hosted in a Microsoft Azure Cloud environment via a .NET Framework API.

Team Members (L-R): Mitchell Setsma, Dylan Iseler, Sarah Mostofizadeh, Aslan Tashtanov, Yingbao Wang

Michael Sadler Foundation: GameChang3rs Learning Management System

The mission of the Michael Sadler Foundation is to inspire and empower students in building their personal legacies. The foundation uses six pillars of character as stepping stones for this growth, and does so with the GameChang3rs Program.

GameChang3rs is a program to give students tools that will help them develop strong character, make good choices, and become socially and emotionally engaged. GameChang3rs student ambassadors are volunteer high school students who teach and mentor elementary school students.

As the foundation expands, organizing and analyzing the accrued data becomes challenging and complex. Current data analysis and organization exists in Excel spreadsheets and paper.

Our GameChang3rs Learning Management System helps to automate and digitize this process. Our web application allows administrators to manage staff and training material, as well as collect student metrics on the effectiveness of different lessons and initiatives.

Used by administrators, student ambassadors, and foundation sponsors, our application is a hub for all foundation materials, including lessons, quizzes and presentations.

Google applications, which are used for presentations, videos, and quizzes, are fully embedded in our site, ensuring that GameChang3rs members can access all of their data and materials in one convenient application.

With the end goal of rapid expansion, our Learning Management System is designed to be fully scalable to include more ambassadors, schools, and even organizations in the future.

The Gamechang3rs Learning Management System front end is built using JavaScript, HTML and Bootstrap. The back end uses PHP and is hosted on Amazon Web Services through AWS Elastic Beanstalk.

Team Members (L-R): Ahmad Hejase Bazzi, Maoshan Liao, Hannah Wood, Cody Mohr

Michigan State University ITS: Spotlight: Discovering Clubs and Student Organizations

The nation’s pioneer land-grant university, Michigan State University (MSU) is one of the top research universities in the world. In addition to nationally ranked and recognized academic programs, there are over 900 registered student clubs.

Among the 50,000 students on campus, around 9,000 are first-year students. Many join clubs to find friends and de-stress from school activities, but identifying interesting clubs is a challenge. Research has shown that students who take part in campus activities are happier, healthier and have better grades. This is why MSU ITS, MSU’s primary IT division, is committed to helping students find clubs with Spotlight. Spotlight is a mobile app and website that suggests clubs and events to students. Unlike mass emails and fliers, Spotlight is tailored to the students’ specific interests, allowing them to pinpoint clubs they want to join.

Students using Spotlight input their general interests upon first using our application. Spotlight then provides students with club and event recommendations based on these interests, as well as shared interests with similar students.

When searching for events, students have many options. If proximity is important, a map view of campus shows nearby events for students to attend and provides directions to get there safely.

If a student has a busy schedule, time of day might be more important than location. Spotlight allows users to filter events by meeting time in addition to location, member count and other characteristics on the Discover Page (shown on the right).

Spotlight’s personalized home view (shown on the right) provides an updated feed of announcements and information from joined clubs. Spotlight is developed with Swift for iOS, Kotlin for Android and Vue.js for Web. The AWS Lambda API is written in Node.js and uses MySQL as the underlying database.

Team Members (L-R): Noah Stewart, Collin Nicaise, Koshiro Iwasaki, Brendan Carpio

Microsoft: ITPro Company Portal

Microsoft is a longtime leader in the technology industry, providing enterprises with a comprehensive suite of software solutions created to drive productivity.

As the world evolves technologically, more and more people are using their personal mobile devices to perform company work, both inside and outside of the office. This allows for more flexibility and productivity for employees, and lowers the hardware costs for companies.

However, as more personal devices connect to corporate networks, it becomes important to keep corporate information safe from unwanted access and malicious attacks.

Our ITPro Company Portal is a system that enables information technology (IT) administrators to ensure that all company employees’ personal mobile devices are both secure and reliable.

Prior to using one’s personal mobile device for work, the user downloads the ITPro app, which allows an IT professional to check that it is indeed secure and reliable. ITPro does so with very limited access, which maintains an employee’s personal privacy and complete control over their device’s non-work information. Our application comes with a variety of features for the user such as status updates on the system, policy creation, and user control.

Using ITPro, IT administrators can be confident that all mobile devices company-wide are compliant with corporate security and reliability policies. And, since ITPro itself is a mobile cross-platform app that supports Google Android, Apple iOS, and Microsoft Windows devices, administrators can do so using any device, from anywhere in the world, at any time.

Our ITPro Company Portal app is written in C# using the Xamarin framework within Microsoft Visual Studio. It communicates with Intune via the Microsoft Graph API.

Team Members (L-R): Sam Batali, Reid Wildenhaus, Bryce Hrusovsky, Jingwei Wan

Mozilla Corporation: Splitting the Atom. Again.

Mozilla is a global, nonprofit organization dedicated to improving the World Wide Web. Mozilla places a strong focus on open-source projects that prioritize the privacy and security of its users. Mozilla’s most popular project, Firefox, is the second most used desktop browser, serving over 250 million users worldwide.

Recently discovered security vulnerabilities, “Spectre” and “Meltdown,” have reiterated the need for computers to maintain the security and privacy of their users. To this end, Mozilla has started to convert Firefox to a new system, called Fission.

Currently the Firefox browser runs each webpage in a single process, which can be thought of as a physical container. Each webpage consists of multiple parts. If these parts all reside in the same container, then they can interact with each other’s parts, thereby enabling potential security vulnerabilities.

Fission is a new paradigm developed by Mozilla to split webpages in Firefox into multiple processes, or containers, to protect the user from potentially malicious web pages or advertisements. Using Fission, a malicious web page can no longer access private information because it no longer resides in the same container as anything else.

To implement Fission, Firefox’s underlying infrastructure must be reworked. Firefox is massive, containing over 5 million lines of code, so converting the entire browser to Fission is not trivial.

Our “Splitting the Atom. Again.” project updates various parts of the Firefox browser, such as picture-in-picture video, pop-up blocking, and page thumbnail creation, to use Fission. From a Firefox user’s perspective, this transition is unnoticeable, but it is essential to ensure a secure browsing experience.

These advancements are implemented using JavaScript, with Mercurial used for version control and Phabricator used for code reviews.

Team Members (L-R): Alex Vamvounis, Teja Bayya, James Jahns, Tyler Staats, Carson Greene

MSU Federal Credit Union: Building Hopes and Dreams Together

Founded in 1937, Michigan State University Federal Credit Union offers financial services to members of the Michigan State University and Oakland University communities. With 280,000 members and over $4.5 billion in assets, MSUFCU is the largest university-based credit union in the world.

As the age of digitization progresses, banking has become increasingly automated and impersonal. Now, more than ever, it is imperative for businesses to provide a more personal, engaging experience for consumers.

Our Hopes and Dreams system is a hyper-personalized banking platform aimed at understanding members’ financial needs and life goals to ultimately provide a better, more personal user experience.

As a user first logs into the Hopes and Dreams application, they are prompted to complete a short quiz. This quiz helps our system understand each user’s spending needs and goals on a more personal level.

With a deeper understanding of our users, Hopes and Dreams provides personalized offers and spending tips, tailored to each specific user. An example tip from our system might be: “to afford your dream trip to Europe, you should spend less money at Starbucks.”

Our offers and tips are generated based on a user’s quiz responses, as well as demographic spending data related to a user’s income, age, and spending habits.

Users can also set their own spending goals and keep track of their progress through any of their iOS or Alexa devices.

Hopes and Dreams is available on Amazon Alexa, and mobile devices running iOS. The CRM is available on all web browsers. The iOS app is built using Swift, and the website is primarily HTML, CSS and PHP. All applications call an API running Python Flask.

Team Members (L-R): Jenny Huynh, Billy Liu, Julia Heisler, Isaac Yang

Proofpoint: Detecting State-Sponsored Cyber Security Threat Actors

Headquartered in Sunnyvale, California, Proofpoint is an innovative cyber security company offering protection to a wide range of Fortune 100 corporations as well as public institutions such as Michigan State University.

For those with sensitive data, the threat of cyberattacks is constant. Companies, and those who protect them, find themselves locked in an endless battle with rapidly advancing, malicious, and highly coordinated foreign threats.

Our Detecting State-Sponsored Cyber Security Threat Actors platform is designed to swiftly analyze and study these state-sponsored threats to better understand their attack patterns and to thwart future attacks.

To gain adequate data from threats in a controlled environment, the cyber security industry often turns to a mechanism known as a honeypot. Honeypots appear to contain information an attacker would find valuable, but in reality is effectively worthless. Upon accessing the honeypot, the attacker’s actions are monitored, and their methods analyzed.

Our Detecting State-Sponsored Cyber Security Threat Actors system simplifies the process outlined above. It enables researchers to quickly generate honeypots, depicted as the bottom website and paper to the right, place them in high-traffic areas, and stream obtained data back to an intuitive dashboard.

The web dashboard enables security researchers to investigate individual attacks and the efficacy of each lure, allowing them to package related attacks in a controlled environment, and to design more effective lures.

The web dashboard consists of a React front end with a Python Flask and PostgreSQL back end. HTTrack is implemented to quickly develop lure websites, GPT-2 generates believable documents, and Suricata continuously monitors traffic and accumulates data.

Team Members (L-R): Josué Kpodo, John Lee Todd, Nick Jones, Chris Maidlow, Zhehan Wu

Technology Services Group: Document Management Using Google Cloud Platform

Founded in 1996 in Chicago, Technology Services Group (TSG) focuses on helping companies manage and store their data. TSG has many clients across a wide range of industries and is a leading provider of content management solutions.

Clients of TSG include car insurance companies, whose claim agents take multiple phone calls and receive documents and images regarding new incidents. Claim agents spend copious amounts of time re-listening to phone calls and manually checking images to retrieve information regarding a specific incident.

Our Document Management Using Google Cloud Platform system integrates the power of Google Cloud Platform (GCP) with TSG’s existing software, OpenContent Management Suite (OCMS).

Our system offers the ability to transcribe and analyze audio and image files and perform searches based on the output of the analysis.

When a media file is opened in OCMS, the option to transcribe the audio becomes available through an action button. A new file is generated containing the transcription of the audio and is linked back to the original media. A claim agent is able to search the transcription by keywords or scroll manually to find the information.

Additionally, claim agents are able to search by image content. For example, if a claim agent searches the words “car crash,” all images containing a crashed car are displayed in the results. This saves time since each image does not need to be opened to determine its content.

Our Document Management Using Google Cloud Platform system utilizes Angular, Apache Solr, Apache Tomcat, HTML, Java, JavaScript, and GCP Services: Cloud Bigtable, Cloud Storage, Speech API, and Vision API.

Team Members (L-R): Rohit Sen, Justin Newman, Luke Kline, Ali Alaali, Joe Wan

TechSmith: Smart Automatic Video Creation

TechSmith provides software that empowers people to communicate more effectively by easily creating visual content such as images and video. Their flagship products, Snagit and Camtasia, are used by more than 30 million people worldwide.

Creating videos is a difficult, lengthy, and potentially expensive process. Many content creators are looking for an efficient way to automate the video creation pipeline.

Our Smart Automatic Video Creation platform automatically generates high quality, unique videos based on a single text input.

In particular, our system takes any script or article as input and automatically creates video content composed of relevant images, videos/ animations, sounds, and text annotations.

Users start by accessing our web application where they are given the option to upload or paste a script or article. After the text is submitted, natural language processing algorithms are used to generate a concise summary of the article. This summary is used as subtitles for the video (shown to the right). At this point, users can also choose to translate their summary to any language, allowing content to reach a broader audience.

The summary is analyzed to find keywords and ideas. These are used to find suitable visual content. Images and videos are found using the TechSmith Assets API, and Bing’s image search.

After the visual components of the video are selected, the text is again analyzed for sentiment. The sentiment of the text is then used to find audio that fits the mood of the text.

Once the assets are all collected, our system stitches together all images, videos, music, and text and automatically generates a video for the user based on their initial input text.

The front end of our web application is made using JavaScript and the back end is written using C# and .NET core framework. The web application and SQL database are both hosted on Microsoft Azure. FFmpeg is used to render and complete the final video.

Team Members (L-R): James Davison, Patrick Renner, Jiaqi Zuo, Scott James, Mingzhu Wei

Union Pacific: Railroad Physics Data Visualization

Union Pacific was founded in 1862 and is now the leading railroad transportation company in America. With over 32,000 miles of track in 23 states, 8,600 locomotives, and 43,000 employees, Union Pacific plays an important part in the transportation of goods in the nation.

Derailments cost transportation companies millions of dollars every year due to missed deliveries, additional employee time, and equipment repairs. Union Pacific uses simulations to analyze such incidents and diagnose causes. These simulations record data such as speed and buff/draft forces, and this information is output as a raw data file.

Our Railroad Physics Data Visualization platform provides a web-based user interface that converts a simulation’s raw data files into clean, readable, and intuitive graphical output. These interactive graphs aid in the analysis of derailment simulations.

After a successful simulation, the raw data file is uploaded to our system via a web dashboard page. A user can then access the web dashboard to analyze a file.

Graphical output from our Railroad Physics Data Visualization platform can be viewed on our web UI (shown on the right) or downloaded as a generated Excel file.

In addition to static graphs and charts, our platform produces animated graphs that visualize train elevation, as well as the forces between train cars over time.

Using our system, Union Pacific employees can more quickly and accurately determine the cause of derailments and accidents, saving Union Pacific valuable time and money.

Our Railroad Physics Data Visualization project has a front end web UI that uses the Angular framework and is written in TypeScript and CSS. Our back end is written in Java, runs in a Tomcat environment, and communicates with an Oracle MySQL database.

Team Members (L-R): Duale Abdullahi, Jackson Sykes, Laura Yang, Colin Slon

United Airlines: Training Scheduling and Optimization System II

United Airlines is the world’s second largest airline company, operating 4,600 flights a day to 357 destinations. To maintain its fleet of 1,300 aircraft and ensure successful flights, it is crucial to have properly trained personnel. United’s Technical Operations division has 45 instructors who teach around 700 classes yearly to over 7,000 employees.

Our Training Scheduling and Optimization System II provides a web app to facilitate United’s maintenance training schedulers to schedule instructors, students, and courses across the country.

When the scheduler wants to schedule a course, they must take into account a number of factors, including instructor availability, venue availability, instructor travel distance, and instructor qualifications.

Using our mobile compatible website, users can schedule classes manually, or through our automated schedule optimizer. Manual scheduling can be used effectively for a few classes in a short time frame. However, when dealing with a large number of classes and taking into account all relevant factors, manual scheduling is an arduous task.

Our schedule optimization feature allows a scheduler to input a given time frame, a set of classes, and a set of locations. The optimizer then recommends an optimal schedule, including instructor and classroom assignments.

The optimized schedule minimizes the distance traveled by instructors and takes into account instructor qualifications and room availabilities.

An optimized schedule saves United Airlines significant time, money, and resources.

Our Training Scheduling and Optimization System II web app is built with ASP.NET Core, Angular 8, Node.js, an Entity Framework, and an Azure SQL database. The web app is hosted as an app service on Azure Cloud Platform.

Team Members (L-R): Josh Pezeshki, Jack Soenke, Laura Danila, Andrew Ferguson

Urban Science: AutoHook Creative Tool

Headquartered in Detroit, Urban Science is internationally renowned for providing data-driven, science-based solutions to problems in the automotive, health, and retail industries. AutoHook is a subsidiary of Urban Science and assists automotive dealers and OEMs in increasing walk-in customer traffic.

AutoHook provides custom, incentive-driven forms and web pages to dealers and OEMs to help increase vehicle sales. Each online form needs to be created to fit a specific dealer or OEM. Currently, AutoHook’s system for updating and creating new forms is effective, but also time-consuming. To view an updated form, the developer has to redeploy the web page after every change. To create a new form, a developer must start from scratch, even if the form is like one already developed.

Our AutoHook Creative Tool application is a file management system and an in-browser form editor used by AutoHook to simplify and expedite the updating and creation of online forms.

With our intuitive web interface, AutoHook employees can update existing online forms using our in-browser form editor (shown on the right). If a designer wants to make a small change, they can update the code in-browser, and a representation of how the change affects the form is shown. This removes the need for designers and developers to redeploy their forms after every minor change.

Our AutoHook Creative Tool file management system allows existing online forms to be imported into any new project, thus providing an already polished starting point.

AutoHook Creative Tool is an web application that is hosted on Microsoft Azure, using bootstrap styling for its front-end components and C# for its back-end functionality. The OEM form data is updated and loaded from an SQL database that is hosted on Microsoft Azure.

Team Members (L-R): Zach Lewis, Jeff Fallon, Jon Stover, Daiwei Zhang, Ben LaFleur

Vectorform: Rumble

Founded in 1999, Vectorform creates digital products and experiences for the world’s leading brands, with a focus on immersive technologies, mobile experiences, Internet of Things, smart homes, connected vehicles, and wearable technologies.

Life in modern society can be very busy, and it can be easy to forget that a load of laundry was started.

Our Rumble system keeps people aware of the wash status of their machines by integrating their washing machine into the Internet of Things and providing updates based on sensor readings from their washing machine.

Accelerometer sensors are devices that measure acceleration caused by movement. These sensors are attached to washing machines, and the vibrations of a wash cycle indicate the current status of a washing machine.

Using deep learning techniques, our Rumble sensors predict when a wash cycle is running, and when a wash cycle has ended. Once a cycle has been predicted to be over, the user will be notified via our web application.

Our deep learning solution to wash cycle prediction is generalizable, allowing the user to place their accelerometer sensors anywhere and in any orientation on their washing machines. The overarching goal of Rumble is to predict different cycles of a wash, and also to predict if a washing machine is malfunctioning.

To the right, you can see our Rumble sensor mounted on a miniature model washer. Our solution works for any appliance that moves and vibrates while operating, allowing our work to be duplicated across many devices.

The Rumble sensor uses Adafruit ESP32 as the main microcontroller, our neural net is implemented in C++. Readings from the Rumble are pushed to the server via MQTT, and stored in a MySQL database. The web app is implemented using HTML, CSS and the React.js extension Victory React for data visualization.

Team Members (L-R): Danny Marshall II, Tyler Lovell, Charles McIntire, George Schober

Volkswagen Group of America: VW Car-Net Smart Hub Web App

Volkswagen Group of America is the North American operation headquarters and subsidiary of the Volkswagen Group, which is comprised of 16 brands and produces a variety of cars, motorcycles and commercial vehicles.

In 2013, Volkswagen introduced VW Car-Net, a connected service system that offers convenience and ease-of-access to Volkswagen owners through a variety of features and tools. Drivers currently interact with Car-Net through a mobile app. To reduce driver distraction resulting from drivers using their phones, the Car- Net team is building web apps that are available in the car’s screen called the Human Machine Interface (HMI).

Working with the garage door and smart home company, Chamberlain, our VW Car-Net Smart Hub Web App enables users to automate interactions with Chamberlain products without any user input.

Using our web app, a driver encompasses their house with a so- called geo-fence, which is simply a geographic area that triggers an action when the border of the geographic area is crossed. Once set, the garage door automatically opens when the vehicle crosses this border when approaching the house, and automatically closes when the vehicle crosses the geo-fenced border when leaving the house.

In addition, our app also supports other Chamberlain smart home devices such as lights, gates and door locks.

Our app enables control of all smart devices, regardless of location, from the VW HMI screen. Drivers also receive notifications relating to their smart devices directly in their car.

VW Car-Net Smart Hub Web App utilizes the Google Maps and Chamberlain APIs to enable customer ease with setting up and activating the boundary alerts. Our web app is written in TypeScript, HTML and CSS using the web development framework Angular.

Team Members (L-R): Zhiheng Fan, Bryce Archer, Anjali Munasinghe, Jonathon Fleck, Jason Hakim

Yello: Intelligent and Adaptive Data Mapping

Yello is a Chicago-based company that provides software for talent acquisition. Their products help recruitment teams hire the right talent at the right time.

Collecting applicant data at recruiting events is a valuable tool for every company during the hiring process. A problem arises when submitted data is not standardized.

If a recruiter feels they have had a great conversation with an applicant from Michigan State University and wants to schedule an interview, they will search the applicant data for “Michigan State University.” However, if the applicant listed their university as “MSU” or “Mich. State,” the recruiter might not be able to find the applicant’s information.

Our Intelligent and Adaptive Data Mapping application mitigates the issues related to non-standard input through use of Yello’s wealth of collected university data.

As an applicant is entering their data, our application suggests to the user the standardized input based on historical data. For example, “MSU” is the abbreviation of 15 different universities. As a user inputs their information, any non-standard input is mapped to a list of accepted standardized inputs for the user to select.

Standardized input suggestions are available for applicant input fields including degree type, academic major and college.

Ensuring standardized inputs enables recruiters to make informed decisions about a candidate with the most accurate information.

Our Intelligent and Adaptive Data Mapping web app is built with the JavaScript library React. Our back end utilizes Django REST framework and Python to best match user input based on current data. This data exists in our NoSQL database, which is hosted through Firebase.

Team Members (L-R): Danielle Kelley, Chang Ge, Edward Watson, Chenjie Zhang, Nichols Xiong