Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

283 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feature graphic

App Icon Durare - Ai Pushup Counter

An Android application that uses face detection to count push-ups in real-time. The app detects your face position through the front camera and counts push-ups based on how close your face is to the camera.

Durare - Ai Push Up Counter - AI-powered push-up counter & fitness tracker | Product Hunt

Static Badge Static Badge

Download

Google Play Github

Features

  • Real-time face detection using ML Kit
  • Automatic push-up counting based on face position
  • High sensitivity detection for easy testing
  • Visual feedback with face overlay and position indicators
  • Live counter display showing total push-ups completed

How It Works

The app uses the following logic to detect push-ups:

  1. Down Position: When your face takes more than 50% of the screen (face close to camera)
  2. Up Position: When your face takes more than 25% of the screen (face at medium distance)
  3. Push-up Count: A complete push-up is counted when you transition from down to up position

Usage Instructions

  1. Grant Camera Permission: Allow the app to access your front camera when prompted
  2. Grant Notifcation Permission: Allow the app to prompt a notification for the rest timer
  3. Position Yourself: Stand in front of your device with the front camera facing you
  4. Start Push-ups:
    • Move your face close to the camera (down position)
    • Push up to move your face further from the camera (up position)
    • Repeat to count more push-ups

Technical Details

Dependencies

  • ML Kit Face Detection: For real-time face detection
  • CameraX: For camera preview and image analysis
  • AndroidX: For modern Android development

Sensitivity Settings

  • Down Threshold: 50% (face takes more than 50% of screen)
  • Up Threshold: 25% (face takes more than 25% of screen)
  • Frame Threshold: 3 consecutive frames required to confirm position
  • Min Face Size: 0.1f (detects very small faces for high sensitivity)

Note: You can customize the Down and Up Threshold in settings/personalize

Building and Running

  1. Open the project in Android Studio
  2. Sync Gradle files to download dependencies
  3. Connect your project to firebase and add the google_services.json file
  4. Enable Authentication, Firestore Database and Ai Logic in Firebase and edit the default_web_client_id in strings.xml in app/src/main/res/values folder
  5. Connect an Android device or start an emulator
  6. Build and run the app
  7. Grant camera permissions when prompted

Troubleshooting

  • No face detected: Make sure you're in a well-lit area and your face is clearly visible
  • Inconsistent counting: Try adjusting your distance from the camera
  • App crashes: Ensure you have granted camera permissions
  • Poor detection: Clean your camera lens and ensure good lighting

License

This project is open source and available under the GPL-3.0 license.

Screenshots

a b c d

e f g h

Share stats to social media stories