Streamlining event entry with real-time QR check-ins

Streamlining event entry with real-time QR check-ins

Streamlining event entry with real-time QR check-ins

Streamlining event entry with real-time QR check-ins

Replacing slow, manual event check-ins with a QR scanning system to reduce queues, improve accuracy, and support safeguarding requirements

Replacing slow, manual event check-ins with a QR scanning system to reduce queues, improve accuracy, and support safeguarding requirements

Replacing slow, manual event check-ins with a QR scanning system to reduce queues, improve accuracy, and support safeguarding requirements

TEAM

TEAM

TEAM

+6

TIMELINE

TIMELINE

2-3 months

2-3 months

2-3 months

MY ROLE

MY ROLE

MY ROLE

UX

UX

UI

UI

Interaction design

Interaction design

Wireframing

Wireframing

The challenge

The challenge

Large school events required organisers to manually check in hundreds of guests using printed spreadsheets. This created bottlenecks at entry points, slowed down queues, and made it difficult to accurately track attendance in real time.

Large school events required organisers to manually check in hundreds of guests using printed spreadsheets. This created bottlenecks at entry points, slowed down queues, and made it difficult to accurately track attendance in real time.

Slow, manual guest check-ins

Slow, manual guest check-ins

"Checking in hundreds of guests using a printed spreadsheet is a nightmare. The line stalls while we flick through pages to find guest bookings."

"Checking in hundreds of guests using a printed spreadsheet is a nightmare. The line stalls while we flick through pages to find guest bookings."

Managing tickets and safeguarding

Managing tickets and safeguarding

"Without a digital record, our attendance and sales data is fragmented. It makes safeguarding more difficult as well."

"Without a digital record, our attendance and sales data is fragmented. It makes safeguarding more difficult as well."

Stressed parent experience

Stressed parent experience

"The kids are restless by the time we get to the front of the queue. The wait just makes it feel stressful."

"The kids are restless by the time we get to the front of the queue. The wait just makes it feel stressful."

The outcome

The outcome

Faster, fully digitized check-in process with accurate records

Faster, fully digitized check-in process with accurate records

Enhanced event security through a digital tracking system

Enhanced event security through a digital tracking system

Reduced check-in times from ~30 seconds per guest to under 10 seconds per scan

Reduced check-in times from ~30 seconds per guest to under 10 seconds per scan

01 RESEARCH AND INSIGHTS

01 RESEARCH AND INSIGHTS

Getting started

Getting started

The product owner shared user feedback highlighting the need for a faster, more reliable check-in system. We analysed competitor scanning apps to understand common interaction patterns, particularly around scan feedback and error handling. This informed our approach to providing clear confirmation for both successful and failed scans. Key requirements were explored through low-fidelity wireframes.

The product owner shared user feedback highlighting the need for a faster, more reliable check-in system. We analysed competitor scanning apps to understand common interaction patterns, particularly around scan feedback and error handling. This informed our approach to providing clear confirmation for both successful and failed scans. Key requirements were explored through low-fidelity wireframes.

02 IDEATION

02 IDEATION

Hmm…how should this work?

Hmm…how should this work?

Hmm…how should this work?

We collaborated in Figma to refine the check-in logic and navigation, focusing on how organisers could quickly move from event context to scanning and guest verification. I built on the existing Classlist design system and defined a primary flow that prioritised scanning as a key action, enabling faster check-ins during live events.

We collaborated in Figma to refine the check-in logic and navigation, focusing on how organisers could quickly move from event context to scanning and guest verification. I built on the existing Classlist design system and defined a primary flow that prioritised scanning as a key action, enabling faster check-ins during live events.

This initial exploration led to further questions around edge cases and real-world usage:

This initial exploration led to further questions around edge cases and real-world usage:

This initial exploration led to further questions around edge cases and real-world usage:

Q1: What if the ticket doesn't scan?

Q1: What if the ticket doesn't scan?

Introduced a manual check-in option to prevent delays at entry points and ensure organisers could continue processing guests without disruption.

Introduced a manual check-in option to prevent delays at entry points and ensure organisers could continue processing guests without disruption.

Q2: What if I scanned someone in by mistake?

Q2: What if I scanned someone in by mistake?

Enabled an undo check-in action to allow quick recovery from errors, reducing the risk of incorrect attendance records.

Enabled an undo check-in action to allow quick recovery from errors, reducing the risk of incorrect attendance records.

Q3: How does the new feature change the guest experience?

Q3: How does the new feature change the guest experience?

Updated ticket design, PDFs, and email communications to include QR codes so guests could easily access and present their tickets during check-in.

Updated ticket design, PDFs, and email communications to include QR codes so guests could easily access and present their tickets during check-in.

Once key flows and edge cases were defined, we collaborated with the development team to validate feasibility and align on implementation ahead of the Christmas launch.

