Here’s a detailed README template for your hackathon project:
A fun and effective way to remind people to maintain good hygiene by gamifying their shower routine!
ShowerTimeBot is a Telegram bot that helps users keep track of their showering habits using an innovative system involving QR codes, a photo-based ML model, and a reminder feature.
Users scan a QR code in their bathroom and interact with the bot to start and stop their shower timer. An ML model verifies the presence of a showerhead, ensuring the timer is only activated during actual showers.
-
QR Code Integration:
Users scan a QR code pasted in their bathroom to interact with the bot. -
ML Verification:
The bot ensures a valid shower session by analyzing the picture for a showerhead. -
Shower Timer:
A timer starts when the shower begins and stops when the user scans the QR code again. The bot verifies if the session lasted at least 10 minutes. -
Daily Reminders:
A daily reminder system on Telegram to prompt users to maintain good hygiene.
-
Setup:
- Paste a unique QR code in your bathroom.
- Link it to the Telegram bot during setup.
-
Starting a Shower:
- Scan the QR code and send a picture to the bot.
- The bot sends the image to an ML model to check for a showerhead.
- If the image is verified, the timer starts.
-
Ending a Shower:
- Scan the QR code again after your shower.
- The bot checks the duration and sends a summary of your shower time.
- A minimum shower duration of 10 minutes is encouraged.
-
Daily Reminders:
- The bot sends you a friendly reminder on Telegram to shower if you haven’t already.
-
Backend:
- Python with Telebot for Telegram bot integration
- Supabase for database and backend services
-
Machine Learning:
- Image recognition model for showerhead verification
-
Frontend:
- Telegram bot UI
-
Deployment:
- QR code links and reminders hosted via Supabase backend
- Python 3.x
- A Telegram account
- Supabase account for backend setup
-
Clone the repository:
git clone https://github.com/your-username/shower-time-bot.git cd shower-time-bot
-
Install dependencies:
pip install -r requirements.txt
-
Set up Supabase:
- Create a Supabase project.
- Add the required tables for storing user data and timestamps.
- Update the
.env
file with your Supabase keys.
-
Configure the Telegram bot:
- Create a bot using BotFather.
- Get the bot token and update the
.env
file.
-
Run the bot:
python bot.py
- Paste the QR code in your bathroom and link it to the bot.
- Scan the code and interact with the bot as you shower.
- Receive daily reminders and track your showering habits.
- User Privacy:
All images and data are securely stored in the Supabase backend. - QR Codes:
Each QR code is unique to prevent misuse.
- Promote good hygiene habits in a fun and engaging way.
- Showcase the practical integration of ML, Telegram bots, and modern backend technologies.
We’d love to hear your thoughts! Feel free to contribute to the project or suggest improvements via GitHub Issues or Telegram.
This project is licensed under the MIT License.
Feel free to adjust the details (e.g., repository URL, license) to fit your needs!