Offline registration system and an attendee database written for Ringtail Cafe Productions. It is used at Fur Reality in Cincinnati, OH and the International Steampunk Symposium, also in Cincinnati.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Kairos Registration System

Kairos is an offline registration system and an attendee database written for Ringtail Cafe Productions. It is used at Fur Reality in Cincinnati, OH and the International Steampunk Symposium, also in Cincinnati.

Sign Up Form


  • At Door Registration Form
  • Pre-Registration Check In
  • Searchable Attendee Database
  • Automatic blacklist flagging.
  • Automatic minor flagging.
  • Live Numbers

Kairos works best if you import all of your pre-registered attendees into the database.

Goals of the system

Work at a hotel with limited equipment and no internet access.

Kairos only requires a single computer running Windows, OS X or Linux to function as a server. No internet access is required.

You can even use a Raspberry Pi if you have the technical skill to install and configure Apache, MySQL, and PHP yourself.

Minimal training for convention staff

As much of the process of registration is as automated as possible. The concepts behind the UI are relatively simple.The error messages explain why things are invalid.

Reduce the amount of paperwork for convention staff.

By having people registering at the door fill out an electronic application, there is no need to do data entry to a database.

If you import your pre-registered attendees into the database, pre-registration can also be handled electronically.

Everything you need is a search away. No hunting through paper forms.

Recommend equipment setup

Network Requirements

Any consumer router with Ethernet ports can be used. For security, it is highly recommend to use a wired network and disable WiFi on any router used for this system.

If you must use WiFi, it is recommended to have a knowledgeable tech secure the system. A number of consumer routers have security issues.

It is also important to keep an eye on the equipment to make sure no one attempts to physically access the system.

Server Requirements

Any system capable of running XAMPP (Apache + MySQL + PHP) can function as a server.

Client Requirements

For laptops: Any system capable of running Google Chrome or Firefox. Chromebooks or Raspberry Pis with are a good choice.

For tablets: Most android/iOS tablets. (This requires a secure wifi system.)

Install Instructions

  1. Download a copy of XAMPP 5.6.8
  2. Configure XAMPP security: set mysql to local access only and add a secure password to phpmyadmin.
  • Run /Applications/XAMPP/xamppfiles/xampp security (Mac specific. Command will be different on windows and linux.)
  1. Copy XAMPP's htdocs folder to a safe place.
  2. Replace the contents of XAMPP's htdocs folder with this application.
  3. Load sql/database.sql into mysql using phpmyadmin.
  4. Load sql/blacklist.sql into mysql using phpmyadmin. (If provided)
  5. Put your convention's Code of Conduct in _partials/code_of_conduct.html.
  6. Edit the various configuration values in _includes/config.php as needed.

Sign Up Screenshots

Sign Up Code of Conduct

This is the first page someone sees when they go to sign up at the door.

Sign Up Code of Conduct

Sign Up Form

After agreeing to the Code of Conduct, this is the form they need to fill out.

Sign Up Form

Sign Up Form with Errors

Here are most of the error messages that will appear if someone doesn't fill out a required field.

Sign Up Form Errors

Admin Screenshots

Attendees Tab

See all people who have pre-registered or registered at the door.



Search the database by badge number, badge name, legal name, phone number, email, adult's badge name, or adult's legal name.



See how many pre-registrations have checked in and are remaining.


At Door Check In Tab

Check in people who just filled out the at door registration form.


Adult Payment and Check In

Payment and check in are separate so you can have one person collecting payment and another person handing out badges.

admin-normal-pay admin-normal-checkin

Automatic blacklist flagging

Blacklist works by detecting badge names and legal names matching a predetermined blacklist.

There are two levels: warn and ban.

Ban example: Holly Potts has been banned for putting bubble bath solution in the hotel pool. The hotel has probably permanently barred her from their property.


Warn example: Kim Abbott hasn't been barred from the hotel, but she was involved in the above incident, so convention security wants to keep an eye on her if she shows up.


Just in case the blacklist automatically flags the wrong person, checking the "This is a mistake" checkbox will clear the message.

Minor Check In

When checking in a minor, the system adds a notice to the check in box.


Editing an Attendee

Did someone mistype their name? Did someone accidentally clear the blacklist warning? Easy enough to fix.