Key features
- Payment pipeline that is safe to re-run, keyed on the Square payment ID
- Receipt scans with image-fingerprint duplicate detection and a 30-day default window
- ID vault with unused, reserved, used and retired states, plus a low-stock warning
- Loyverse sync with fuzzy customer matching and receipt creation
- Two-way mirror between plans and Square catalog and payment links
- Pipeline runs with step timelines and replay
- Webhook log, a global kill switch and per-pipeline pause, all set from the admin panel
- Background job worker in the same service, built so two workers do not take the same job
- Admin panel for members, plans, payments, refunds, notifications, staff, attendance, leave, reviews, events and blog
- Member sign-in by magic link
- Thai language support
Delivery
The repository history starts with the move from Supabase to Neon and Netlify Functions on 13 May 2026, with the FastAPI service added the same day. Production deployment with the Square mirror and database-driven landing page followed on 15 May. Later commits added the email queue, auto-approved scans, OpenAI vision, Loyverse matching and receipt images on admin emails. The repository holds 32 commits through 6 July 2026.
Security & infrastructure
- Passwords stored in scrambled form, and sign-in sessions signed and held in protected browser cookies
- Integration credentials encrypted before they reach the database
- Square and Loyverse webhooks verified by signature
- Member sign-in links stored only in scrambled form, with a 15-minute expiry, and a response that does not reveal whether an email exists
- Visitors who are not signed in can submit only the contact, application and receipt forms
- Audit log and admin activity log
- Error monitoring with Sentry
Limits
The public front end has changed since the source we reviewed, so this page describes it only from what the live site shows. Member and admin areas are behind sign-in and were not viewed.








