The first real problem.
Orders are coming by phone and it is chaos. You want people to browse and order on the site. But you have 500 items, prices change daily, things go out of stock by noon, and your whole product is one hand-written page.
You cannot edit HTML every time a price changes. The page needs to start asking for information instead of containing it.
Split the screen from the thinking.
You add a backend, logic that runs on the server, and an API, the defined channel the page uses to talk to it. The page asks; the backend answers with data; the page draws whatever it receives.
From now on, everything you ship lives on one side of this line or the other.
Give the data a home.
The backend needs somewhere trustworthy to keep 500 products, their prices, and their stock. That home is a database: tables of rows and columns built for exactly this. Update a price once and every customer sees it.
Now let people search.
Search needs a pre-organized index to be fast, and the page shouldn't fire on every keystroke. Here is the payoff: everything the page does is real network traffic. Open the inspector and watch it happen.
You worked through Phase 2: make it a store. 14 new concepts joined your architecture along the way.
Next problem: Orders need identity. Whose cart is whose, and who is allowed to do what?