CS462 Wi-Fighters IoT Project

Yong Long Foo
5 min readApr 17, 2021


Video Introduction

Table of Content

  1. What are we solving?
  2. Our solution
  3. Benefits
  4. Solution design
  5. What we learned

What are we solving?

Is our current Safe Entry solution really safe?

Congestion at QR code placeholders discourages safe distancing between patrons

Discourages safe distancing

As students ourselves, we are guilty of arriving for lessons just 5–10 minutes before it starts. This has caused huge congestion at the various entry points of the school.

Spike in the number of students entering the lift lobby at peak periods

Our analysis further backs this. As classes start at 0815, 1200, 1530, and 1900 daily, you will see a huge spike in traffic entering the building during these peak hours. It is common to see congestion during these timings as students search for the QR codes or open their Singpass Application.

Lack of proper authentication

There are incidents where students/guests will show screenshots of check-in pages generated previously. Due to the rush hour, it is tough for the security team to validate the time and area of check-in.

Our Solution

We have designed an alternative Safe-Entry solution that shortens the check-in process for students and staff at SMU. For our solution to work, users will need to have a staff/student account with the school and a phone connected to the School Wifi.

User interface of our application
  1. Open a web browser and go onto our web application. Make sure you are connected to the school Wifi before entering. Click on the “Check-in” icon.

2. An error message will pop up if you are not on the school Wifi network.

3. Once check in, a successful login page will be displayed along with a unique background color. Our application will generate a unique background color for each day, preventing students from showing screenshots from previous check-in attempts.

Benefits of our solution

Stronger Authentication and Lesser Congestion!

Each day, a different colored successful login page prohibits students/guests from showing screenshots from the previous days. There will be lesser congestion as well with a shorter check-in process.

WIFI — The backbone of our solution

To log in to the School Wifi, each user needs to have a student/staff account. We are then able to identify the user once they are checked in.

Wifi routers in almost every room to ensure connectivity for everyone

To ensure that everyone gets a stable connection, there are many Wifi routers around the campus. In fact, SMU has the most number of Wifi routers per square foot compared to the other local universities.

Crowd Monitoring dashboard

This has enabled us to design a security dashboard for the campus security team to monitor the crowd level at each room during specific times and the occupancy trend in each room. Users in the room can be identified as long as their mobile devices are connected to the Wifi routers.

User Journey dashboard — Each colour representing a certain school

If a particular user is at risk, we can trace his/her movements through campus for each week. The dashboard will display the people(represented by the squares) who are in contact with the user.

System Design

Architecture diagram for our solution

For the Frontend, we used the Vuejs framework concerning bootstrap-vue for our template. The main goal was to provide a simple and linear user experience for our users.

Script to send data to backend
Backend master sheet of people connected to the router
Backend database to see who is currently connected

For the Backend, whenever a user is connected to the wifi, their MAC address is automatically registered into a CSV file. From this file, we can retrieve any new records and send them to the backend server, which logs which users are currently connected to the school wifi. If the user is no longer connected to the wifi, the backend server automatically removes their MAC address from the database after 5 minutes.

Google Colab output

We utilized Python in a Google Colab environment for our quick exploratory data analysis due to the number of data.

Tableau Online environment

The dashboards are hosted within a Tableau online environment. To integrate it into our solution, we must embed the login credentials and code in our development environment. This will allow the campus security team to interact with the dashboards.

What we learned

  1. IoT data is really overwhelming!

We are talking about millions of data points just in a single week. On top of that, there are lots of noises within the dataset. Tons of data engineering needs to be done before analyzing and visualizing the data. A great understanding of the context and goal of our analysis will allow us to convert the data to actionable insights. For example, it is almost impossible to do a self-join in Tableau to extract the people at risk. A simple query might take 10 minutes to load the visualization.

2. Think simple

Most people associate IoT with wearables, but IoT can be as simple as your phone and Wi-Fi connection! There’s a lot more data in your footprint than you thought.

3. Double Counting

Multiple access points may detect a Wi-Fi client. Thus, it is necessary to track the Received Signal Strength Indicator (RSSI) to detect which access point it is the closest to.

Overall, it is a great learning journey for the team, and we had tons of fun building our solution. We strive to take this valuable experience for us to develop a product that keeps everyone safe. Till then, save YOUR entry with Wi-Fighters!




Yong Long Foo

A passion for teaching, consulting and analytics. Tableau Product Consultant. Please reach out to me on Linkedin. https://www.linkedin.com/in/yonglong95/