I have been to many events where entry takes a long time, or there are steps to perform that require a person to interact with. The result can be long lines, delays, and wasted resources. These can all be eliminated with technology and were the inspiration for Consent.

What it does

Consent consists of a user app (Consent) on their phone, a kiosk app (Consenter) on a tablet, a printer, and backend services (Anvil and Parse). The user establishes their profile in the Consent app. The organizer sets up the event in the Consenter app and selects the relevant forms to be filled out. When the user arrives, they tap their phone running Consent to the tablet running Consenter. Their identity is recognized, and event information is transferred. The Consenter kiosk is now ready for the next user. The user is shown a list of forms required by the event in their Consent app. The forms are automatically filled in via Anvil and can be reviewed by the user. They agree to each form in the Consent app, and can tap to have their badge printed at a nearby printer. They are then presented information about the event, and are ready to enter.

Consenter can be used for many operations. Check in for events like conferences, job fairs, hackathons, and expos are some examples, but medical and dental offices can use Consent, as can athletic activities like road races, gyms, rock climbing, etc. There are many others such as access to facilities and businesses. For example I used to attend a monthly meetup at the Epic games facility and we had to sign waivers and get badges printed just to enter. It was similar at the local Google complex. Each would take a considerable amount of time and required a few staff members.

How we built it

I wrote iOS apps in Swift for the Consent user app and Consenter kiosk app. They communicate via bluetooth when establishing identity and exchanging event info. Both apps communicate with a backend on the Parse Platform for authentication, data storage, and cloud functions. Documents to be filled in are established on the Anvil backend, with all of the appropriate fields identified. The Consent app sends the relevant user info to Anvil via their REST API, and receives back a filled in document for user review. The Consent app also communicates with a local printer to print their badge using the Brother SDK.

Challenges we ran into

There were numerous challenges in getting the two apps to communicate. It's a difficult process to debug. Getting the Anvil API working in Swift took some trial and error as it was hard to figure out what was wrong when things didn't work.

Accomplishments that we're proud of

I'm proud that the process runs smoothly and works well. I believe Consent will be easy to deploy and operate, and will save a lot of time and effort in practice.

What we learned

I learned about PDF form automation, and the Anvil platform.

What's next for Consent

I want to build a console to manage events, and work to tie Consent to existing event management platforms. I would also like to find an event for a test deployment.

Built With

Share this project: