I already have the front-side tech, I just need to automate img download, autocrop, then generate different quality images. see this implementation of autocrop in JS.
Would be great to save some network calls and dramatically improve the UX. The idea is to embed phone information in initial db and then you refresh it.
I feel it would be too demanding to get price for every phones at runtime. Dehydrate MSRP? Call best buy and some other when hovered / displayed?
Rendering 220 images in less than 30 seconds is quite demanding. Use a lazy list instead. At first it only contains the nine first items, then as you scroll down, it expand. You don’t receive images in order, a lazy list of nine phones doesn’t mean only 9 pictures will be fetched, but it will dramatically reduce the effort.