The solution was a full-stack website with an Angular frontend and a Flask backend. A microservices architecture, powered by Celery and Redis, was implemented to handle background tasks for scraping. The scraper, built using a combination of Playwright, Selenium, Requests, and BeautifulSoup, efficiently fetched data based on user input. The collected data was then stored in DynamoDB for high performance and scalability. Users were automatically notified via email once their scraping job was complete.