Inspiration
BePresent was inspired by apps like BeReal and Cereal, which encourage authenticity and presence through real-time interaction. Traditional attendance systems often feel impersonal and easy to exploit, leading to disengagement. We wanted to rethink attendance as something social, visual, and motivating — encouraging students not just to attend class, but to actually be present.
What it does
BePresent is an attendance system that allows students to:
- Take a real-time selfie during class to record attendance
- View selfies of other students attending the same module and session
- Build attendance streaks by consistently showing up to class
- Receive a monthly attendance “Wrapped” that highlights:
- Total classes attended
- Attendance percentage
- Longest streak
- Missed classes
This transforms attendance into an engaging and rewarding experience rather than a passive task. BePresent was built as a full-stack web application.
How we built it
- Backend: Built using Flask (Python), handling authentication, attendance logic, streak tracking, and secure API endpoints
- Database: Stores users, modules, class sessions, selfies, and attendance records using MongoDB.
- Authentication: Protected routes ensure only authorised users can access or submit attendance.
- Frontend: Enables camera access for selfie capture, class timelines, and visual attendance statistics. Implemented using React and Tailwind and Google Gemini.
Challenges we ran into
One major challenge was implementing secure authentication and understanding how protected routes work. Debugging issues such as 401 Unauthorized and 404 Not Found responses required a deeper understanding of backend routing and request handling.
Another challenge was designing reliable streak logic. Real-world attendance patterns include missed classes and irregular schedules, making it difficult to track streaks accurately without edge-case errors.
Accomplishments that we're proud of
- Successfully built a working real-time selfie-based attendance system
- Implemented attendance streaks and monthly summaries
- Designed a system that balances accountability and engagement
- Built and connected a functional full-stack application
- Overcame backend debugging and authentication challenges
What we learned
Through building BePresent, we learned:
- How to design and implement RESTful APIs
- How authentication and authorisation work in practice
- How backend logic directly impacts frontend user experience
- How small UX features like streaks can significantly increase motivation
- How to debug real-world backend issues efficiently
What's next for BePresent
Future improvements for BePresent include:
- Lecturer dashboards with attendance analytics
- Enhanced privacy controls for selfies
- Push notifications for class reminders
- Gamification features such as badges and milestones
- Deeper insights in the monthly Attendance Wrapped
BePresent has strong potential to grow into a platform that improves both attendance and student engagement at scale.
Log in or sign up for Devpost to join the conversation.