Once key flows and edge cases were defined, we collaborated with the development team to validate feasibility and align on implementation ahead of the Christmas launch.

03 ITERATIONS

03 ITERATIONS

We nailed it...almost

We nailed it...almost

We nailed it...almost

Tight timelines required fast, pragmatic decisions. To meet deadlines without compromising usability, the bottom navigation was simplified by introducing a dedicated Scan button and a direct link to Bookings. The scanner gained clearer labels and larger tap areas to improve accessibility under real event conditions, and ticket UI elements were refined for consistency and the new organiser check-in functionality.

Tight timelines required fast, pragmatic decisions. To meet deadlines without compromising usability, the bottom navigation was simplified by introducing a dedicated Scan button and a direct link to Bookings. The scanner gained clearer labels and larger tap areas to improve accessibility under real event conditions, and ticket UI elements were refined for consistency and the new organiser check-in functionality.

04 FEEDBACK

04 FEEDBACK

Are we winning?

Are we winning?

Are we winning?

Following developer input, I refined the end-to-end flow, page variants, and component states to prepare for stakeholder review and implementation. Feedback focused on improving cross-platform consistency and strengthening visual feedback for check-in states. I aligned the header styling with the PWA admin interface and introduced clearer state differentiation to make check-in status more immediately recognisable during live events. Final assets were delivered for developer handoff via Zeplin, with supporting implementation documentation in Jira to ensure smooth delivery.

Following developer input, I refined the end-to-end flow, page variants, and component states to prepare for stakeholder review and implementation. Feedback focused on improving cross-platform consistency and strengthening visual feedback for check-in states. I aligned the header styling with the PWA admin interface and introduced clearer state differentiation to make check-in status more immediately recognisable during live events. Final assets were delivered for developer handoff via Zeplin, with supporting implementation documentation in Jira to ensure smooth delivery.

Following developer input, I refined the end-to-end flow, page variants, and component states to prepare for stakeholder review and implementation. Feedback focused on improving cross-platform consistency and strengthening visual feedback for check-in states. I aligned the header styling with the PWA admin interface and introduced clearer state differentiation to make check-in status more immediately recognisable during live events. Final assets were delivered for developer handoff via Zeplin, with supporting implementation documentation in Jira to ensure smooth delivery.

05 TESTING

05 TESTING

Ready, set…scan!

Ready, set…scan!

Ready, set…scan!

During pre-launch testing, I identified a character-length inconsistency between Flutter and the PWA that caused event questions and answers to be truncated on key booking and confirmation screens. Working with developers and QA, I resolved this by unifying maximum character limits across platforms, ensuring content remained fully visible without breaking layouts across devices. This reduced the risk of incomplete information during live event check-ins.

During pre-launch testing, I identified a character-length inconsistency between Flutter and the PWA that caused event questions and answers to be truncated on key booking and confirmation screens. Working with developers and QA, I resolved this by unifying maximum character limits across platforms, ensuring content remained fully visible without breaking layouts across devices. This reduced the risk of incomplete information during live event check-ins.

During pre-launch testing, I identified a character-length inconsistency between Flutter and the PWA that caused event questions and answers to be truncated on key booking and confirmation screens. Working with developers and QA, I resolved this by unifying maximum character limits across platforms, ensuring content remained fully visible without breaking layouts across devices. This reduced the risk of incomplete information during live event check-ins.

06 LAUNCH AND IMPACT

06 LAUNCH AND IMPACT

Seeing the results

Seeing the results

The scanner launched in time for winter school events, replacing manual check-in with a fully digital tracking system and removing a key bottleneck during high-volume use. Single ticket scans take around a second, while typical multi-ticket check-ins are completed in under 10 seconds.

The scanner launched in time for winter school events, replacing manual check-in with a fully digital tracking system and removing a key bottleneck during high-volume use. Single ticket scans take around a second, while typical multi-ticket check-ins are completed in under 10 seconds.

07 LESSONS

07 LESSONS

What I learnt

What I learnt

What I learnt

Done is better than perfect when timelines are fixed.

Done is better than perfect when timelines are fixed.

Under tight timelines, prioritising clarity and collaboration enabled the team to deliver a usable, scalable solution in time for peak event periods.

Under tight timelines, prioritising clarity and collaboration enabled the team to deliver a usable, scalable solution in time for peak event periods.

Through focused communication with developers, we aligned quickly and reduced iteration overhead.

Through focused communication with developers, we aligned quickly and reduced iteration overhead.

Think system, not feature.

Think system, not feature.

Testing exposed inconsistencies between Flutter and the PWA, highlighting the importance of aligning behaviour, validation, and content across platforms.

Testing exposed inconsistencies between Flutter and the PWA, highlighting the importance of aligning behaviour, validation, and content across platforms.

I learned to approach features as part of a wider system, ensuring consistency across platforms.

I learned to approach features as part of a wider system, ensuring consistency across platforms.