Table of Contents
- About the Project
- Getting Started
About The Project
Even as the world continues to become more dependent on technology that can save time, money, resources, and lives, there is a lack of technological advancements in the time and attendance management field. A recent survey found that 36% of small business owners have never changed their time and attendance system, which have been used to track and monitor when employees start and stop work. In fact, once a time and attendance approach is adopted, many business owners and other people don’t change their method. This means that those people are relying on the same ancient and manual systems from the 19th century.
Although digitizing a time and attendance system may seem insignificant, digitized systems can help to ensure accuracy and minimize errors that can easily happen when employees, teachers, and students are using paper or a spreadsheet. In fact, nearly half of the respondents to the same survey said that the most important reason to invest in a time keeping solution was the efficiency and accuracy of collecting time for payroll reporting. Similar to this, another source stated that "A weak attendance system sabotages a school's instructional strategy and undermines teachers." Thus, while those options appear to be both simple and free, organizations that choose to use a weaker, manual system are missing out on saving time, money, and insight into their workforce that ultimately provides employees and teachers with simplified methods to record their time worked.
So, in order to prove that technology can be used to create an attendance system that can save employers and schools time, money, and resources, we created Recogg, the first-ever AI-driven, multi-platform, and scalable attendance system. Recogg uses:
- A camera and facial recognition to track attendance, which increases the efficiency and accuracy of attendance tracking
- A database and storage container to save an organization's attendance data, which provides a secure and organized structure for attendance data
- A web interface, Raspberry Pi, and LCD screen to display an organization's information, which allows users to interact and monitor the system
Recogg was developed in 7 weeks as an internship project and developed as a concept/prototype for future production-level projects. Please check out the rest of the README if you want to explore our project or get Recogg running on your local machine.
The beauty of Recogg is that it uses the features of multiple components to create a fully-functioning attendance system.
- Accurate Facial Recognition using AWS Facial Rekognition
- Read/Write User Data to AWS DynamoDB
- Read/Write/Get Attendance Data (CSV) from AWS S3
- User Authentication
- Create/Remove Classrooms
- Add/Remove Students & Employees
- Live Attendance Tracking
- Download Attendance to Local Machine
- Responsive Design (Web and Mobile Devices)
- Accurate Facial Detection
- Capture Faces using Raspberry Pi Camera
- Update LCD Screen with Information
- Turn On/Off using Button
- Mobile with a Portable Battery
This is the E2E architecture diagram with all of the technologies and tools:
This project was built using a variety of programming languages, frameworks, APIs, and databases/storage containers. Here are the technologies broken down by which component used what:
In order to get Recogg started locally, you need to assemble the 3 components individually. Please follow this order when getting started:
After completing the previous 3 steps, you will have a local web-interface and IoT system and cloud-based API up and running.
Since Recogg was developed as a prototype, we highly encourage you to continue improving what we have created. Make sure to list us as the original authors, especially if you use any of our code, documentation, or instructions.
Some examples of how Recogg can be expanded:
- Swap out the Web Interface for a Raspberry Pi Interface
- Swap out the Camera, Raspberry Pi, and LCD Screen for a mobile device
- Expand the any of the components by providing additional functionalities
- Ashay Parikh - API, Web Interface (Backend)
- Izhaan Hussain - Web Interface (Frontend)
- Sebastian DSouza - IoT (Hardware)
- Manas Gandhi - IoT (Raspberry Pi)
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature)
- Commit your Changes (
git commit -m 'Add some AmazingFeature')
- Push to the Branch (
git push origin feature/AmazingFeature)
- Open a Pull Request
Distributed under the GPL-3.0 License. See
LICENSE for more information.
Click me to send an email to the authors.