Senior Design Projects Showcase 2022-23

The School of Computing Senior Design Showcase 2022-23

Sponsor a Project
Schorr Building

2022-23 Senior Design Online Project Showcase

The Senior Design Capstone provides an opportunity for industry and academic sponsors to engage and utilize the minds of some of the brightest students on campus. In the 2022-23 academic year, the Senior Design Capstone is grateful to be supported by the following sponsors.


Platinum Award Winner
Tyler Technologies Logo
Tyler Technologies

Partner Support Portal

Tyler Tech is a company which is contracted by the state government to create and maintain software solutions for different faucets and agencies in the state government. The problem arises when a user runs into an issue in one of those software solutions. The current way its done is by either email or phone and it makes it harder to track issues as well as allow for partners to enter information about the issue more conveniently. Furthermore, there is no straight forward way for a sponsor to go and check on their issue and to see if there are any updates for it. A sponsor would also have to call or email support for such updates.

The team was tasked with the creation of a support portal that would allow for partners to submit issues and be integrated with Jira. Jira is a an issue and project tracking software which Tyler Tech uses to track issues and problems with it’s software solutions.

The team created an easy-to-use support portal which allows for partners to submit issues they encounter in their software. The portal organizes the processes and automates the steps that would have be taken by support to create an new ticket to track the issue. The portal also allows for partners to easily track issues related to them as they can be access to the ticket dashboard and see updates to their ticket issue as it progresses. This makes it easier for partners to check on their issues without needing to pick up the phone and call or send an email to support.

Squad Team Members

Abdullah Hamad Squad Lead/Prod Manager
Augustus Shald Development Manager
Chandler Brewer Developer
Thi Hoang Developer
Elijah Lundstrom Developer
Alexander Schrier Developer


Gold Award Winner
UNMC Global Center for Health Security Logo
UNMC Global Center for Health Security

The IP Is In

The Global Center for Health Security focuses on research, training and education that drive innovation in clinical care and operational response to health emergencies. Operating with a focus on research, training, and clinical care of highly hazardous communicable diseases, they provide education, training, and consultation for healthcare facilities, industry partners, and public health organizations and serve as a resource for partners across the globe.

Small, rural, and critical access hospitals have historically been under-resourced in their infection prevention and control (IPC) programs. IPC consultants may travel to these hospitals to perform consultations, but increasing demands due to staff shortages and a global pandemic made it difficult to administer in-person consultations.

The team was tasked with building an online application to help improve access to IPC subject matter experts through virtual consultation services. The project sought a platform to support multiple independent users with two-way communication to allow IPC specialists to speak with hospital representatives during the virtual session. Ideally, the application would support features such as the ability to zoom in or out, capture a snapshot, and add annotations when viewing a live or recorded consultation. Initial research into the project found that latency and security of patient data were going to be a large concern in development. The team was asked to keep these items in mind during their implementation efforts.

After first completing research on cameras and appropriate tech stacks for webapp development and streaming services, the team built a webapp accessible across the nation. For implementation, the team decided to utilize an Insta360 Pro 2 camera alongside an Angular component based webapp. The team researched and decided to utilize AWS for the storage of a MySQL database, an EC2 instance for hosting the site, and Medialive stacks to support the 360-livestream. Through the site, chosen administrators from the UNMC Global Center for Health Security can schedule and manage virtual consultations. All webapp users can create an account, be invited to meetings, and join or review meetings they have been invited to. The team also implemented VR functionality to allow IPC consultants to have a more immersive experience.

Squad Team Members

James Coddington Squad Lead/Dev Manager
Arielle Monson Product Manager
Ben Cook Developer
Kort Hamel Developer
Evan Portz Developer


Conagra Brands Logo
Conagra Brands

Testing and Defect Management Replacement Tool

The team was tasked with developing a replacement for the testing and defect management tool used at Conagra Brands. The current tool used by Conagra had several issues that prompted the need for replacement. In addition to being expensive, the tool was not user-friendly due to an overabundance of data entry fields and a hard limit on how many employees could access the tool at a time. Further, the tool lacked meaningful reporting metrics on test cases and defects, which added to the negative user experience. Therefore, the team’s goal was to develop a user-friendly tool that allowed for seamless testing and defect management and generated meaningful reports for test cases and defects.

To avoid bias from the currently used tool, the team began the project from scratch with a rough idea of what the final product would look like. The tech stack chosen for the project was Angular for the front-end pages of the tool, C# .NET for the backend components used by the tool, and SQL via MariaDB for the database. PowerBI would be used for creating visual reports on defects and test cases. Electing to use Model-View-Controller architecture for the project, the team started by working with mockups of the various pages of the tool and determining the features that would be needed for the project.

Through discussion with the sponsors, the team was able to determine the most important features for the project and focus development time on those features. The result was a user-friendly tool that emphasized user management and defect management. In addition to an updated user interface that matched up with Conagra’s internal design standards, the project features a robust role system that allows employees to select specific roles for each possible product in the system, granting them different permissions for each product. Defect management has also been simplified to standardize the information that is present on each defect, and the addition of roles allows for control over which users can report defects. Defect searching has also been refined with a powerful filtering feature that allows users to search for defects in a variety of ways, and it is also possible for users to download defects into Excel spreadsheets.

Squad Team Members

Vivian Nguyen Squad Lead/Prod Manager
Parker Zach Development Manager
Ben Drayna Developer
Caden Fries Developer
Daniel Godoy Developer
Aidan Weskirchen Developer


Crete Carrier Logo
Crete Carrier

