0%
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

Explore This Project