Web 2025
Amul Availability Checker
Python + Selenium + asyncio
Built an intelligent Telegram bot that automatically monitors Amul product availability. It tracks 20+ products across 50+ locations using Selenium web scraping, sending over 500 daily availability notifications with a 99% success rate.
20+
Products tracked
50+
Locations
500+
Alerts/Day
99%
Success Rate
01
The Challenge
Users needed to manually check the Amul website multiple times daily. The site required handling dynamic content and scraping reliably without being blocked across multiple locations.
02
The Solution
Developed a Python-based Telegram bot using Selenium for automated browser interaction, tracking inventory across multiple locations simultaneously with high reliability.
Technology Stack
Python 3.11
python-telegram-bot
Selenium WebDriver
asyncio
PostgreSQL
Chrome Headless
Docker
Redis
APScheduler
03
Architecture
- Event-driven bot architecture
- Asynchronous web scraping
- Message queue for notifications
- Database-backed user management
- Scheduled jobs (APScheduler)
- Caching layer (Redis)
- Proxy rotation for scraping
- Error handling and retry logic
- Rate limiting compliance
- Containerized deployment
04
Key Features
01
Real-time product availability tracking 02
Monitors 20+ products across 50+ locations 03
Selenium-based web scraping (handles JavaScript) 04
PostgreSQL for availability history 05
asyncio for concurrent location checks 06
Smart caching to reduce API calls 07
User subscription management 08
Custom location preferences per user 09
Price change notifications 10
Historical availability analytics 11
Proxy rotation for reliability 12
Headless Chrome for efficiency 05
Results & Impact
- Tracks 20+ products across 50+ locations
- Sends 500+ daily alerts
- Maintains a 99% scraping success rate