CRM Application

Crete Carrier has been experiencing a problem because they lacked a single location to store and retrieve all of the data pertaining to their clients. Thus, our senior design team set out to create a centralized Customer Relationship Management (CRM) Application to solve the issue of dispersed customer information. This application enabled important customer details to be saved in a SQL database and also had the feature of storing documents and any alterations made to a customer's account.

The team has created a CRM application for Crete Carrier. During our senior design, the team became more proficient in using HTML, CSS, JavaScript, and Python. Which allowed us to build more dynamic and engaging CRM application. We also gained expertise in SQL and database design, which enabled us to create efficient databases for storing and managing customer data.

For the CRM solution our team has created, The CRM includes solution which starts with a Customer Select page that will pull customer information from the database. Once the customer’s data is pulled, the application will allow the user to navigate and update between four different profiles, Basic profile, Sales profile, Operations Profile and Locations and Contract Management Profile.

Squad Team Members

Sami Abdulrahman A Alomayri Squad Lead/Prod Manager
Ian Gregory Development Manager
Dalton Hulett Developer
Albert Li Developer
Nathan Liew Developer
Jaron David Nallathambi Developer


Custom Micro Works Logo
Custom Micro Works

A New Approach to Financial Accounting

The Custom Micro Works team was tasked with creating and modernizing our sponsor's New Approach to Financial Accounting application. The team’s sponsor’s original application is a single-entry accounting application that tracks and prepares financial statements and reports. The team decided that to reach our modernized goal we wanted to fully rewrite the project so that it’s more modern, scalable, and efficient and has an interface that makes the functionality of the application clear to users. The scope given at the beginning of the school year would make this application a multi-year process to complete, and the team completed the first year of this project.

The sponsor’s original application included multiple menus with forms to be completed by the user to fill out their financial statements and reports, and the team wanted to keep the fundamental concept of it but improve the UI (User Interface) by completely redoing it. At the beginning of the team’s development, we decided to go with VUE on the frontend portion to make a simple UI and lay the foundation for the rest of it so that the future work can be completed. This would include making a dropdown to access all the menus, popups to access the forms and a login page all for the user. Throughout the process of the year the team went through several redesigns of the application and finally landed one using bootstraps.

On the backend the team has designed an API using C# and an SQL database. The team has been through the process of connecting input related endpoints to successfully submit information to the database. At the start we wanted to originally host the website on the CSE server but complications arose with the server and getting VUE to properly render the forms in the menus. Our solution to this was to host the front end on a virtual machine to get all the components working on it and have full end-to-end communication. The team has made significant progress and has laid a foundation for future teams to work on this project to deliver a successful application to our sponsor.

Squad Team Members

Parker Wall Squad Lead/Prod Manager
Zach Stanczyk Development Manager
Taryn Jordan Developer
Sam Kirchner Developer
Carter Powell Developer
Michael Vipond Developer


DMSi Logo
DMSi

Web-Based KPI Widgets With Dynamic Datasets

DMSi is a company that provides software solutions to businesses in the lumber and building materials industry. Through the tools they provide, a lot of data is collected. DMSi did not have a way to easily view this data other than spreadsheets. The goal of this project was to create a set of tools for DMSi’s clients visualize and understand the data generated through DMSi’s other services. These tools make it easier for customers to locate and recognize patterns, trends, and discrepancies in the data they collect.

The first component the team built was a web-based chart viewer during the fall semester. This viewer was hosted by Netlify for the duration of the project but will later be hosted by DMSi. It was built with React using Wedgekit, DMSi’s custom UI library. The team designed the viewer to match DMSi’s Installed Sales application, to allow for easy integration with it, if desired. It has a central dashboard that displays thumbnails of all charts generated, which can be selected to view individually.

In the spring semester, the team built a command line program written in Go to later be converted into an API. The purpose of this tool was to take in a spreadsheet from one of DMSi’s other services and return the data needed to create a variety of KPI graphs. Quick performance was a priority in development, requiring heavy use of multithreading. Go outperforms most other languages in easily implementing complex systems of multithreading, making it the clear choice for this. None of the developers on the team were familiar with Go prior to this project, so it took time for the team to be able to use it to its fullest capabilities. The team focused on making the program adaptable to as many types of datasets as possible.

Squad Team Members

Ethan Fox Squad Lead/Dev Manager
Andrea McGrane Product Manager
Brian Bui Developer
Brooke Hogan Developer
James Nguyen Developer
Divith Rajagopal Developer


Hudl Logo
Hudl

Scoreboard OCR on Indoor Focus

Hudl is a Lincoln, Nebraska based company providing tools for coaches and athletes to review game footage and improve team play. This project was centered around Hudl’s Indoor Focus camera which is used to capture live sporting events for coaches, players, and fans. The vision was to provide basketball teams with the ability to display a digital scoreboard overlay on top of their video when live-streaming or playback. Coaches and athletes need to be able to concentrate on their performance and not have to worry about the quality of their video. The end-goal required there to be no human input – the camera must be able to read the teams’ scores from the scoreboard and relay that information to Hudl’s video playback services.

The first part of the project was selecting an OCR (Optical Character Recognition) model that could read the data of a basketball scoreboard. This includes the left score, right score, time, and period. Hudl provided the team with two models that the team had to research to see which one would fit the needs of the project. The team ultimately went with an in-house model created by a Hudl engineer because it did not require the drawing of bounding boxes around each element of a scoreboard.

