Skip to content

A cross-platform, local-first React Native app for face recognition-based attendance tracking. Powered by Facenet with TFLite and ONNX frameworks (Java implementation), and stores attendance data in a vector database that is based on SQLite.

Notifications You must be signed in to change notification settings

marksamfd/YouAttend

Repository files navigation

YouAttend 👋

An Expo-based attendance tracking application leveraging face recognition.

Description

This project is an Expo application designed to streamline attendance tracking using face recognition technology. It utilizes SQLite with the VectorDb plugin for efficient data storage and processing.

Technologies Used

  • Expo: A framework for building universal native apps for Android, iOS, and web.
  • React Native: A JavaScript framework for writing real, natively rendering mobile applications.
  • SQLite: A self-contained, high-reliability, embedded, full-featured, public-domain, SQL database engine.
  • VectorDb Plugin: vector db to store face embeddings.
  • Face Net: Currently exploring optimal solutions.

Installation

  1. Install dependencies:

    npm install
  2. Connect your phone and start the app:

    npm run start

Face Recognition Implementation Trials

The development process involved experimenting with various face recognition libraries and approaches:

  • Faceapi by justadudewhohacks: Initial attempt. Abandoned due to incompatibility with current React Native and Expo versions (outdated TensorFlow version).
  • Tensorflow's tflite: Attempted to adapt this library to a face recognition implementation, but the approach was unsuccessful.
  • VisionCamera by mrousavy: Considered as a potential solution.
  • react-native-fast-tflite by mrousavy: Faced errors related to React Native updates and the New Architecture.
  • Kotlin FrameProcessor plugin using Onnx: Functioned, but produced inaccurate results due to half-precision processing.
  • react-native-fast-tflite#112: Currently using a specific pull request from react-native-fast-tflite to leverage the New Architecture. "react-native-fast-tflite": "github:mrousavy/react-native-fast-tflite#pull/112/head"

About

A cross-platform, local-first React Native app for face recognition-based attendance tracking. Powered by Facenet with TFLite and ONNX frameworks (Java implementation), and stores attendance data in a vector database that is based on SQLite.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published