CSE Projects – Fall 2020

Amazon: Maestro
AppDynamics: Insider Threat Detection
Atomic Object: PlanIt Capacity Tracking Tool
Auto-Owners Insurance: Coverage Crisis: Covering Your Assets
Bedrock Detroit: Shared Parking Access
Bosch: Automated Retrieval of ADAS Driving Environments
The Dow Chemical Company: Artificial Intelligence Project Matcher
Evolutio: #BIKES4ERP Tracking Initiative
Ford Motor Company: Ford Accelerate Monitor
General Motors: Automotive Specific Dark Web Threat Intelligence
Google: Self-Service Support Chatbot for Google Cloud
Herman Miller: Live Platform Real-Time Occupancy Status
Humana: Internship Success App
Learning A-Z: Vocab Slinger Word Definition Game
Lockheed Martin Space: SmartSatTM Heterogeneous Computing in Space
Malleable Minds: Review Aggregator for Educational Programs
Meijer: Support Desk Chatbot
Michigan State University ITS: Explore: Discover Sports on Campus
Microsoft: Feedback Analysis Hub for Microsoft Intune
Mozilla Corporation: Making Firefox’s Picture-in-Picture Even More Awesome
MSU Federal Credit Union: Member Digital Help Center
Proofpoint: Leveraging SPAM to Make Bold Societal Predictions
Quicken Loans: Rally OKR (Objectives and Key Results)
TechSmith: TechSmith Video Summarizer
United Airlines: Mobile GSAP and QC Audit Center v2.0
United Airlines: Airport Lounge Management System
United Airlines: Tech Ops Training Content Management System
Urban Science: Purchase Score Application
Vectorform: Self-Improving Assistant
Volkswagen Group of America: VW Car-Net Electric Vehicle Route Planner


Amazon: Maestro

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.

At Amazon’s scale, individual products often have numerous different sellers. Each seller provides a description and specification list for their product, making it Amazon’s job to compile every seller’s contribution into a comprehensive overall product description. Issues arise when multiple sellers provide separate, sometimes conflicting, descriptions for the same product, leading to inaccurate product descriptions.

Our Maestro system combats this problem by comparing and correcting the product descriptions from many sources, including the information from the seller, the manufacturer’s website, as well as third- party websites such as Target or Walmart. Maestro collects all of this information in the background, and does not require any work from the seller.
Maestro analyzes all of this data using natural language processing (NLP) and determines the best description for all products sold on Amazon. If any difference is detected between a seller’s description and Maestro’s description, the seller is notified and given the chance to change their description.

Our Maestro application reduces the number of inaccurate product descriptions presented to customers, who get exactly what they expect. This leads to greater sales and customer satisfaction.

Maestro is built with React for the front end, AWS Lambda for the back end, pre-trained SpaCy models for NLP, Amazon S3 buckets to hold files for inaccurate product descriptions, and AWS DynamoDB for holding product data provided by Amazon.

Team Members (L-R): Kasidet Meteeputthi, Scott Macpherson, Ruchika Gupta, Mo Almoamen, Sawyer Ruben

AppDynamics: Insider Threat Detection

AppDynamics is an application performance management and IT operations analytics company based in San Francisco. The focus of their work and applications is to manage the performance of client’s applications across cloud computing environments and data centers.
To further provide aid to clients, AppDynamics looks at the security side of applications, considering how their users may be a threat. Half of all data breaches occur because of “trusted insiders,” either via compromised credentials or malicious actions by authenticated users. Currently there are no commercial tools that track user actions to expose potential insider threats.

Our Insider Threat Detection system collects and stores actions performed by users. Using this data, our system works on a case-by-case basis to find each end user’s tendencies.

When an end user’s actions stray from their tendencies, it is evidence that their behavior could be a security threat. These potential threats are shown on a dashboard. Threats are shown in order of the time of occurrence, rated from high risk threat to minor disruption in pattern.
From the dashboard, a system administrator can take action against any detected potential threat.

Our system automatically takes action against users who are determined to be a definite threat. A system administrator is contacted if the threat is determined to be high risk. They are informed of both the threat and the action taken.

Our software detects and flags suspicious behavior and brings it to the attention of administrators for quick and easy handling, allowing security leaks from insiders to be caught early.

Our threat detection algorithm is created using Python and utilizes AppDynamics APIs to acquire the data. The dashboard is built using HTML and Flask.

Team Members (L-R): Ari Kohl, Chris Kulpa, Andy Zhang, Sumanth Rudraraju

Atomic Object: PlanIt Capacity Tracking Tool

Atomic Object is a custom software design and development consultancy based out of the Midwest cities of Ann Arbor, Grand Rapids and Chicago. Since its founding in 2001, Atomic Object has been creating unique software solutions for a variety of companies spanning multiple different industries, including Ford, John Deere and Herman Miller.

A capacity tracking application called PlanIt is currently used by Atomic Object to organize and schedule different employees and teams to help allocate their time and resources efficiently. While the current PlanIt application has worked well for years, it is starting to show its age. Its user experience is lacking in a few key areas and was built with old technologies that do not support modern features.

Our PlanIt Capacity Tracking Tool is a ground up rebuild of Atomic Object’s current PlanIt tool, with improved user experience and the power of modern development frameworks. Our PlanIt tool offers new and intuitive ways for managing capacity while maintaining the core functionality of the original PlanIt application.

PlanIt’s central feature is its timeline view, which allows users to easily see which projects are active, funded, who is assigned to them, and their projected end dates. Users can easily add and remove projects and assign roles and dates all through our new modal boxes and navigation tools. Existing projects and assignments can also be manipulated through a new drag-and-drop feature, which allows for faster and easier planning.

PlanIt helps Atomic Object quickly and efficiently schedule their employees and projects, leading to higher customer satisfaction and less wasted time.