The next part of the project involved figuring out a way to run the chosen OCR model on a Hudl Indoor Focus camera during a live game. This was a challenging endeavor because it required the team to integrate the model into Hudl’s existing ecosystem which was very large and complex. The team was not able to run the model on a live scoreboard, but they still managed to run the model on a video playback and receive data.

The third chunk of the project was all about taking the scoreboard data produced by the OCR model and uploading it to a database along with the video data that is already being uploaded. The challenge here was syncing the video frames with their corresponding scoreboard data. The team ended up creating a proof-of-concept project for doing this that Hudl can use in the future when pursuing this project further. Finally, the team created a way to overlay a digital scoreboard using the scoreboard data stored alongside the video data.

Squad Team Members

Brady Gebbie Squad Lead/Dev Manager
Adam Leppky Product Manager
Eylon Caplan Developer
Eduardo Ponce Developer
Nicholas Radmilovich Developer
Han Tran Developer


Mystic Rhoads Productions Logo
Mystic Rhoads Productions

baldorf 2.0

Baldorf 2.0 was a continuation of a previous Senior Design project made in 2019. The sponsor wanted to bring back the project to add more features that the old team didn’t have time to implement. These features were Advanced Customization, Bug Fixing, Multiplayer, and Monetization.

This year, these features were the 4 “pillars” of development, the focus of features to add to the game. The first semester consisted of both Customization and Bug Fixing from anything the previous team had left within the project. Customization consisted of adding skins and colors to baldorf’s official playing ball “dorfs” as well as adding many different stadiums for the players to select. Bug fixing is a part of every project but for this project we were mainly focused on polishing up the product that was left with us by the previous team.

The second semester priorities shifted towards Online Multiplayer as well as Monetization. The team has made excellent progress in compartmentalizing these steep issues into more manageable issue chunks with each sprint. Online Multiplayer was an important goal for the project to succeed in as adding online multiplayer is a sure-fire way to add some longevity to an application. Monetization is also important for the sponsor to be able to add another source of revenue for their operations.

Squad Team Members

Jackson Bixby Squad Lead/Prod Manager
David Jackson Development Manager
Zennith Boerger Developer
Danny Perry Developer
Joshua Preister Developer
Kalen Wallin Developer


Nebraska Environmental Trust Logo
Nebraska Environmental Trust

Grant Management Monitoring

The Nebraska Environmental Trust awarded nearly 15 million dollars in 2022 to almost 100 different projects. All of the interactions between the NET and its awarded projects (such as submitting applications, transfers of funds, or periodic reports) happen on a Grant Management System (GMS) website. The site is used by hundreds of people with various user roles: Administrators, Board Members, Grantees, Public Users, etc. The team’s focus for this Senior Design project was to implement a new role, called the Inspector, that would be able to perform on-site audits for in-progress projects on behalf of the NET. Most of the roadmap for this project was outlined by the NET. The development team was responsible for arranging that roadmap into feasible sprints, epics, and releases, updating it throughout the year.

The Inspector role was introduced so that the NET could ensure that funds were being used appropriately by grantees. Instead of having the limited NET staff, who are all Lincoln-based, conduct audits across the state, Inspectors that are already geographically close to the project location could be contracted to inspect the use of funds and equipment. Since these individuals are not official NET staff and need their own set of permissions and abilities within the GMS, a new role had to be created. The team implemented various features for both the new Inspector role and the existing Administrator role. Administrators are now able to assign the role of Inspector to users. Administrators can also filter through and manage all past and current inspections. Inspectors can view assigned inspections, schedule a date for the inspection to occur, and enter findings for specific checklist items that are unique to each project.

The development team worked closely with the NET administrators to ensure that the user interface was navigable and stayed consistent with other pages in the site. Many stories and wireframes ended up being refactored as new requirements and issues were discovered in conversations during weekly sponsor meetings. Overall, this project provided a wide range of professional experiences including frontend design, database management, web application programming, scrum practices, and project management – all while serving the NET’s mission to conserve, enhance, and restore the natural environments of Nebraska.

Squad Team Members

Michael Walker Squad Lead/Dev Manager
Isaac Kramer Product Manager
Noah Hudson Developer
Anna Kruse Developer
Ann Le Developer
Ava Lyons Developer


Nebraska Innovation Studio Logo
Nebraska Innovation Studio

Member App

Nebraska Innovation Studio (NIS) is a community-oriented maker space that serves as a hub for innovators, artists, and entrepreneurs. NIS is one of the nation's top maker spaces, a 16,000-square-foot facility with a full metal shop, wood shop, rapid prototyping room, art studio, ceramics and textiles equipment, and more. The project that NIS proposed for the team was to update and improve their current workflows, shift their membership tracking online, and create a progressive web app. The team built off of the current website to introduce the desired features and functionality.

NIS already had worked with the University of Nebraska-Lincoln Web Development team in the past and had a functioning website that could support some of their needs. The team familiarized themselves with the web technologies used in the website such as Sinatra, a Ruby web framework. Additionally, the team increased their knowledge of the SQL language by writing new scripts for the database. The team worked in 2 week sprints following the Agile processes to maximize effectiveness with their sponsors.

During project development, the team faced several challenges. The first challenge that the team faced was organizing and creating a proper roadmap and plan for development features in the future. A key in solving this challenge was collaborating with our sponsors during weekly meetings in order to answer questions related to what features they wanted and how they should be prioritized. After releasing new features related to online member management, training, and other events, the team was looking ahead to the rest of the development.

