Track 04: What's Your Location
In-Person Attendance: Designing location logic people can trust.
CompanyPoll Everywhere
RoleSr. Product Designer
ScopeAdmin Config, Participant Mobile
ToolsFigma, FigJam, Notion
Project Overview

Hybrid events introduced new challenges in tracking whether participants were physically present. I led the end-to-end design of the In-Person Attendance feature, a geolocation-based system enabling hosts to verify participant presence with full coverage of permission states, multi-location management, and real-world edge cases.

The focus was not visual polish. It was making a technically complex system feel clear, reliable, and trustworthy for both the host setting it up and the participant checking in.

The Problem

Hosts needed to confirm whether participants were physically present at events, but the experience was fragmented and error-prone. Browser permission behavior, multi-location setups, and failure states had no cohesive design treatment, leaving both hosts and participants unsure of what was happening and why.

No setup guidance
Hosts did not understand what the geolocation toggle meant or what would happen when they turned it on
Multi-location fragility
Adding, editing, or deleting locations had no error prevention. Duplicates and max-limit states went unhandled
Silent failures
When location services were blocked, the UI gave no actionable feedback to the host or participant
Permission confusion
Participants did not understand why location was being requested or what to do if it failed
FERPA compliance gap
The initial release required suppressing participant names. This was not communicated anywhere in the UI
OS inconsistency
Location permission prompts behaved differently across Android and iOS. Both paths required explicit design
Design Approach

Three layers of complexity, solved systematically.

01
Mapping every system state
Before designing any screens, I mapped every possible state across the geolocation permission system: toggle off, toggle on, browser permission requested, allow or block, and all subsequent UI responses. This ensured no state was left undesigned and gave engineering a clear behavioral spec to build against.
02
Simplifying multi-location setup
The admin flow needed to support adding, editing, and deleting single or multiple locations with map integration, radius configuration, and duplicate detection. I designed each state progressively: empty state, one location, multiple locations, and max limit reached, with contextual inline feedback at each step.
03
Designing edge cases as core UX
Rather than treating edge cases as afterthoughts, I designed them as first-class experiences. Every failure state received a deliberate pattern with a clear message, a reason, and a next action. Duplicate location, max locations exceeded, location unverifiable, out of region, integration failure. No silent failures.
Outcomes

This work improved the reliability and usability of attendance tracking for hybrid events, giving hosts a system they could configure with confidence and participants clear paths through every possible state.

2End-to-end flows
9+Error states designed
3Permission states
0Silent failures
Reliable attendance
Hosts could verify participant presence across hybrid event setups without configuration errors
Engineering clarity
A full behavioral spec engineering could implement with confidence. Every state documented
FERPA-aware design
Release-phase compliance requirements communicated in the UI from day one
Reusable patterns
A repeatable pattern library for location-based flows and permission state handling across the product
"This project reinforced that clarity is a design output. Every permission state, every error case is a user need in disguise. Getting the logic right is the craft."
Sophia Bracey — Sr. Product Designer, Poll Everywhere

If I had more time

Guided onboarding
A first-time setup walkthrough for geolocation permissions to reduce host confusion at the start
Predictive feedback
Surface potential setup errors before they occur rather than after the host has already failed
Visual hierarchy
Stronger scanning patterns for hosts managing multiple concurrent event locations

© 2025 - Built with good vibes

© 2025 - Built with good vibes

© 2025 - Built with good vibes