The Planit Capacity Tracking Tool is a single-page application and uses front-end frameworks ReactJS, Redux, and Bootstrap, and back-end services Node.js, Heroku, PostgreSQL, and GraphQL.

Team Members (L-R): Alec Gillis, Alex McLaughlin, Simi Dias, Shengtong Jin, Zach Skrobot

Auto-Owners Insurance: Coverage Crisis: Covering Your Assets

Headquartered in Lansing, Michigan, Auto-Owners Insurance is a Fortune 500 company that is represented by over 47,000 licensed insurance agents across 26 states. Auto-Owners provides automotive, home, life and business insurance to nearly 3 million policyholders.

Insurance is a complicated topic, with many terms and concepts that can be a struggle to learn. Auto-Owners is innovating new methods to teach associates and third parties about insurance to enable them to learn insurance concepts in an engaging manner.

Our software, Coverage Crisis: Covering Your Assets, is a role- playing game that presents the player with opportunities to learn about insurance. The goal of the game is to earn as many coins as possible as well as maintain the happiness of the player character.

Players select their level of education and career, determining their salary and student loans. They can use coins to purchase assets such as vehicles and homes, which can increase happiness. When purchasing assets, insurance policies are offered to protect against damage that may occur randomly throughout the game. A large component of gameplay is choosing whether or not to buy insurance, thereby selecting which risks to take with one’s property.

When the game ends, the player’s score is calculated based on their current coins, the value of their assets and any achievements they have earned. This score is posted to a leaderboard, allowing the player to compare their scores and decisions to those of high scoring players. Administrator users can access a secured website to see more detailed information about the decisions a player made during the game.

Our game is made in Unity, written in C#, and is playable through WebGL. Leaderboard and logging data are communicated to and from a MySQL database using PHP server-side scripts. The administrator tool also uses PHP and runs on the same server.

Team Members (L-R): Joe Hayes, Andy Wilson, Nik Sumnik, Colin Duyck

Bedrock Detroit: Shared Parking Access

Bedrock Detroit is the largest full service commercial real estate firm in Downtown Detroit. With a portfolio of more than 100 properties totaling over 18 million square feet, Bedrock Detroit specializes in the strategic redevelopment of urban cores.

The COVID-19 pandemic revealed that employees working for the Rock Family of Companies benefit from working in a hybrid model, using a combination of working from home and in the office, as it increases productivity and community morale.

We have developed a new space planning strategy that focuses on the rotating nature of team members’ in-office schedules.

Our Shared Parking Access system optimizes shared parking assignments by maximizing the number of team members assigned to walkable parking without exceeding the number of spaces allocated to each parking facility.

Bedrock administrators can use the web application to manage team members, parking facilities, and office buildings. They can upload employee schedules and run an algorithm that determines parking assignments. Then, employees are informed via SMS or email about their new parking assignment.

Employees can use the mobile application to view information regarding their parking assignment, including facility name, driving directions to the facility, and walking directions to their office.

The Shared Parking Access application allows quick and efficient scheduling of employee on-campus parking, leading to less wasted time and better optimized assignments.

The front end of the Shared Parking Access website is built using PHP, HMTL5, JavaScript and CSS while the mobile application is built using Java and Kotlin. The API and algorithm are both implemented using Python. SQLite is used to host the database and Microsoft Azure is used to host both the front end and back end of the application.

Team Members (L-R): Ritu Ahluwalia, Eric Podolsky, Michelle Mao, Jude Jang, Will Lennon

Bosch: Automated Retrieval of ADAS Driving Environments

Bosch is a global engineering and technology company with products sold in 150 countries worldwide. Founded in Germany in 1886, Bosch is the world’s leading supplier of automotive components.

In the testing and development of advanced driver assistance systems, Bosch collects thousands of hours of video footage and radar data from their vehicles. This data is later used to simulate tests on newly developed software without the need to send a vehicle out into the field.
Certain vehicle software is affected differently by specific environments, so for any new software, it is important for Bosch to conduct a range of tests on these various environments. However, Bosch employees must first manually search through their immense volume of data to locate the proper footage, which can be time- consuming and difficult.

Our Automated Retrieval of ADAS Driving Environments alleviates this issue by automating the task of processing and searching through the video data.

Using computer vision and machine learning, footage is tagged and categorized based on features in the environment (such as rain, night, bridge, highway, etc). Once the videos have been processed, the tags and associated videos are saved for later searching.

Bosch employees can then search for videos containing specific conditions simply by selecting the desired tags and clicking ‘search.’ Our software saves Bosch employees time by automatically tagging video environments and provides easy searching through
large quantities of video.

Our front-end web application is built with React.js and Material-UI. The back end is built with Flask and utilizes the OpenCV library and YOLOv3 algorithm. The SQLite database holding the processed video and tags is built with SQLAlchemy.

Team Members (L-R): Alex Norris, Sam Richardson, Adam Gongol, Hannah Striebel

The Dow Chemical Company: Artificial Intelligence Project Matcher

With over 100 years of success and industry-leading innovation, Michigan-based Dow is a global leader in specialty chemicals, plastics, and advanced materials. From paper to plastic, Dow provides a state-of-the-art collection of cutting- edge, sustainable, and dependable products.

Recently, Dow began investing resources towards alternative means to drive efficiency and growth within the company. Among these means is artificial intelligence (AI). Artificial intelligence is among the fastest growing fields at Dow, and ensuring the right skillsets are assigned to the right projects has become difficult due to the distributed nature of AI expertise.

Our AI Project Matcher eliminates these difficulties by matching skilled employees with innovative AI projects, as well as matching AI projects with qualified employees. This is accomplished with our advanced recommendation algorithm.

Using our mobile application, an employee is able to search through projects that may interest them. Similarly, a project sponsor can search through available employees that are qualified to work on their project.

Once an employee and a project sponsor both select that they are interested in each other, they are matched. After matching, the talent and sponsor contact information is shared, expediting the project recruitment process.