The team had researched the costs and benefits of creating a progressive web application at the beginning of the project and after reassessing the feature, came to a different conclusion. The team believed that the creation of a progressive web app would add few features to the website for the end user and potentially result in a waste of development resources. We brought this challenge to our sponsors along with a potential solution, shifting the rest of our development time to focusing on developing additional website features which will create a measurable impact in end-user experience. The sponsors agreed that the best course of action would be to shift the development plan and the team began work on an updated feature roadmap.

Squad Team Members

Taylor Runge Squad Lead/Prod Manager
Austin Dobrusky Development Manager
Mohammed Fahad Saleh Al Wahaibi Developer
Josh Jacobs Developer
Hadley Susie Developer


Nebraska Water Center Logo
Nebraska Water Center

Know Your Well

The “Know Your Well” (KYW) project educates Nebraska high school students on how to sample and test well water. Students go out into the field and collect data on the water quality and land use of private wells. The results of these tests are shared with the well owners to keep them informed about the quality of their well water. This project helps water scientists and well owners alike know more about our ground water.

Previously, data was collected through either Google Forms or a makeshift iOS application. The sponsors wanted a more permanent solution that would work without an internet connection. So, the team was tasked with making a new application for students to input data. The sponsors needed the application to be easy to use, cross-platform, and able to cache data for use in the field with limited internet connection.

The team decided that a progressive web application (PWA) would fit the sponsors’ needs. This PWA allows high school students to use to continue to view, collect, and store well data in a reliable and efficient manner. The PWA also has its own Azure database, login authentication using Nebraska Cloud, and offline caching to increase both the security and the capability of students to collect data in and out of the classroom. Previously, KYW has worked with about 160 students from 19 participating schools from 2017-2019. This new application that the team has created, supports the long-term goal of KYW to be able to extend their scope to involve up to 50 high schools across Nebraska.

Squad Team Members

Fahad Naif Squad Lead/Dev Manager
Sarah Oran Product Manager
William Blazer Developer
Joe Davis Developer
William White Developer
Abigail Wunderlich Developer


Nelnet Logo
Nelnet

COACH Modernization

Nelnet has a suite of internal tools that support the private student loan industry by supporting processes such as loan management and certification, disbursement, and change transactions or refunds. Cash Operations ACH Manager (COACH) is one part of that suite and is responsible for managing the transfer of student loan funds to and from external business partners (both private loan lenders and higher education institutions) using Automated Clearing House (ACH) transfers. The team was tasked with modernizing COACH using a Spring Boot backend and an Angular frontend.

The team used the COACH documentation to design the modernized application. The frontend was designed to meet ADA standards, prioritize usability and use Nelnet's internal UI library, Unifi. The team combined the functionality of Unifi, with the look and feel of a clean, modern website. This allows for Nelnet developers to be able to easily maintain the project after the team handed off our project. The backend was designed prioritizing security and was required to work with Nelnets existing database schema. Alongside an upgrade on all dependencies, role-based actions and object relational mapping were implemented to mitigate security vulnerabilities and to ensure proper access control. The team had a heavy emphasis on testability for all areas of the project.

The COACH application has four different sections, two of which were in scope for the modernization project; Participant Manager and Batch Manager. Participant Manager allows users to view, create, or edit participants (lenders and borrowers) for a given transaction. This section also holds sensitive information, such as routing or bank account numbers, which were implemented to only be visible if the user had the correct role. The Batch Manager section manages which types of funds transfers are available and assigned to each industry participant.

The modernization project led to a high quality COACH application with three main strengths. Due to modern technologies and practices, COACH is more secure. As a result of following ADA standards and taking inspiration from modern websites with similar functionality, COACH is more user friendly. Due to a heavy emphasis on testability, COACH has a robust test suite that will make maintaining the application easier.

Squad Team Members

Miguel AguileraOrtiz Squad Lead/Dev Manager
Usama Ismail Product Manager
Ian Broyles Developer
Kuan Ruei Chiang Developer
Michael Hunteman Developer
Pranav Palli Developer


NRC Health Logo
NRC Health

Data Processing Support Tools

Data Management Requests (DMR) is a web application that was developed for NRC Health. The purpose of this application is to facilitate the duties of NRC’s Production Support Team (PSG). This team has been tasked with performing various data manipulations to the company’s numerous customer repositories. Historically, PSG members have leveraged database scripts to complete their tasks. This approach is not ideal for reasons related to production issues, which has prompted NRC to seek development of the DMR web application.

The core feature of this application is the ability to create jobs that affect change in customer data. Job templates are provided to users for the most common data manipulation tasks. In these templates, validation is performed against inputs to ensure that trivial incompatibilities are prevented. In addition, more complex validation is performed to limit the amount of data that can be modified in a job execution cycle. Upon job submission, PSG members must review the constraints of every tentative job. This introduces authorization into the workflow, where jobs can be approved or rejected.

Once a job is approved, it will be placed in a queue to run during a designated period. After a job has finished executing, the result will be available for review in another area of the application. At any point during the lifecycle of a job, its status can be retrieved, along with other pertinent information. Moreover, jobs can be cancelled after being approved, or their execution aborted. For each change in a job’s state, accountability is incorporated through tracking user actions.

Overall, the goal of the DMR web application is to automate updates to customer data at NRC Health. This application also protects against outages in production systems, prevents data corruption, and stops general instability. DMR aims to be highly predictable through the use of well-defined backend processes that are supplied with accurate job details. The application itself was implemented using an EmberJS frontend that communicates with NestJS APIs. Application security is provided through role-based authorization, which uses ADFS as an identity provider. Each component of the web application executes inside of an AWS tenant.

