I expanded the scraper to support a second retailer: FWRD (Forward). This involved creating a category system to distinguish between product sources, with a new Category enum that currently supports Coach bags and FWRD shoes.

I refactored the product scraping architecture by extracting the Coach-specific logic into a CoachBag page object model and creating a new ForwardProduct class for FWRD. The Product entity was moved out of the database context and enhanced with new Image and Category fields, supported by a database migration.

The product selection logic now filters by category, so each feed tweets independently from its own pool of available products.