matt murtaugh.
about. skills. work. uses. blog.
Side Project

WaiverNinja

Status: Rewrite for v2

WaiverNinja is a customizable waiver system that helps organizations easily collect waivers from their customers. Featuring a customizable front-end for our customers and a simple waiver builder, we make it easy to get up and take waivers from anywhere.

WaiverNinja is one of the most sophisticated and ambitious projects I have built. I am currently on the second version of the product. I replaced the original version with Laravel Jetstream + Spark.

Origins

When we opened Divrsion, we had issues finding business insurance because it was a unique business. The insurance we ended up going with required us to collect liability waivers from all of our customers.

Being the king of "I could build that pretty quickly," I set off to build a straightforward app that covered all the bases our insurer required.

It was simple, but it got the job done. There were many other alternatives that I could have used, but being a brand new business on an extremely tight budget, I didn't want another subscription right off the bat.

I realized I could turn what I built into a service. That is what led to what I know as WaiverNinja.

Waivers

The foundation of WaiverNinja is waivers. Teams can create an unlimited number of waivers. At Divrsion, we used one for customers, one for employees at the end of their shifts, and a COVID screening waiver.

Editing Waivers

Each waiver can have a variety of fields attached. These fields give us added flexibility, letting customers collect more specific information.

Customers & Participants

You can collect customers and participants depending on how you configure a waiver. Both have different purposes but are related to each other. A customer can also be a participant, but being a participant does not mean they are a customer. A better example of this is:

A family comes to do Go-Kart racing. The mom doesn't want to play, but the dad does. They also have four kids under the age of 18 participating. So the dad would fill out the waiver, including himself as a participant. He would also include the four kids on a single waiver.

That waiver would have 5 participants total (4 if the dad didn't want to play). Since the mom isn't participating, she doesn't need to fill out anything.

The cool thing about customers is that you can list the waiver history for that customer. It's an easy way to keep track of when customers need to fill out an additional waiver once previous ones have expired.

Submissions

Submissions are an essential feature of the app. A submission is the result of a customer completing a waiver. Submissions always belong to a customer and will always have at least 1 participant.

In addition, you can automatically flag submissions based on specific field requirements. For example, if the waiver asks if a user will need additional assistance, you can automatically flag any submission that says yes. 

Waivers can be automatically approved or require manual approval.

We also generate and store (also send to the customer) a PDF copy of the waiver when submitted. These can be downloaded in bulk or individually.

Splash Page (front-end for users)

Each team will have a landing page. We brand this page to match the brand of the company. We offer QR codes for customers to share with their customers. The QR code can take them to the landing page or directly to a waiver.

Waiver Statistics

Certain field types offer the ability to have statistics for it. Under each waiver, you will see an "Analytics" option. A good use of this would be a drop-down/radio button asking, "How did you hear about us?". It will give you a chart of the responses for users. This data can be a powerful tool for businesses if correctly set up.


Project Status

I didn't realize that the rewrite for this project would be so ambitious. Besides staying with Laravel, I kept very little of the original code from v1. The second version now uses Livewire & AlpineJS under the hood to massively simplify the code.

I want to finish this project sometime within 2023, but we will see how things go.

© 2024 matt murtaugh. All rights reserved.