Software Completed

ID Card Scanning System

A cost-effective method of scanning "member" ID barcodes from PVC cards into a Google Sheet database for attendance, check-ins, special functions, etc.

Article published

7/7/2024

Duration

1 week

Technologies

Google Sheets

Materials

Waterproof Labels, Bluetooth Barcode Scanner, Printer, Computer or Mobile Device, PVC Cards

barcode DIY

ID Barcode System

Overview

The Barcode Scanner Attendance System is a lightweight, offline-capable tool designed to streamline event check-ins for the Deaf community. Built around scannable PVC ID cards and a Bluetooth-enabled barcode scanner, this system eliminates paper sign-in sheets and ensures fast, accurate attendance logging—especially for outdoor or mobile events with limited internet access.

The Problem

Managing attendance at community events was cumbersome and error-prone. Prior solutions relied on:

  • Paper sign-in sheets prone to misreading or loss
  • Cloud-dependent forms that failed in poor reception areas
  • Manual entry of names and statuses, slowing down check-in
  • No way to track member status (new vs returning) in real-time

The Solution

I developed an offline-friendly barcode scanning system that links directly to a centralized Google Sheet. It uses printed waterproof barcode labels on PVC ID cards to instantly populate attendee info with a single scan.

Key Features

  • Offline-Capable: No Wi-Fi? No problem. Works with mobile hotspots or cached sheets (via Sheets app).
  • Auto-Fill Logic: Scans instantly populate name and member status based on directory matching.
  • Zero Typing: Bluetooth scanner simulates keyboard input—just scan and go.
  • Reusable Infrastructure: PVC ID cards and labels can be used event after event.
  • Custom ID Format: Encodes each person’s last name, first name, and unique ID for consistency.

Technical Details

Architecture

The system uses a decentralized, low-tech setup ideal for mobile or pop-up events. A waterproof barcode label is printed for each participant and applied to a reusable PVC ID card. These are scanned using a Bluetooth or 2.4GHz wireless scanner that emulates keyboard input. The scanned ID populates a Google Sheet Attendance Template, which references a Directory tab to auto-fill additional information like name and membership status using formulas. The sheet is duplicated per event to maintain history and organization.

No external servers, apps, or databases are required—just a laptop and scanner.

I chose Google Sheets instead of something more robust such as Airtable or a dedicated ID system because I did not want to cripple the organization with something proprietary and difficult to learn, if I could not be there for the events.

Implementation

  • Barcode Format: Encoded as LASTNAME-FIRSTNAME-ID for human readability and reliable lookups
  • Directory Lookup: A central tab in the Google Sheet contains the master list of registered members
  • Auto-Fill Logic: VLOOKUP formulas dynamically fill in name and status based on scanned ID
  • Trigger Mechanism: Scanning a barcode enters the value into the active cell, followed by an “Enter” key signal to jump to the next row automatically
  • Offline Resilience: Entire workbook is cached locally via Google Sheets desktop app or runs on a mobile hotspot if needed
  • Reusable Template: Attendance sheets are duplicated and renamed per event (e.g., 2025-04-26 BINGO) for consistency and archival

Performance

  • Scan Time: ~1 second per entry, including lookup and row advance
  • Setup Time: <5 minutes with a preloaded Directory and active scanner
  • Error Rate: Near-zero when using pre-printed waterproof labels and verified Directory data
  • Scalability: Supports any number of attendees as long as they are listed in the Directory

Challenges & Solutions

Challenge 1: Sheet-to-Sheet Lookups Broke Offline

Originally, the system used two separate Google Sheets — one for attendance logs and another as a member directory. This worked online but completely broke offline due to Google Sheets’ dependency on live connections for cross-file references.

Solution: Moved the member directory directly into the attendance template as a separate tab. This enabled fully offline operation.

Challenge 2: iPad Keyboard Behavior Interfered with Scanning

On iPads, the on-screen keyboard and hardware input clashed, breaking scan functionality in the Google Sheets app. The browser version worked but was slower and required internet access.

Solution: Defaulted to Android tablets or laptops when possible. For iPads, documented workarounds like browser mode fallback and toggling keyboard settings.

Results & Impact

  • 75% reduction in check-in time
  • 100% accuracy in name and status logging
  • Fully adopted at community events
  • No cost software stack with durable PVC ID cards
  • Empowered Deaf organizers with faster, accessible tools

Lessons Learned

  • Design for offline support early, especially for field use
  • Small UX quirks (like iPad keyboards) can disrupt workflows
  • Minimal, reusable systems outperform complex alternatives in grassroots settings
  • Emphasizing simplicity and clarity makes the system easy to train and maintain

Future Enhancements

  • Build a dedicated attendance app with offline-first design
  • Enable export/import of data from Google Sheets
  • Add automatic ID assignment for new members
  • Optional features: timestamped scans, CSV exports, event tagging
  • Develop a lightweight, touch-friendly interface for tablets

Getting Started

Blog post with instructions on how to get this started… coming soon!