Squad Team Members

Kaleb Buck Squad Lead/Prod Manager
Benjamin Faubel Development Manager
Emmanuel Lopez Developer
Nhien Nguyen Developer
Jack Svoboda Developer


Shyft Solutions Logo
Shyft Solutions

WxChange

The team was tasked with building out a cloud-based application called the WxChange. The WxChange aimed to bring the abundantly-available public weather data to the user’s fingertips by providing a UI in which the user can see detailed weather information very quickly and how it pertains to them. A user would be able to store information such as job sites and weather criteria into the WxChange and would be updated if inclement weather forecasts would hinder operations.

The UI is stored in Amazon Web Services (AWS) Simple Storage Service (S3) buckets and was built using the React framework. The team created a small component library along with the application that aided not only in the development of the frontend application, but also allowed Shyft Solutions to expose the library to other developers to be able to integrate it into their own applications.

The backend consists of an AWS API Gateway that links multiple AWS Lambda functions to their respective DynamoDB tables. All AWS configuration is handled using a Terraform script that automates the allocation of cloud resources in a human-readable format. Before the team allocated any resources on AWS, however, they used a third-party application called Localstack to simulate the AWS services. Localstack would reproduce the behavior of the needed AWS resources and allowed the team to develop all necessary components with a zero balance on the AWS account.

Squad Team Members

Jared Hoyt Squad Lead/Prod Manager
Dylan Diehl Development Manager
Sanjaya Dhakal Developer
Tristin Gilbert Developer
Ethan Rasgorshek Developer
Jackelyn Yii Developer


UNL Biological Systems Engineering Logo
UNL Biological Systems Engineering

Reducing Field Worker Pesticides Exposure

The University of Nebraska-Lincoln's Biological Systems Engineering Department has continuously brainstormed ways to improve the day-to-day tasks of farmers around Nebraska. A particularly pressing topic is pesticide use. The use of pesticides has become widespread in modern agriculture, but these products can pose a significant risk to human health if proper safety precautions are not followed. Regulations enforced by the EPA (Environmental Protection Agency) require various types of documentation and reporting procedures in order to reduce the risk of human exposure. However, this documentation process has previously relied on antiquated data collection formats and complex communication systems. The Biological Systems Engineering Department then produced the idea of creating an automated process to track active pesticides in Nebraska’s fields as a way to circumvent the tedious process of documentation.

In early production, the UNL Biological Systems Engineering Department had a partially completed project entitled “Spray-Safely”, a web-based system to track pesticide applications and simplify communication among all parties in the process. The team was tasked with enhancing and further developing the existing project to provide a better means of communication in the pesticide application process on farms.

One of the first tasks they completed was making the website functional for mobile use. That way, users are able to easily understand which fields have active pesticide applications while away from the farm with only a phone or tablet. Next, the team ensured the website allowed a user to login under an organization. Once logged in, the user is able to apply and plan pesticide mixes to fields, see active applications, create new fields for later application use, and create pesticide mixes to later be applied to fields. The user is also able to connect their account on Spray-Safely to any data they may have with John Deere, which the team set up through John Deere API calls. To complete this in a timely manner, we decided to build off of the initial code base by mainly using JavaScript, Python, and HTML. They stored the necessary data in various databases to be accessed efficiently. Through all of these technologies, the team created a digestible, modern web application which will allow farmers and their associates to safely and efficiently navigate their fields.

Squad Team Members

Jack Nolley Squad Lead/Prod Manager
Harry Endrulat Development Manager
Morgan Larson Developer
Joel Matzen Developer
Charlie Peng Developer


UNL NIMBUS Lab Logo
UNL NIMBUS Lab

Aerial and Water Collaborative Sensor Deployment and Recovery

The University of Nebraska – Lincoln NIMBUS lab focuses on the research of improving unmanned aerial vehicles (UAVs). The senior design team sponsored by NIMBUS was tasked to create an electro-mechanical system to enable underwater sensor recovery via a boat that would then be recovered by a UAV, resulting in a multi-robot system. The purpose of this system is to be able to access remote areas with ease and reduce both environmental and safety risks. The team was in charge of both design and implementation and were given a reference point of a project done at MIT called “DuckiePond”.

The team researched “DuckiePond” but found the boats that were created through this project to be too large for UAV delivery. Therefore, the team redesigned the boats to include most of the original electronics design, and modified the structure to be 75% of the DuckiePond boat weight. NUBSS control system is built in ROS, C++, and Python on a Raspberry Pi 4 that is serially connected to an Arduino Uno Rev 3 that sends drive control, retrieval, and sensor commands. The retrieval system uses a custom-built 3D printed fork and a stepper motor to attach to a string connected to the underwater sensor via a buoy which will remain at the surface for identification/retrieval.

Our first two releases focused on the structural integrity of the boat and drive mobility. Release 1 resulted in a pool test where the boat could float and remain under the 4 kg weight limit required for drone delivery. The second release focused on being able to drive forward, backwards, and turning in addition to testing the waterproofing of the design. After the boat met the minimum requirements as an individual system, the team pivoted to focusing on the deployment and recovery systems. Release 3 showcased the first working prototype of the retrieval system. The final release demonstrated an improved retrieval mechanism and an initial design of the deployment system. This release included a demonstration of the retrieval of a sensor submerged in water. The final product was the boat that was tested up to release 4 and documentation of future improvements that the team would recommend in future design iterations.

Squad Team Members

