Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Contributors GPL-3.0 License Build Version



The first-ever AI-driven, multi-platform, and scalable attendance system
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

Project Image

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

Web Interface

  • 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:


Built With

Platform Node.js NPM Python Bootstrap Raspberry-Pi HTML CSS JavaScript

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:


Web Interface


Getting Started

In order to get Recogg started locally, you need to assemble the 3 components individually. Please follow this order when getting started:

  1. Deploy the API
  2. Setup Web Interface
  3. Create the IoT Component

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



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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. 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.


Rapid classroom/club attendance system || uses Facial Recognition, IoT, Databases, and much more! || created for 7 week summer CS internship in 2020








No packages published