Through the use of our simple yet powerful application, Dow employees can now quickly discover projects to join and project sponsors can rapidly acquire the talent needed to complete their project.

Our mobile application is built using Visual Studio Code. The front end is implemented in React Native and the back end utilizes Node.js. All user information is stored and accessed through a MySQL database.

Team Members (L-R): D’errah Richardson, Jon Gorman, Ana Kim, Liam Bok

Evolutio: BIKES4ERP Tracking Initiative

Evolutio is a group of technology professionals convinced that business problems have significantly simpler solutions than the market is led to believe. Evolutio works with the non-profit Elephants, Rhinos and People (ERP), on its #BIKES4ERP initiative. #BIKES4ERP provides bikes to rural students in South Africa.

The bikes provided by ERP help students get to school faster and with more energy to learn. The students that receive bikes from ERP have commutes of up to 10 miles to get to and from school. A bike makes this four times faster and less strenuous for the students.

There are currently hundreds of bikes in use by #BIKES4ERP, and a single mechanic currently handles all bike repairs. As the #BIKES4ERP project continues to expand, the current pen-and-paper method of tracking their bikes becomes less and less viable.

Our #BIKES4ERP Tracking Initiative includes a suite of mobile and web apps that assist teachers, mechanics, and ERP administrators in facilitating and maintaining their fleet of bikes.

The ERP teachers’ Android app is used to log daily bike check-ins and submit maintenance requests for any broken bikes.
The ERP mechanics’ Android app is used to keep track of maintenance requests from teachers, organize the mechanics’ digital inventory, and order any needed bike parts.

The ERP administrators’ web app is an interface for ERP administrators to look at various analytics. The web app uses data from the teachers, mechanics, and schools to show bike performance and data relating to student academic performance to help understand the link between having a bike and succeeding in school.

Our ERP teacher and mechanic client applications are built using Java. The ERP administrator web app uses the ReactJS framework. The apps use Firebase services to store information and handle reliable data sync in poor network connectivity areas.

Team Members (L-R): Caleb Duchan, Sam Peterson, Phillip Nguyen-Phan, Yash Sharma

Ford Motor Company: Ford Accelerate Monitor

Ford Motor Company is a multinational automotive manufacturer headquartered in Dearborn, Michigan, employing 199,000 employees and producing a total of 5.9 million vehicles in the last recorded year. Ford designs and manufactures a full line of cars, trucks, SUVs and electric vehicles under both the Ford and Lincoln brands.

Ford is committed to delivering software in the mode of continuous integration/continuous deployment (CI/CD) – that is, frequently adding to a project in small ways. To achieve this, teams must be highly coordinated and communicate their progress continually. However, the COVID-19 pandemic has resulted in development teams being distributed across residences, making it challenging for teams to keep track of their progress.

Our Ford Accelerate Monitor provides team members with an easy way to monitor projects. This includes lead time, deployment frequency, mean time to restore, and change fail percentage.

Users can register projects consisting of various CI/CD products including Jenkins and GitHub. They can also track incidents through our web portal.
Once registered, members can connect to the application through a Google Assistant device to ask for statistics about any specific team or project, for example, “What is the change fail percentage for Team Viking over the last 28 days?” Additional statistics like build frequency and build failure notifications are also available.

Our system makes it easy for teams to track their progress remotely, leading to increased productivity.
Our back end is a SpringBoot application written in Java, while our front-end portal is built using VueJS. Our data is stored in a Firebase database, and a REST API framework is used to connect everything together.

Team Members (L-R): Anoop Khera, Parker Goodrich, Elena Komesu, Chen Qin, Kyle White

General Motors: Automotive Specific Dark Web Threat Intelligence

General Motors is one of the world’s top automotive manufacturers, having sold over 10 million vehicles worldwide. GM is headquartered in Detroit, Michigan and is known for brands like GMC, Buick, Chevrolet and Cadillac.

The dark web is a place where people are able to share confidential information with low risk of being recognized. GM is committed to the security of their data, products and employees, and is aware that unauthorized parties may find methods of acquiring private GM assets.
Our Automotive Specific Dark Web Threat Intelligence system provides a method of identifying and analyzing unusual activity by crawling through suspicious websites on the dark web and scraping the information for further investigation.

The Dark Web Threat Intelligence app is scheduled on a server to run at specific intervals. As it runs, it references a specified list of websites to scan for confidential GM information. When information is found, it takes a screenshot of that page and scrapes the text for analysis by the GM security team.

The information from dark web sites is stored in our database where it is referenced for ranking. The application compares scraped information to a set of terms and assigns the url a threat level based on its contents. GM IP addresses and employee credentials are given high threat levels, whereas mentioning the GM name or brands yields a low threat level.

The GM security team uses this information to identify information leaks and threats to company security.

Our Dark Web Threat Intelligence app uses AWS to host our web app, the database, and run the scraping algorithm. The scraper is run using Python scripts and the scraped information is stored in a MySQL database. Our web app uses React to display the database information and update the data when needed.

Team Members (L-R): Anthony Ajlouny, Ben Kelenski, Yuxin Li, Kevin Kimmel, Mitch Neelis

Google: Self-Service Support Chatbot for Google Cloud

Google’s mission is to organize the world’s information and make it universally accessible and useful. To make powerful computing tools accessible to all, Google offers the Google Cloud Platform (GCP) suite of cloud computing products. This platform includes products that assist in data management, artificial intelligence, and application security.

When a GCP customer encounters an issue and contacts support, manually collecting error logs and project details is time-consuming. Additionally, many problems can be quickly fixed by pointing the customer to public documentation about the product. These types of problems take significant time and slow down customer support for other users.

Our Self-Service Support Chatbot for Google Cloud is a suite of tools, including a customer support chatbot that automatically gathers information about errors in order to identify and provide relevant documentation available on the web.