Abigail Seibel Squad Lead/Prod Manager
Nicholas Colleran Development Manager
Jett Durante Developer
Joseph Oboamah Developer
Huixin Yue Developer


UNL SoC Bohn 1 Logo
UNL SoC Entrepreneurs

LanGauge

The challenge of this project took many forms. For one, we had no idea what we would end up creating at the beginning of the year. Thankfully, with help from DPL, we were able to come up with an idea, a language ranking application. Because each member of our group has different skills, we needed to find a common technology stack, which took a while. We eventually came up with a workflow that produced good results. Through the project, because there were no specifications from external stakeholders, we kept reevaluating what we needed to do.

LanGauge is a language learning tool hosted on a website. LanGauge displays articles from multiple third-party sources and ranks their difficulty to read. The team created a neural network which takes multiple parameters from an article (such as average sentence length, word length, and vocab complexity) and compiles the difficulty score for that article. On the website, users can select the language of articles they want to view and the upper and lower bounds of article difficulty. Other features the team considered adding included localization and user profiles.

The use cases for LanGauge are numerous. Schools can use LanGauge to help get students more interested in their classes by serving them more interesting materials. An individual user can use it to expand their language skills based on what they are interested in and their skill level. This allows users to combine multiple interests and practice their language skills while reading about an interest or catching up on the news at the same time. We also believe this feature has a professional use case where the algorithm can be used independently of the website to rank the reading difficulty of various documents. For example, a company could use our algorithm to ensure their messages are easy to read when they have coworkers who do not communicate in their language as well.

Squad Team Members

Cody Binder Developer
Noah Liebers Developer
Hunter Oestmann Developer
Calen Olsen Developer
William Swiston Developer
Cole Vaske Developer


UNL SoC Bohn 2 Logo
UNL SoC Entrepreneurs

EVent

As an entrepreneurial team we were challenged to create a product and business entirely from the ground up. This required a lot of brainstorming, market research and research into creating a business. After brainstorming internally to form rough ideas for the app we were paired with Don’t Panic Labs for several rounds of white boarding and fleshing out ideas. These sessions gave the team insight into product creation and made the team critically consider viability moving forward. That helped us narrow our views to a few leaders. We then also pushed ourselves into market research to help get a feel for if our user base would like our proposed products.

From there we choose to work in Xamarin and divide the team to work on the front end, back end, and business development. Business development brought a series of legal challenges and hoops to jump through. We have submitted our name Coding Geckos LLC and have had it recognized by the secretary of Nebraska. We have worked with the Lincoln Journal Star to place a notice of publication adhering to Nebraska statutes and will give an affidavit of proof to the Nebraska Secretary once received. After this we submit an article of organization and work to receive an EIN for tax purposes. Once there we will be considered an LLC and have learned a lot about the process and what an LLC can do.

The team was enthusiastic for the project and had high hopes that it could be done. For this project, the team ultimately decided to use Xamarin, a Microsoft open-source platform for building modern and performant applications for mobile devices using .NET. The primary benefit for the team using Xamarin was that Xamarin is a shared layer for IOS and Android, allowing the team to only have to code the app in one language, instead of having to do it separately for Android and IOS. The project’s backend consists primarily of a Microsoft SQL database, connected to the app via a REST API written with the .NET framework.

Squad Team Members

Alexander Kupec Squad Lead/Dev Manager
Alex Stumpff Product Manager
Peter Cao Developer
Tyler Senne Developer
Jonathan Svoboda Developer


UNL SoC Falkinburg-Benes Logo
UNL SoC Falkinburg-Benes

Husker STEM VR 2.0

Husker STEM VR 2.0 was a continuation project from the 2021-2022 Senior Design program. Last year’s team created an app for the Oculus Quest used for outreach and recruitment for STEM majors at UNL and they focused on the three majors currently provided by the School of Computing: Computer Science, Computer Engineering, and Software Engineering. This year’s team was tasked to extend the app to add information and educational activities for other STEM majors offered at UNL. The decision was made to add five majors from the College of Engineering: Electrical, Chemical, Mechanical, Civil, and Biological Systems. The end goal of the activities was to spark interest in STEM majors at UNL.

The user starts out in Memorial Stadium’s East Lobby where they can find information about each major and about the different clubs and organizations in the CoE. From there, they can enter a portal taking them to an activity relating to each major. The Electrical Engineering activity requires the user to build correctly a simple circuit with resistors to be able to fix the screen of the football field. The Chemical Engineering activity requires the user to mix different elements to make different compounds to launch fireworks from the football field. The Mechanical Engineering activity requires the user to build and configure a quadcopter correctly to fly it around the field and through some obstacles. The Civil Engineering activity requires the user to repair the bridge that is located near Memorial Stadium to help get Husker fans to the stadium. Lastly, the Biological Systems Engineering activity requires the user to engineer a medical solution for a student-athlete. When the user successfully completes each activity, they are congratulated and guided to the Lobby/Hub.

The app was created using the Unity game engine. Unity includes many tools for multiplatform development, including WebGL, iOS, and Android build support. The team also developed UI and controls to support multiple platforms. A significant amount of work was done to make sure the application could run correctly on VR, mobile, and WebGL platforms. In addition to Oculus Quest App Lab, the application was deployed on Google Play, the iOS App Store, and the Husker Stem VR website.

Squad Team Members

Daniel Riedel Squad Lead/Dev Manager
Matthew Bigge Product Manager
Isabel Adrover Gallego Developer
Joshua Bellmyer Developer
Nicole Livingston Developer
Keyaun Washington Developer


