Skip to content

Tendy

Tendy

Tendy is a research prototype that explores and compares three attendance verification approaches:

Modality Type Mechanism
Dynamic QR Active TOTP-based sliding window (2-second code, 3 consecutive scans)
Bluetooth LE Passive RSSI threshold (-90 dBm) proximity detection
Biometric Selfie Social ML Kit smile detection + instructor visual verification

Built with a Python / FastAPI backend and a Flutter (Dart) frontend for mobile and web, the system investigates the friction–trust–privacy trade-off triangle in attendance system design.

Key Research Findings

A within-subjects pilot study (N=7) comparing SUS scores across the three modalities found:

  • Dynamic QR scored highest usability (SUS = 83.9, Grade B)
  • Biometric maintained acceptable usability (SUS = 75.7, Grade C+) despite higher friction
  • BLE passive scored lowest (SUS = 59.6, Grade F) — the "invisible interface" created anxiety
  • All participants rated the biometric method as most secure

The paper reports an "Invisible Friction" phenomenon: passive systems that operate without user feedback can be paradoxically less usable than active ones because users lack a sense of agency and confidence in the system's operation.

Architecture

  • Backend: FastAPI server for session management, TOTP QR generation, BLE presence, and check-in endpoints
  • Frontend: Flutter app demonstrating QR, BLE, and selfie flows (mobile + web)
  • Infrastructure: Docker Compose for local development, GitHub Actions CI
  • Research artifacts: LaTeX paper and Jupyter analysis notebooks under paper/

Design Concepts

Attendance "Trilemma": Friction, Trust, Privacy

Three fundamental opposing forces in attendance system design: Friction (cognitive/physical effort), Trust (provable security against proxy fraud), and Privacy (data collection and retention). No single modality optimizes all three — BLE minimizes friction but collapses trust, biometrics maximize trust but raise privacy concerns, and Dynamic QR occupies the middle ground.

Sliding Window TOTP (Anti-Proxy Defense)

A custom modification of RFC 6238 where the QR code regenerates every 2 seconds (not the standard 30), and the student must capture three consecutive valid codes (~6 seconds of sustained presence) to check in. This prevents "drive-by" scanning, photo sharing, and relay attacks.

Beneficial Friction / Security Ceremony

The HCI principle that deliberately introduced friction in authentication enhances perceived security and user trust, rather than degrading it. Users accept the "privacy tax" of higher-friction methods because visible effort signals system integrity.

Future Directions

The Tendy attendance concept is being repurposed and extended beyond its original research scope into a production attendance and active participation tool for large cohort courses.

QR Check-In + UniPoll for Real-Time Q&A

We are combining the Dynamic QR check-in mechanism from Tendy with UniPoll, a real-time polling system, to create an integrated classroom engagement platform. Students check in via their device, then participate in in-lecture polls, Q&A, and feedback — all from the same session. The sliding-window TOTP ensures that check-in is genuine, and the polling data provides instructors with real-time comprehension signals.

Matrix-Based Device Flexibility

A new matrix-based architecture allows students to use their device in whichever mode suits them — as a microphone for verbal contributions, as a text input for written Q&A, or simply as a polling clicker. This flexibility accommodates students who may not want to speak publicly while still contributing meaningfully to class discussion.

Large Cohort Engagement

The combined system targets exactly the kind of course where Tendy's research was born: large cohort classes (100+ students) where taking attendance manually is impractical, and where engaging every student in discussion is a known pedagogical challenge. The attendance-plus-participation model provides instructors with a unified dashboard of who showed up and who contributed.

Contact

Author: Michael Pismanmpisman@ucmerced.edu

Published as EECS 255 report.