Our chatbot parses and analyzes a user’s question using natural language processing (NLP) and provides relevant information that might help with their problem. However, if the chatbot cannot solve the problem, the chatbot organizes the information it has collected and refers them to human support.

The user contacting human support then submits the information the chatbot has collected. This significantly cuts down on the support engineer’s time spent on error information collection and the overall time to issue resolution.

Our chatbot uses machine learning to improve document recommendations over time and tailors its resolution recommendations based on feedback from users.

Our chatbot is built using GCP’s Dialogflow and Google’s NLP API. React serves the front end for the chatbot and Flask hosts the back end on Google App Engine.

Team Members (L-R): Tyler Weisner, Kyle Kraski, Emma Hettinger, Brandon Hu, Keerthana Byreddy

Herman Miller: Live Platform Real-Time Occupancy Status

Based in Zeeland, Michigan, Herman Miller has produced office and home furnishings for over 100 years. Known for its history of design innovation, Herman Miller dedicates research to office space quality to quantify the effectiveness of different workspace layouts.

One technology service developed by Herman Miller is the Live Platform. Currently, Live Platform gathers data from desk sensors in open offices to provide space utilization analytics. One feature that the desk sensors provide is the availability of a desk.

Open offices are spaces where there are little to no assigned desks. Instead, staff manually seek out a new workstation each day. One issue regarding open offices is determining seat availability. The process of searching for unoccupied desks becomes time-consuming as employees look through various spaces.

Our Live Platform Real-Time Occupancy Status dynamically displays occupancy status on a given floorplan allowing users to pinpoint available desks. The website dashboard offers users access to near real-time open seating availability and provides a streamlined process for determining workspace availability. Our dashboard also displays points of interest throughout a map for users to seamlessly locate a desired workspace.

Our system makes it simple and intuitive for employees to quickly find an open desk in near real time and minimize time spent searching.

Our software solution employs Amazon Web Services to collect and query IoT data from DynamoDB and MySQL RDS using Lambda functions. This data is then exposed through REST API Gateway. Using customer-provided floorplans, a map is generated from MapBox GL JS and availability markers are shown using GeoJSON coordinates.

Team Members (L-R): Emma Taylor, Chris Chen, Pooja Ippalapelli

Humana: Internship Success App

Humana is a health insurance company with nearly 46,000 employees and 13 million members in the United States. The company provides a variety of health cares including Medicare, dental, vision, Medicaid, and pharmaceutical.

While growing within the insurance industry, Humana strives to create employment opportunities for young leaders. Humana hires roughly 50 interns each summer with a 12-week duration. Throughout the internship, interns are expected to set and accomplish goals while completing their summer assignment.

Humana utilizes several platforms for interns to access information during the internship such as calendar invitations, resources, and general inquiry. However, there is not one central location for the interns to guide them throughout the internship.

Our Internship Success App streamlines the internship experience by supplying interns with the necessary tools to succeed in one location. The interns are able to organize internship information, set personal goals, and communicate with other interns and staff.

Upon logging into the application using their Humana credentials, interns can log and track their personal or professional goals. They can create an unlimited amount of goals and track them at their own pace.

The calendar allows users to view Humana event information. Interns can ask the Humana administrative team private questions about their internship and project feedback. To avoid repeated questions, the team may respond to questions and select which ones to make public.

Our application is available on mobile devices running on iOS or Android. Additionally, the front end is designed on Adobe XD and the back end is hosted through React Native. The data is stored using Firebase.

Team Members (L-R): Sara Seryani, Nick Escote, Tia Fowlkes, Sayem Lincoln

Learning A-Z: Vocab Slinger Word Definition Game

Learning A-Z, one of the leading companies in virtual learning, provides administrators and teachers with learning materials for pre-kindergarten to sixth grade students. Their digital curriculum is used in classrooms worldwide. They provide students with the resources and skills they need in the classroom and beyond.

In light of the current COVID-19 pandemic, Learning A-Z is meeting the demands for remote learning with their online resources. Students are learning even while away from school.

Our Vocab Slinger Word Definition Game is a web application game that teaches grade school students new vocabulary words and their definitions.

After a difficulty level is selected, the students are presented with three “enemies” who are trying to reach the top of the page. These enemies each have a definition attached to them. These definitions must be matched to the corresponding words from the word bank featured on the page. The complexity of these words and the inclusion of a timer depends on the selected difficulty.

Failing to match the proper word or allowing a set timer to reach zero causes the enemies to rise towards the top. Successful matching “defeats” the enemy, and it is replaced by a new enemy with a new definition at the bottom of the page. The used word is also replaced in the word bank.

The game ends when an enemy reaches the top of the page. The student is then awarded in-application currency corresponding to their performance.

Our software teaches new vocabulary to children in a fun and engaging way that is customized to that child’s ability.
The front end of our web application is made using AngularJS and HTML/CSS, the back end is written in PHP with Composer to manage dependencies. The PHP code sends requests to a MySQL database to get word-definition pairs.

Team Members (L-R): Brenden Hein, Shawn Wang, Peter Liu, Maaz Khan, Ian Thompson

Lockheed Martin Space: SmartSatTM Heterogeneous Computing in Space

Lockheed Martin Space is one of four subdivisions of Lockheed Martin, an American defense contractor that receives over $40 billion in defense revenue, the most of any defense contractor. Lockheed Martin Space builds and deploys satellites that have various military and commercial applications. SmartSatTM is a suite of tools designed by Lockheed Martin Space to support and deploy software to their satellites.

Lockheed Martin Space’s satellites are constantly gathering data, such as images of Earth’s surface, which then need to be analyzed. Currently, most of this processing occurs on ground stations, which requires massive amounts of data being sent from satellites to earth over very slow network connections. This transfer of data can take hours or even days before it can be fully processed.

Our SmartSatTM Heterogeneous Computing in Space system combats this issue by allowing data to be processed directly on satellites, instead of requiring data to be sent all the way to earth.