UNL SoC Falkinburg-Daniel Logo
UNL SoC Falkinburg-Daniel

Husker Scope 2.0

The goal of this project was to expand on the original Husker Scope app. The original Husker Scope app is an all-in-one cross platform application (iOS, Android, and Web App) that implements a Dual Channel Function Generator, AM/FM Modulator, and Single Channel Oscilloscope functionality for use within UNL engineering courses and around the world. The Husker Scope 2.0 team was given the tasks of creating a hardware interface to enable two-channel inputs for the Oscilloscope, enable functionality outside the normal audio range, as well as adding in a Spectrum Analyzer and Logic Analyzer functionality into the app.

At the beginning of the project, the team decided to split themselves into two teams, a software and hardware team. The software team focused on the application side of the project and developed the new features in the app and changes to the user interface. The hardware team focused on the hardware interface that was needed for the new features to work.

The first new feature that was added to the application was the single channel spectrum analyzer. The included features of the spectrum analyzer are wave visualization, autoset, centering, FFT size manipulation, cursor measurement, frequency division manipulation, windowing options, pause/play waveform, and exporting data as csv. Following the spectrum analyzer, the team worked on implementing dual channel inputs for the oscilloscope and spectrum analyzer. With the new hardware interface board created by the team, the user is now able to use the board for dual channel inputs that support an increased frequency range than before. The user can connect the board to their device through USB on the Web App or by Bluetooth for Android devices (iOS support is still in development).

The team was successfully able to create a hardware interface for Husker Scope that allowed for new features such as a spectrum analyzer, dual channel input for the oscilloscope and spectrum analyzer, and an increased frequency range for input into the application.

Squad Team Members

Isaac Lien Squad Lead/Prod Manager
Timothy Gibbons Development Manager
Sultan Alrefaei Developer
Samuel Briggs Developer
Benjamin Finnegan Developer
Caden Kirby Developer
Joel Murch-Shafer Developer
Rachit Rajiv Developer
Brady Smith Developer
Raoul Tayo Sop Developer


UNL SoC Roohi Logo
UNL SoC Roohi

FPGA Machine Learning

The task that Arman Roohi assigned to the team was to create a machine learning model and place it on an FPGA board. The team was to develop a framework that analyzed the security issues of a quantized neural network on the board. This analysis was to be used to give a broader perspective of trade-offs among accuracy, energy, and security. By having this observation, Arman can enhance and implement efficient neural network models with better security. This project allows the team to integrate three metrics and examine the existing and highly used models using the developed framework.

The first major challenges posed to the team were what security threats the team would be evaluating, what type of models the team would be creating, as well as the datasets that the team would use. The team had decided to evaluate Adversarial Images and Bit-Flip Attacks as two major security threats to performance and accuracy. Adversarial Images are images that have been distorted through a variety of means, such as color shifts, granulation, or censorship. These images can disrupt the model’s identification process and cause it to give an incorrect evaluation. The Bit-Flip Attack occurs when one or more weights are reversed, causing an incorrect sequence of logic and an incorrect evaluation.

The team decided to create two separate models. One model utilizing 450 classes of Birds at 224x224 resolution being attacked by a Fast Gradient Sign Method Attack; made more robust by using Gradient Distillment or Gradient Masking technique. The other model utilizing the SVHN dataset which has 10 classes at 32x32 resolution being attacked by a Bit-Flip attack; made more robust by using a Triple Modular Redundancy implementation. These defenses run on Quantized Neural Networks which already suffer from some accuracy loss but are needed to fit the model on the the board. With these quantized networks we evaluated the accuracy, performance, and security of our models and their applied defenses. With this work. Arman is now able to use the board, models, and everything else for his research on machine learning.

Squad Team Members

Jacob Daffer Squad Lead/Prod Manager
Aaron Linnell Development Manager
Anthony Luu Developer
Robert Taylor Developer
Colby Young Developer


UNL SoC Wolf Logo
UNL SoC Wolf

Running Robot Game

The Running Man movie takes place on a dystopian society where the citizen’s like to watch the very gruesome Running Man Game. Said game consists of letting a person run loose within the depths of the city, and then one by one another person would come in and try to hunt them down. The person that is being set loose is called the running man, and the hunters are called stalker in the movie. The team then heavily inspired by this, focused on creating two different classes of robots, a runner, and a stalker. The runner’s purpose is to survive for a certain amount of time or take out the stalker. The stalker’s goal is to take out the runner before time runs out. The team also created an arena with obstacles made of cardboard. A web application was created to keep track of health, points, and time.

When creating the web application, the team was able to get creative, and develop what they thought would be useful for a game like this. After hours of brainstorming, the team decided to create a React application with various user-friendly features such as a player log in screen, music, game controls/rules, a career stats screen, and the actual UI for the game itself. An API was created using python to connect the robots within the application. To add portability to the project the team chose to create a locally run application. Because of this, the game is easy to download and packet in many devices. Thanks to all these features, and work within the web application, the team was able to bring The Running Robot Game to life.

The team moved from a tank chassis that had one motor designated for turning, and one motor designated for driving, to a tank chassis with two independent motors on each side. Another challenge was assembling everything on the new chassis as it was significantly smaller than the previous design. Initially they crammed everything into a small box, but that led to them frying an ESP32. However, the team overcame this challenge by separating all the items and using electrical tape to secure the parts. This is a temporary measure until they acquired new parts that allowed them to assemble everything together in a much cleaner fashion. Sound was added to add to the gaming experience.

Squad Team Members

