Attendance Automated

Bluetooth-Powered
Smart Attendance

Automate classroom attendance with BLE beacons, real-time sync, and AR head counting. Eliminate proxy attendance and paper trails forever.

Get Started Star on GitHub
Flutter 3.x
Supabase Backend
BLE 5.0
Android
iOS

BluMark is a Flutter-based mobile app that revolutionizes classroom attendance using BLE technology. No manual roll calls. No proxy attendance. No paper.

Powerful Features

Everything you need to manage classroom attendance effortlessly.

BLE Attendance

Faculty devices broadcast sessions as Bluetooth beacons while students scan to check in automatically.

Role-Based Access

Dedicated dashboards and customized functionalities for Admins, Faculty, and Students.

Real-Time Sync

Instant cloud synchronization with Supabase Realtime for live attendance tracking.

Multi-Strategy Scanning

Dynamic scanning modes (Low Latency, Balanced, Low Power) ensuring broad Android/iOS compatibility.

AR Head Counting

Count students via camera using Google ML Kit face detection with an innovative 180° sweep support.

Cross-Platform

Built completely with Flutter to ensure a seamless experience on both Android and iOS devices.

How It Works

A seamless experience for both faculty members and students.

Faculty Flow

1

Configure Session

Faculty logs in to the dashboard and sets details like department, batch, and date.

2

Start Broadcasting

The device starts broadcasting a unique BLE beacon for the classroom.

3

Monitor Real-Time

Watch as student check-ins populate the list instantly via Supabase.

Student Flow

1

Open Student Dashboard

Student logs in to their profile on their Android or iOS device.

2

Scan for Sessions

Tap "Scan for Attendance" to detect nearby faculty beacons.

3

Automatically Marked

On detecting the token, attendance is marked securely in the database.

Quick Start

Get BluMark running locally in seconds.

bash - blumark-setup
# 1. Clone the repository $git clone https://github.com/almas-cp/blumark.git # 2. Enter directory and install dependencies $cd blumark && flutter pub get # 3. Configure Supabase (Edit lib/utils/constants.dart) # 4. Run the application $flutter run