Inspiration
As brothers of the Kappa Theta Pi chapter at UT Dallas, we faced an ongoing issue: tracking attendance for weekly meetings and important events across several disjointed platforms. The process was inefficient, error-prone, and time-consuming. To solve it, we envisioned a facial-recognition solution that records and tracks attendance for private groups, universities, and even corporate settings.
What It Does
Our application captures a member’s image at check-in, confirms identity with Amazon Rekognition, and logs attendance in real time. Members and administrators can view detailed analytics that summarize individual and group participation trends. A streamlined calendar presents upcoming events alongside each user’s attendance history, giving quick insight into schedules, streaks, and gaps without leaving the app.
How We Built It
The frontend uses React.js with JavaScript, while CSS Modules keep styling scoped and maintainable across pages such as Dashboard, Settings, and CameraPage. The backend relies on a serverless AWS stack: image uploads or API Gateway requests enter SQS, private-subnet Lambda functions process them, Rekognition matches faces, DynamoDB stores results, and notifications are sent when records update. IAM policies and CloudWatch Logs secure and monitor every component.
Challenges
Implementing reliable camera capture and image-upload workflows that trigger Lambda exactly once under heavy traffic required precise handling of asynchronous events. Coordinating file naming, S3 storage policies, and backend processing was essential to prevent duplicates, missed images, or latency spikes.
What We Learned
We discovered the importance of time management and clear communication when integrating separate frontend and backend features. Working with AWS’s event-driven services reinforced how loosely coupled architectures simplify scaling and accelerate iteration.
What’s Next
Our next steps include fixing remaining bugs, expanding test coverage, and scaling the user model for larger deployments. We will run a closed beta with select student organizations to collect feedback, refine enterprise features, and then prepare for a broader public release.
Log in or sign up for Devpost to join the conversation.