Compared to a ground station, a satellite has less computation capacity, and therefore has to utilize its limited hardware in parallel, running multiple applications at the same time on different hardware components.
An integral part of our system is the Accelerator Manager, which decides what hardware should be used to complete certain tasks. Depending on the current status of the satellite, different hardware should be used in different scenarios. Our system assigns tasks to hardware in a way to minimize processing delay.

Our system reduces the time it takes to analyze data from satellites and ensures the hardware is used to its full capacity.
The back-end applications are built using Lockheed Martin’s SmartSatTM SDK. The application uses SYCL and Vitis to run accelerators on available hardware. The software utilizes CPUs, GPUs, Xilinx FPGAs and NVIDIA TX2 boards.

Team Members (L-R): Shivang Patel, Joseph Stafford, Nolan Baldwin, Alex Taylor, Austin DeClark

Malleable Minds: Review Aggregator for Educational Programs

Malleable Minds is an early-stage startup company dedicated to allowing families to easily manage and share educational resources in order to connect them to global educational opportunities.

The company’s mission is to connect parents to the best possible educational programs in and around their local area and to receive continuous feedback from reputable sources.

With their many other duties, parents may not have the time or resources to research programs specific to their children’s needs. Our Review Aggregator for Educational Programs provides a solution to this by aggregating certified educator reviews in addition to reviews from other parents to make a one-stop shop for K-12 educational program browsing.

Parents can “like” programs, which will then be saved to their
favorites page. They can also opt to receive notifications about a specific program. Educators and parents alike can rate programs, and then the ratings are displayed to all users browsing programs. Parents can also follow educators to see their ratings on other programs.

Understanding the experiences of previously enrolled children and the ability to compare educator ratings serves a critical function for parents in their search to provide enriching, educational experiences for their children.
Our solution supports a growing community of educators and educational providers, allowing parents to make informed decisions based on relevant and current information.

Using a lightweight, contemporary technology stack, we built a responsive user interface so that users can access the application from any personal computer or mobile device. Our software is written in a combination of Python and React, and our system is deployed using Amazon Web Services.

Team Members (L-R): Cody Carter, Becky Henning, Brian Martin, Jerry Cortez

Meijer: Support Desk Chatbot

Meijer, one of the country’s largest supercenter chains, provides high quality groceries and merchandise to several states across the Midwest. 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.

Over the past decade, Meijer has focused on solidifying their e-commerce presence and moving towards a more data-driven process in making business decisions. The IT Support team is located at the Grand Rapids headquarters where they manage all technical issues faced by the internal associates working within the company. The team regularly receives over 500 phone calls a day, often about issues that have already been resolved.

Our Support Desk Chatbot is a tool that can solve common, repeatedly occurring issues without the need for human interaction. Our chatbot is available 24/7 on Microsoft Teams to assist Meijer team members. When a team member asks our chatbot a question, we use natural language processing (NLP) to parse and analyze the question, and then search through a repository of questions to give suggestions on how to resolve the issue.

If our chatbot is unable to resolve an issue, it automatically generates a support ticket, including all relevant information collected by the chatbot. This allows the support team to quickly solve problems without duplicating effort. Our system allows IT support team members to focus on solving higher priority issues without being bogged down with common issues.

Our chatbot is developed using the .NET Core Framework and is hosted in Microsoft Azure. QnA Maker hosts the knowledge base and provides built-in NLP. The knowledge base is regularly updated, which further assists the helpdesk associates save more time to resolve other escalated problems.

Team Members (L-R): Jacob Atisha, Shrey Talamakki, Will Dixon, Mengjun Su, Dean Dawson

Michigan State University ITS: Explore: Discover Sports on Campus

Michigan State University is a public research university with around 50,000 students. MSU Information Technology Services is responsible for developing and maintaining technological resources for all students, faculty, and staff across MSU’s campus.

There are many sporting events on campus each year. Each sport has a varying frequency of home games on its schedule. As a result, students do not have an easy, unified way to find out about and keep track of all of these events.

Our Explore: Discover Sports on Campus application provides an easy way for students on campus to find sporting events and related information. Our solution provides three different options for students: a web application, as well as iOS and Android mobile applications. The feature set is the same for all platforms.

After logging in, users are presented with a feed displaying current sports news and a schedule of games for the upcoming season. Users can click on an upcoming game to view its date, time, location, ticket prices, available seating, and parking information.

The tab bar along the bottom of the page allows users to navigate between the feed, tickets, bookmarks, and profile. They can view their purchased tickets and seating information. A schedule of events that they have bookmarked or have purchased tickets to attend is also available.

Upon visiting the profile tab, users can quickly update their profile or view event history, payments, and a help page.
Our application makes it simple and intuitive to keep track of all sporting events on campus, discover new events to attend, and plan to attend future events.

Explore: Discover Sports on Campus is developed with Vue.js for web, Kotlin for Android, and Swift for iOS. It accesses information stored in a DynamoDB database using an AWS API Gateway via Lambda functions written in Node.js.

Team Members (L-R): Sai Chava, Will Huynh, Bill Tekip, Tanner Debien

Microsoft: Feedback Analysis Hub for Microsoft Intune

Microsoft is an American multinational technology company that manufactures, licenses, supports, and sells computer products and services. Since its founding in 1975, Microsoft has been listed as one of the ‘Big Five’ technology companies. They boast the second highest valuation of any company in the world at over $1 trillion.

Microsoft Intune is a cloud-based endpoint management system that allows Microsoft clients to securely manage their devices and private information. This tool simplifies the modern workplace, allowing employees to use their personal devices to access private corporate resources in a secure manner.

As Intune grows and is being adopted by more and more people, it has become harder to gather and analyze user feedback about the successes and failures of Intune. Additionally, many users have taken to posting on public forums about their experience with Intune, which provides a valuable source of feedback for Microsoft.