Juan Guzman Multi-Team Squad Lead
Ryan Schumacher Product Manager
Brian Belt Developer
Reed Lawrence Development Manager
Monty McConnell Developer
David Ryan Developer
Jo Stollar Developer
Victoria Titsworth Developer
Thomas Vierk Developer
Connor Wilson Developer


UNMC College of Nursing Logo
UNMC College of Nursing

Nurses Escape: The Heart of the Problem

To help educate medical personnel on how to diagnose and treat heart disease, the University of Nebraska Medical Center’s College of Nursing (UNMC) includes heart disease, the leading cause of death for people of varying ages, gender, race, and ethnicity, in its curriculum. The UNMC’s goal is to create a Virtual Reality (VR) Escape Room game that focuses on the diagnosis and treatment of heart disease and stroke. This hands-on experience allows the user to go through various puzzles related to diagnosing heart disease and treatment. This experience also helps mitigate the real-life risk of losing a patient which allows for a safe learning environment.

The team was asked to work on a virtual reality escape room game called Nurse’s Escape: The Heart of the Problem. In this solution, players complete a variety of puzzles that focus on diagnosing and treating heart disease based on symptoms presented in a virtual patient. This game is built to run on the Meta Quest with Unity as the development program. The team was tasked with designing rooms and puzzles based on the steps a nurse or doctor would go through with a patient that is struggling with heart disease. The game's objective is to correctly diagnose the patient with heart disease and decide where the patient should be sent and what treatment options to give the patient based on medical testing results. The game also keeps track of correct/incorrect decisions and the amount of time it takes the player to complete all puzzles. Once the timer or game is finished, a score will be given to the player along with additional information about the diagnosis and treatment for heart disease.

The game has 6 different rooms the player goes through in a specified order. Each room gives the player a description of the current status of the patient and talks about the upcoming puzzle they’ll have to solve to progress through the game. These puzzles include topics such as where to initially send the patient, identifying that the patient is having heart disease-related illnesses, what medicines to give through various phases such as Preload/Afterload, and how they can reduce the risk of heart disease in the future. This game will be presented to young nurses and professional doctors in various parts of the country and will also be available to the public to learn about heart disease and stroke.

Squad Team Members

Michael Ervin Squad Lead/Dev Manager
Isaac Baysinger Product Manager
Eric Dundas Developer
Michael Kaseska Developer
Michael Sanders Developer
Spencer Will Developer


USDA Logo
USDA

Wetland Determination Tool

The USDA tasked our team with replicating their existing wetland delineation tool currently being used in ArcMap, to a newer, cloud based geospatial editing software called ArcGIS Pro. With ArcMap, the UDSA was unable to share a single database to edit, create, or analyze their geospatial data, and had to combine each team member’s local databases weekly to accommodate for that. With ArcGIS and ArcGIS Online (AGOL) the wetland delineation team can work in a single data base and work more efficiently by having all team members’ work accessible at any moment.

Migrating to ArcGIS required rewriting the add-in due to the newer version of .NET and the new ArcGIS Pro SDK. The previous Senior Design team who developed the original tool for the USDA provided us with much of the logic to aid in development. However, with the changes in the application interface, our team needed to create an entirely new program architecture. Our team worked with .NET 6 and Windows Presentation Foundation (WPF) to create a new modular design for the tool. By having modularity in our application, it aids in the development process and maintenance of the application. Any future developer who continues to work on our tool if the USDA requests, will easily understand the program architecture and be able to navigate the file structure with ease. Our team used a Model View ViewModel (MVVM) program architecture where the view is updated by a viewmodel that receives information and logic from a model.

The greatest challenge our team faced was the ArcGIS Pro interaction with AGOL. The previous team did not have an online database to connect to since ArcMap was strictly a desktop application. We researched countless hours to understand a foreign SDK and learned the best methods for asynchronous database interaction. The tool’s interaction with the database is multithreaded which allows multiple tasks to be completed asynchronously. This allows for more work efficiency and higher application performance. With this new updated tool, the USDA is able to work collectively and more efficiently while doing wetland delineations.

Squad Team Members

Corbin Lamplot Squad Lead/Prod Manager
Amy Fetzner Development Manager
Krishna Kotha Developer
Justin Le Developer
Ryan Thomas Developer


Werner Enterprises Logo
Werner Enterprises

Mobile App Messaging Module

Werner Enterprises needed a messaging system to notify all of their drivers about various types of information. The current messaging system at Werner is static and needs application updates each time a message is set to be released. Werner wanted a dynamic system that allows administrators to create, update, delete, and modify the order the messages are displayed.

The team created a full stack application that allows Werner to manage the messages to their drivers. The various administrative views give Werner total control of the messages to their drivers. The drivers are met with a rotating message banner when initially opening the application. The message banner can include links to navigate drivers to websites outside of the application. This ensures that Werner can provide access to additional information if it does not all fit within the banner.

To ensure the drivers receive the most up-to-date messages, the team implemented SignalR into the application. SignalR allows the application to notify drivers when new messages have been posted or old messages have been updated. This ensures that all Werner drivers are provided with the most up-to-date announcements.

Squad Team Members

Andres Ruiz Squad Lead/Dev Manager
Gage Crowell Product Manager
Bao Bui Developer
Paul Poling Developer
Zoyace Shrestha Developer
Matthew-Kurtis Thomas Developer


We work with industry and academic partners to create great software, hardware, and/or IoT applications.


Contact the School of Computing Senior Design about your next project.



Senior Design Visitor Information



Follow the School of Computing