Track classes. Plan bunks. Attend smartly.
The ultimate open-source college attendance management, timetable builder, and safe bunk calculator for Android.
- Overview
- Key Features
- Bunk & Recovery Math
- Tech Stack & Architecture
- Screen Tour & Capabilities
- Getting Started & Installation
- Building from Source
- Frequently Asked Questions (FAQ)
- Privacy & Open Source
- Author & License
AttendSmartly is a clean, modern, student-focused Android attendance-tracking application built natively with Kotlin, Jetpack Compose, Material Design 3, and Room Database.
College academic rules often demand a mandatory minimum attendance threshold (e.g. 75% or 80%) with complex multi-hour class structures where practical labs count differently than single lectures. AttendSmartly takes the guesswork out of attendance tracking by calculating your exact Safe Bunks and Recovery Classes in real time.
- Configure recurring daily classes, room numbers, instructor names, and specific class types (Lecture, Practical Lab, Tutorial).
- Flexible day-by-day scheduler with instant daily agenda views.
- Real-world college classes aren't always 1 hour. Set custom unit values per class (e.g., a 2-hour lecture = 2 units, a 3-hour practical lab = 1 unit).
- Mark individual units as Present, Absent, or Cancelled without skewing your true statistics.
- Safe Bunk Calculator: Calculates the exact number of upcoming classes you can safely skip while staying above your target percentage (e.g., 75%).
- Recovery Calculator: Calculates how many consecutive upcoming classes you must attend to pull a low percentage back up to your target.
- Import your timetable from a photo or document image.
- Powered by the Google Gemini Vision API to automatically parse subjects, timings, and days into your schedule.
- Multi-option onboarding setup (Upload Timetable via OCR, Load Demo Data, or Manual Setup) with Gemini API key input and visibility toggle.
- Background notification alarms powered by Android
AlarmManagerandWorkManagerfeaturing room number and instructor metadata. - Receive timely pre-class notifications with one-tap attendance logging actions.
- Full notification control in Settings: customize reminder switches, notification sound, vibration feedback, and Android 13+ runtime permissions.
- Interactive Material 3 progress cards, status breakdown chips, and donut charts.
- Editable historical logs allowing you to modify past attendance entries at any time.
- Export and import full JSON timetable backups via Android's Storage Access Framework (SAF).
- Generate detailed CSV attendance reports for spreadsheet analysis or academic record-keeping.
AttendSmartly uses precise mathematical formulas to compute attendance metrics:
How many upcoming classes can you skip before dropping below target threshold $T$? $$ \text{Safe Bunks} = \left\lfloor \frac{P - (T \times \text{Total})}{T} \right\rfloor $$
How many consecutive classes must you attend to reach target threshold $T$? $$ \text{Required Classes} = \left\lceil \frac{(T \times \text{Total}) - P}{1 - T} \right\rceil $$
Cancelled classes are automatically excluded from conducted totals so your percentage remains accurate.
- Language: Kotlin 2.0 (100% Native)
- UI Framework: Jetpack Compose & Material Design 3
- Architecture: Single-Activity, MVVM (Model-View-ViewModel), Clean Architecture with Repository Pattern
- Database: Room Database with KSP (Kotlin Symbol Processing) & Kotlin Coroutine Flow
- Preferences: Android DataStore Preferences
- Background Operations: WorkManager & AlarmManager
- Navigation: Type-safe Navigation Compose
- Data Export: Gson (JSON) & OpenCSV (CSV) via Storage Access Framework (SAF)
- Go to the Releases page.
- Download the latest
AttendSmartly-Release.apk. - Install the APK on your Android device (Android 7.0 / API 24 or higher).
Requirements:
- Android Studio Ladybug (2024.2.1) or newer
- JDK 17
- Android SDK 34+
# 1. Clone the repository
git clone https://github.com/agupta07505/AttendSmartly.git
cd AttendSmartly
# 2. Build Debug APK
./gradlew assembleDebug
# 3. Run Unit Tests
./gradlew testDebugUnitTest1. Is AttendSmartly completely free and offline?
Yes! AttendSmartly is 100% free, open-source software licensed under the GNU GPL v3. All attendance logs, timetables, and settings are stored locally on your device in an encrypted Room Database. No data is sent to external tracking servers.
2. How does the Safe Bunk Calculator work?
The safe bunk calculator evaluates your target percentage (e.g. 75%), your total present units, and total conducted units. It mathematically calculates the maximum number of future classes you can miss without falling below your target threshold.
3. What happens if a teacher cancels a lecture?
You can mark the session as Cancelled. Cancelled units are excluded from total conducted classes, ensuring your attendance percentage remains completely untouched.
4. How do I use the Smart Timetable OCR Scanner?
In the Timetable screen, select the OCR Scanner option and upload an image of your college timetable. You can optionally enter your personal free Google Gemini API key from Google AI Studio to perform automatic schedule extraction.
AttendSmartly values your privacy. It contains zero telemetry, zero analytics SDKs, and zero hidden tracking. All student data remains exclusively on your device.
Read our full policies:
Designed and developed with โค๏ธ by Animesh Gupta (@agupta07505).
AttendSmartly (2026)
ยฉ Animesh Gupta โ github.com/agupta07505
Licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for full legal terms.











