All Tabs

The QR Code Was the Easy Part

databasesproductcarp

CARP is an event registration portal for community organisations and elderly care centres. Whenever I explain it, people notice the QR-code walk-in flow first. Fair enough. QR codes are visible. Database constraints are not very photogenic.

The QR code was also the easy part.

The actual project was full of awkward human questions. What if a senior walks in without an account? What if a caregiver later wants to manage that same person? What if two people register the same participant at once? What if the final event slot disappears between checking capacity and clicking submit?

The visible feature

Scan a code, open the right event, register quickly.

The real system

Resolve identity, link caregivers, protect capacity, prevent duplicates, and keep an audit trail.

For this project, NRIC became the identity anchor. A walk-in could get a shadow profile without creating a full account, and that profile could later be linked to a caregiver. The aim was to keep the user-facing flow simple without creating duplicate people every time the same senior joined another event.

The database gets the final vote

I initially thought careful application checks would be enough: look for an existing registration, check the count, then insert. That falls apart when two requests arrive together. Both can see an open slot. Both can think the participant is new.

Unique constraints and transaction handling became the real safety net. The interface can try to be optimistic and friendly, but the database is the one place that can say, with authority, “no, this already exists.”

The nicest flows usually have one stubborn layer underneath that refuses to believe the happy path.

So yes, CARP has QR codes. I am prouder of the duplicate registration it does not create.

Thanks for reading.Read more tabs →