Our Feedback Analysis Hub for Microsoft Intune collects data related to Intune from public forums, such as Twitter and Reddit, in one central hub to be analyzed. This collected data provides Microsoft engineers with feedback on features and bugs that can improve the Intune experience for customers.

Using our hub, Microsoft employees can filter feedback by sentiment, keywords, and date. They can also analyze data through graphs and charts based on the data. This new source of feedback helps Microsoft quickly stay in touch with the needs of their customers.

The Feedback Analysis Hub is deployed through Microsoft Azure. Our data is stored through an Azure SQL server and is pulled to the website through PHP. The data is shown on the user interface using HTML and CSS. Graphs and visualizations are created through Power BI.

Team Members (L-R): Ruchika Joshi, Jake Bourelle, Tan Tao, Reid OBoyle, Avani Shrivastava

Mozilla Corporation: Making Firefox’s Picture-in-Picture Even More Awesome

Mozilla is the company behind Firefox, one of the world’s largest web browsers with well over 200 million users. They are a non-profit, mission-driven organization that emphasizes open-source development to keep the web open and accessible to all, meaning anyone can submit contributions to Firefox by participating in their online community for developers.

Multi-tasking has always been difficult, but has gotten easier with Firefox’s Picture-in-Picture (PiP) feature. PiP allows videos to be “popped” out of the browser into a dedicated window that is always on top of all other windows. This is perfect for keeping an eye on sports, or even taking notes while watching a lecture.

Since the release of Picture-in-Picture, many users have requested that the feature be expanded, improved, and made “even more awesome.”
Previously, users could not have multiple PiP windows open at the same time. This is particularly useful for events that benefit from multiple perspectives like Formula 1 races, where multiple cockpit camera views can be viewed simultaneously.

Our Making Firefox’s Picture-in-Picture Even More Awesome project addresses this issue, while additionally improving the overall user experience of Firefox’s PiP.

In addition to multiple PiP support, our project introduces smart snapping to corners: simply flicking the window towards a corner of the screen will snap it there. Additionally, PiP windows now have a “memory” and open with the position and size last set by the user. Our additions to Firefox’s PiP feature improve the user experience and functionality of one of Firefox’s best features.
Picture-in-Picture is a feature that lives entirely within the Firefox codebase; a vast piece of software spanning multiple languages like C++, HTML, and JavaScript. The feature itself uses almost exclusively HTML and JavaScript.

Team Members (L-R): Chris Jackson, Niklas Baumgardner, Hunter Jones, Manish Rajendran, Reid Shinabarker

MSU Federal Credit Union: Member Digital Help Center

Founded in 1937, Michigan State University Federal Credit Union provides a variety of financial services to students, faculty and staff at Michigan State University and Oakland University. With over 288,000 members, it is the largest university-based credit union in the world.

MSUFCU provides an outstanding customer experience. A critical part of the customer experience is self-service, where customers should be able to find information and answers to their questions at any time of the day or night.

Our Member Digital Help Center serves as a comprehensive “one-stop shop” for MSUFCU customers to get their questions answered, learn about personal finance, and find resources that MSUFCU offers.

Our Help Center includes FAQs, videos and general information pages. Users can find information by searching for what they would like to learn, filtering the results, and browsing by category. The Help Center also provides access to various forms of personalized assistance, such as a chatbot and live chat with an MSUFCU employee by messaging or video chat.

A key characteristic of our Help Center is the wiki-style structure. On each page, select terms are hyperlinked and redirect the user to a page containing a definition and information about that term. Every page also features a “recommended” section, which contains links to other relevant pages. For example, information about gap insurance is recommended in FAQs about auto loans.

Our search and recommended articles are constantly updated by user feedback through a thumbs up/thumbs down rating system. Based on user feedback, our system provides continually improving service to MSUFCU’s customers.

Our Help Center is designed using PHP, HTML, CSS and JavaScript. The back-end database is managed with phpMyAdmin.

Team Members (L-R): Andrew Kim, Scott Shumway, Daniel Tan, James Im


Proofpoint: Leveraging SPAM to Make Bold Societal Predictions

Proofpoint, headquartered in Sunnyvale, California, is a cybersecurity company that provides solutions to top research universities, banks and over half of the Fortune 100 corporations. Proofpoint protects sensitive data across every domain including email, the web, the cloud, social media and mobile messaging.

Proofpoint shields their clients from millions of spam emails per day. By analyzing terabytes of email data, Proofpoint can predict future cyber security attacks and prevent them before they happen, increasing the security and reliability of their system and the web.

Our Leveraging SPAM to Make Bold Societal Predictions project utilizes the large amount of spam Proofpoint collects to make predictions about real-world events.

Our system analyzes the data from spam emails via various machine learning techniques and all spam emails about a particular topic to look for underlying patterns that might indicate the outcome of a particular event.

The trends in spam data, as well as any predictions our system makes, are available to be viewed on our web dashboard. The dashboard highlights any interesting data trends, and also various predictions, including the 2020 presidential election, stock prices and consumer sentiment.

Proofpoint analysts use our dashboard to help predict future cyber security risks before they happen, allowing them to provide superior security to their clients.

Our back end runs locally on Proofpoint’s secure data server to collect information stored in spam .EML files and anonymizes the data so that customer privacy is protected, while still not compromising the information we are able to use from those files.
Our web dashboard consists of a React front end with a Django and SQLite back end that is being hosted on an Apache web server. Our machine learning model is implemented in Python with Flair.

Team Members (L-R): Scott Newhard, Matthew Xu, Connor Southwell, Ben Kandel, Cameron Smith


Quicken Loans: Rally OKR (Objectives and Key Results)

Headquartered in the heart of Detroit, Michigan’s financial district, Quicken Loans is the United States’ largest online mortgage lender. For ten years they have been a Primary Mortgage Organization, and for seven years a Primary Mortgage Servicing company.

