Sessions and logout-all
Sign in on many devices. One action revokes every session.
Verification platform
A production membership platform that connects subscription choices, member records, digital QR passes, public verification, and administration in one workflow.
A prepared portfolio composite shows the verification product across desktop and mobile without cropping the interface.
The authenticated portal keeps membership access, verification, and administration inside one focused product surface.
A deliberately narrow public flow turns a member token or scanned QR code into a verification result.
Regional plan selection connects the public membership journey to the Stripe subscription layer.
Sign in on many devices. One action revokes every session.
The pass keeps working while a payment is past due.
No name, email, photo or expiry. Only valid or not.
72 hours to set up, 30 minutes to reset, one transaction.
12-hour admin sessions. Admins issue links, never set passwords.
Ten account, billing and support events, tracked per member.
Problems we hit
A member can accumulate multiple membership rows: a historical cancelled record alongside a current active one.
A canonical projection derives the authoritative status, preventing stale or cancelled rows from overriding a valid paid entitlement and vice versa.
Multiple simultaneous forgot-password requests could deliver competing active links to the same member.
One short-lived database lease per member and purpose, with the token ID as the email provider's idempotency key, so concurrent requests produce only one link and provider retries do not re-deliver it.
Browser-declared MIME types and original filenames cannot confirm that an uploaded file is genuinely an image.
The server decodes the raw bytes to confirm the format, rejects multi-frame or oversized files, and re-encodes the result as a clean JPEG.
Password setup and reset secrets passed in query strings appear in server logs and browser history.
Fragments never reach the server. The browser retains the fragment only in memory during a temporary validation failure, to allow a safe retry.
Decisions we made
The central decision was to model membership as data, not as a generated image.
The QR pass is only a portable pointer into the current record. Expiry, plan, and active status remain server-controlled, so a previously issued pass cannot become a permanent source of truth by itself.
The second decision was to keep the public verification surface separate from the richer member cabinet and administration views.
Public verification should reveal only the result needed for the interaction; profile, billing, and internal management information stay behind authenticated access.
The application also connects public acquisition and internal operations.
The same plan definitions shown during signup feed the membership and subscription workflow, rather than creating a disconnected marketing page that staff later reconcile manually.
Contact
For professional opportunities, collaborations, or selected freelance work.