👆🏾
👆🏾
CheckUsIn: Auto Southwest Check Ins

CheckUsIn: Auto Southwest Check Ins

Project Overview

Automated check-in system for Southwest Airlines flights, ensuring timely check-ins and better boarding positions.

Category

Full Stack Development

Links

Collaborators

Solo Project

Date

June 2022 - Present

My Role

Software Engineer

The Challenge

Southwest Airlines has a unique boarding process, where passengers are assigned boarding positions based on their check-in time.

This creates a competitive environment, as passengers who check in exactly 24 hours before their flight get the best boarding positions, leading to better seat selection.

This project was born from my own frustrating experiences with Southwest's check-in process. After missing several optimal check-in times due to meetings, travel, or simply forgetting, I found myself consistently stuck with middle seats or separated from travel companions. Is there a better way?

As this was a solo project, I:

  • Conducted user research to understand traveler pain points
  • Designed / implemented the web app
  • Developed the automation system for check-ins
CheckUsIn landing page

Landing Page

CheckUsIn is a web application that automates the check-in process for Southwest Airlines flights, allowing check-in at the earliest possible moment. Here's how it works:

  1. Travelers enter their flight details (confirmation number, first and last names) into the app.
  2. The system automatically checks in the passenger exactly 24 hours before the flight.
  3. Users receive confirmation of successful check-in via email or SMS.
  4. Passengers can then retrieve their boarding passes through Southwest's website as usual.

User Research

To ensure real user needs were addressed (besides my own experience), I conducted thorough research, including surveys and interviews with frequent travelers. This research helped identify key pain points and requirements for the app.

Findings

  • 85% of respondents reported missing optimal check-in times at least once
  • 92% expressed interest in an automated check-in service
  • The top concern was reliability, followed by ease of use
  • 78% were willing to pay for such a service, with the average acceptable price being $5 per itinerary
Research findings infographic

Key Research Findings

System Design

Backend

  • Django: ORM / admin interface, easy to integrate with existing web scraping tools (e.g. Selenium).
  • Redis: In-memory data store for caching and session management.
  • Celery: Manages asynchronous tasks, ex. scheduling check-ins at precise times, recovering from issues like site changes or network errors, email notifications.
  • Heroku: Continuous integration.
  • Selenium: Automate user interactions on the Southwest site, e.g. form submissions and confirmation capture.

Frontend

  • Vanilla Bootstrap/JavaScript: Keeps the interface simple and fast-loading. There wasn't a need to overcomplicate this, as it was mostly just form-based.
System design diagram

CheckUsIn System Architecture

Impact

  • 95% of users (friends and family) reported reduced stress related to flight check-ins.
  • On average, users secured boarding positions 50 spots higher than their manual check-in attempts. For example, moving from B30 to A10 could mean access to 8-9 additional rows of preferred seating (window or aisle), considering Southwest's typical 3-3 seat configuration and accounting for middle seats being less desirable.
  • The system had a 97% success rate in timely check-ins (timely == < 15 seconds post 24 hour mark)

Screenshots

CheckUsIn trips page

User's Trips Dashboard

Mobile landing page

Mobile landing page

Flight information entry form

Flight Information Entry Form

Mobile confirmation email

Mobile Confirmation Email