As Quicken Loans has expanded, they have developed the need for a system that not only tracks goals, but also makes them actionable and measurable. This is accomplished by breaking them down into smaller parts, referred to as Objectives and Key Results (OKRs).

Our Rally OKR software is a fully responsive web-based application that allows users to easily track objectives and key results in an intuitive user interface. Dynamic progress updates within the application improve company-wide awareness of overarching goals.

With our system, users can view and manage objectives and key results based on their role, which is determined by Quicken Loans. Upon login, users can view their current assigned objectives and key results, as well as their progress and user’s role.

When selecting either an objective or a key result, its details are displayed. Furthermore, users can write comments to discuss updates for the goals. They can also grade key results anonymously, which then updates the associated objective’s grade as well. Objectives are easily viewable in a hierarchy within the application, showing how each objective is linked.

Our system allows Quicken Loans’ teams to track their progress toward goals in smaller, more manageable pieces and visualize them intuitively, as well as increase company-wide communication, increasing productivity in the workplace.

Our application uses .NET Core for the API with a MySQL database hosted on Amazon Web Services. The API is hosted on Heroku, and the front end utilizes ReactJS.

Team Members (L-R): Tony Sulfaro, Abi Venkat, Megan McCarty, Shicheng Wen, Nick Katarzynski


TechSmith: TechSmith Video Summarizer

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.

The way people learn has drastically changed over the past year, with more and more people relying on video content for education. With this shift to online learning, a few glaring issues with video teaching arise, namely that long videos are hard to navigate and find relevant information.

Our TechSmith Video Summarizer solves this issue by automatically segmenting and summarizing any video into small, easy-to-navigate segments that the user can search through and view based on what they are seeking.

The TechSmith Video Summarizer uses speech-to-text techniques to extract the words spoken in a video into a transcript. We then use natural language processing (NLP) on this transcript to extract the main ideas of a video, and to find segments of a video all related to the same topic.
Our Video Summarizer then segments a video into a number of “mini” videos based on our NLP. Each of these segments has its own summary and keywords. Users can effortlessly determine if the content in a given segment is what they are seeking.

Allowing users to browse keywords and summaries of video segments gives them complete control over their learning and video watching experience. Users are no longer burdened with searching through hours of video to find the particular content of interest.
The front end of our web application uses HTML, CSS and React while the back end uses C# and .NET Core framework. The web application and SQL database are both hosted on Microsoft Azure. FFmpeg is used to render and break down the video.

Team Members (L-R): Chad Quinlan, Alex Deneau, Jacob Willinger, Collin Bleech, Justin Tu


United Airlines: Mobile GSAP and QC Audit Center v2.0

United Airlines is the world’s second-largest airline, currently operating approximately 2,200 flights a day out of 250 airports around the globe. To maintain its fleet of aircraft and ensure successful and safe flights, it is crucial to identify and resolve safety concerns and hazards.

With safety being a top priority for United Airlines, many reports and audits need to be filed each month. However, form submissions can only be done on a desktop computer. The user must jot down notes using pen and paper before heading inside the facility to file the report. Mobile GSAP and QC Audits is a mobile version of the desktop application designed to be used in the field.

Our Mobile GSAP and QC Audit Center v2.0 builds off the first version by providing more features. In addition to both types of reports supported by the previous application, our system supports three more. These include Management Observed Compliance and Hazard Assessment (MOCHA), Line Operation Safety Assessment (LOSA), and Aircraft and Ground Damage Reports (ERS). Each user has access to reports based on their department and position.

Our updated mobile application is more user-friendly, allowing a simple and intuitive submission process, including autofill name, drop-down lists, and the ability to include a real-time photo or video. Furthermore, users can create, save, and submit forms as they inspect an aircraft or audit an employee. Upon saving a form, users can access it later through a mobile device or desktop for review and editing.
Reports and audits can now be quickly completed in real time using our system. This reduces time spent filing reports and expedites the entire process.

Our front-end software is written using Swift for iOS and Kotlin for Android, while our back-end system is written in Python and Django for the API and a Microsoft SQL Server database.

Team Members (L-R): Hani Habhab, Jake MacBrien, Austin Evans, Tu Le


United Airlines: Airport Lounge Management System

United Airlines is a major international air carrier, currently operating 2,200 flights per day from 250 airports. United Airlines operates 45 United Club lounges as well as Polaris lounges in Chicago, Houston, Los Angeles, Newark and San Francisco, with several more on the way.

Currently, qualifying customers from United and partner Star Alliance airlines can access amenities such as dining, daybeds and showers in the Polaris lounges. Because of the large number of amenities offered at these lounges, lounge staff spends a lot of time maintaining them.
Our Airport Lounge Management System is a web application that automates certain tasks, allowing lounge attendants to spend more time interacting with customers.

Waitlists for amenities are managed by our system, which sends a text message to customers when their spot is available. A dashboard also displays customer flight information and departure time, allowing staff to adjust the waitlist order accordingly. Real-time updates are provided on the status of individual amenities, including which are in use, being turned over, are vacant, and out of order.

Our system also provides actionable data to United and lounge staff – performance metrics that indicate how efficiently each lounge is being run and strategic data on the type of customers who use these lounges.
Waitlist management and amenity status tracking is automated, allowing lounge staff to spend more time with guests and improve customers’ enjoyment of these lounges.

Our Lounge Management System is built with ReactJS, ASP.NET Core and a Microsoft SQL Server database. The web app is accessed through a United-owned iOS device and is hosted on Windows server in AWS.

Team Members (L-R): Jon Spiwak, Evan Lihou, Katrina Zhu, Deven Patel


United Airlines: Tech Ops Training Content Management System

United Airlines is a major international air-carrier, currently operating 2,200 flights per day from 250 airports. Running an airline requires diligence in all logistical and technical aspects to ensure the best flight experience for “Every customer. Every flight. Every day.”

