AeroSports
Staff-facing WPF application for initializing, registering, renewing, and managing NFC wristbands and player records through the backend API.
Stack
WPF desktop app
Workflow
NFC wristband operations
Surface
4 core operational pages
Users
Staff-side player management
Data
API-driven database access
Grouped by the primary systems, languages, and infrastructure used in this build.
Frameworks
.NET 9, WPF
Languages
C#, XAML
Hardware
Handscanner
Supporting Systems
Backend
AeroSports
Staff-facing WPF application for initializing, registering, renewing, and managing NFC wristbands and player records through the backend API.
Stack
WPF desktop app
Workflow
NFC wristband operations
Surface
4 core operational pages
Users
Staff-side player management
Data
API-driven database access
Tech Stack Overview
Grouped by the systems, languages, and supporting layers used in this project.
The POS & Wristband Management system is a .NET WPF desktop application used by staff to manage NFC wristbands and player records.
It was originally built for one simple purpose:
Over time, it evolved into a much more capable operational tool.
Today, it is used to:
It communicates with the backend through the API and serves as one of the main staff-facing operational tools in the facility.
The POS runs on the staff-side PC with an NFC reader attached. It reads and writes wristband and player data through the backend API and supports multiple operational workflows for registration, lookup, renewal, and initialization.
The POS includes 4 major pages.
The Register page allows staff to create player records and bind a new wristband to them.
Staff can:
It also supports family/group workflows:
This made it easier to handle real family registration instead of forcing separate isolated entries.
The Lookup page is one of the most feature-rich parts of the application.
It allows staff to:
This page turned the POS into more than a scanner tool - it became a practical management system for day-to-day staff operations.
The Renew page supports returning players who already have an old wristband.
Instead of entering all the information again, staff can:
This makes repeat visits much faster and more convenient.
The Initialize page supports fast preparation when staff are busy.
In this mode, staff can:
The player can then complete registration later using the registration tablet.
This created a faster fallback workflow during peak traffic.
The earliest version of the POS was much simpler.
It used to be:
Players then had to complete everything on the registration tablet.
That approach became insufficient as usage patterns grew more complex.
For events like: the old flow created several problems: There were also management limitations:
For events like:
the old flow created several problems:
There were also management limitations:
We moved the application to WPF and redesigned the interface using XAML. This gave us:
This transformed the POS from a basic initializer tool into a proper staff operations system.
The first challenge was deciding on the architecture that would let both players and staff use the system efficiently. We needed a workflow where:...
The first challenge was deciding on the architecture that would let both players and staff use the system efficiently.
We needed a workflow where:
That led to the initialization-first model, which became the base for the broader registration workflow.
As we added more features, the old data model and process assumptions were no longer enough. We had to modify database structures to support: One i...
Another challenge was changing the application into a WPF system. This required: One of my teammates had stronger WPF experience and suggested the...
The new version was a major upgrade with many more features. That also meant it could feel overwhelming for staff at first. So the challenge was no...
I worked on the POS as part of the broader AeroSports software ecosystem and contributed to both the feature evolution and the operational workflow design.
My contribution included:
This project was also collaborative.
One of my teammates had stronger WPF experience and played an important role in helping complete:
Together, we turned the POS from a limited initializer into a much more capable staff operations tool.
Core technologies
Supporting technologies