Within United Airlines, the TechOps training division is responsible for teaching United’s technicians how to operate and maintain their wide variety of aircraft. To supply this training, United Airlines currently maintains a vast encyclopedia of training documents and videos.
Our Tech Ops Training Content Management System provides access to this encyclopedia of training content through an intuitive desktop and tablet-based website.

When users access our website through United Airlines’ employee portal, they are greeted with customized media content based on their previous activity. Our analytics determine videos and documents most relevant to an individual’s needs. Users are shown media that is popular with all users and media that is recommended by United Airlines administrators.
Employees may leave feedback on media items and the system as a whole. This feedback is provided to United Airlines administrators who can change their activities accordingly.

United Airlines administrators can create, edit, and remove media content from the site’s collection. Furthermore, they can approve comments, view feedback, and flag media items. Flagging a media item displays that item on the homepage for a subset of users selected by the administrator.

Our system is optimized for both tablet and desktop use and is built using ASP.NET Core 3.1, Angular 10, Node.js, an Entity Framework, and an Azure SQL Database. The web app is hosted on a Microsoft IIS server.

Team Members (L-R): Chris Nosowsky, Brendan Walsh, Jeremy Zhu, Shawn Pryde


Urban Science: Purchase Score Application

Headquartered in Detroit, Urban Science is internationally renowned for providing data-driven, science-based solutions to problems in the automotive, health, and retail industries. With strong industry knowledge, Urban Science provides meaningful solutions for companies from GM to Ferrari.

One of the problems that Urban Science seeks to solve for its clients is how to convert sales leads (potential buyers of a product or service) into successful sales. With Urban Science’s lead-scoring solutions, clients are able to have leads displayed as low, medium, or highly likely buyers. Though this feature is extremely useful, there is currently not a straightforward solution for allowing dealers to easily input lead information and receive a score for a specific lead.

Our Purchase Score Application is a web platform that provides an easy and straightforward interface for dealers to input lead information, score each lead, and create informative reports based on lead information.
Our Purchase Score Application is designed to allow users to easily navigate our website and view pertinent information. Dealers can input their collected lead information automatically through a file upload, or manually with just the press of a button.

After lead information has been provided by the dealer, analytics reports can be easily generated to suit the dealer’s needs. These analytics reports present dealers with metrics and useful information to help in the sales process. High-quality leads and suggestions are shown in an engaging and easy-to-read format.
Each report helps increase dealer sales with information on top leads, lead trends, and other helpful metrics.

The Purchase Score Application front end, built on React and Node.js, makes calls to Urban Science’s APIs for scoring capabilities. The information produced using the Purchase Score Application is stored in a SQL Server database.

Team Members (L-R): Jay Kim, Isaac Mayers, Kyle Schmitz, Marcus Minardi


Vectorform: Self-Improving Assistant

Since its founding in 1999, Vectorform has provided a platform to a wide variety of organizations wishing to solve big problems with inventions emerging at the forefront of technology. This approach has grown Vectorform into a truly worldwide company, with offices in Seattle, Detroit, Mumbai, and Hyderabad. Vectorform combines expertise in hardware engineering, internet of things, augmented and virtual reality, and user-experience focused design to their solutions.

Our Self-Improving Assistant platform acts as a framework to allow Vectorform and its clients to easily create custom support chatbots for any purpose. The system is explicitly designed to be domain-independent, meaning it can be configured to provide automatic customer support in any field, if provided with relevant training data. Each chatbot resides in a Microsoft Teams channel, allowing easy access to anyone in an organization.

To achieve these goals, the chatbot framework takes loosely structured text (FAQ pages, call logs, product manuals, etc.) and uses natural language processing to extract the underlying answers to any questions from a customer seeking support.

Our system is designed to learn and improve as it experiences more customer interaction. As customers ask questions and get answers, the quality of the feedback is collected and analyzed. If a correct solution is achieved, the bot learns that a particular solution is valuable to a certain type of question.

If the user’s question is not answered, the user is directed to human support, and the steps the bot took in its unsuccessful resolution of a question will not be repeated for similar questions.

The Self-Improving Assistant uses a C# .NET Core application which queries Microsoft Azure Cloud Services. MS Cognitive Services processes user queries. The MS Graph API handles permissions and support channels.

Team Members (L-R): Matthew Lane, Zachary Lanzon, Chairin Paik, Matt Landcaster


Volkswagen Group of America: VW Car-Net Electric Vehicle Route Planner

Volkswagen Group of America is the North American operation headquarters and subsidiary of the Volkswagen Group, one of the world’s leading automobile manufacturers. They are comprised of 8,000 employees in the United States and sell their vehicles through a 1,000-strong dealer network.

Electric vehicles are one of the latest innovations in the automobile industry. Volkswagen, who just released their first electric vehicle, the ID.4, want a way to show potential customers the benefits of electric vehicles compared to gas powered vehicles as well as address and correct some of the common misconceptions many people have about electric vehicles.

Our VW Car-Net Electric Vehicle Route Planner application is displayed in Volkswagen dealerships and educates potential car buyers about the benefits of buying an electric vehicle.

A major concern many buyers have about electric vehicles is the car’s range and charging options available on the road. Our application generates driving routes for gas vehicles and electric vehicles that stop at charging stations. Buyers can compare these various routes with respect to route length, route path, fuel costs and carbon emissions.

Our application also allows for extensive customizability including sliders to adjust starting battery charge, climate control, temperature and weather conditions to account for the effects these factors have on battery consumption.

Our Electric Vehicle Route Planner helps assuage the fears of potential electric vehicle buyers by showing them that their daily routine will have minimal disruptions, and significant benefits if they switch to an electric vehicle.

Our Electric Vehicle Route Planner is developed as an Android application that utilizes API calls to handle route altering attributes and route generation. Our application is written in Kotlin.

Team Members (L-R): Joey Kelly, Andrew Smigielski, Zosha Korzecke, Michael Lin, Erich Hairston