I used a new full-stack framework I wanted to try out called Remix.
I deployed it here - https://spring-feather-447.fly.dev/
One note about the widgets, for a lot of coin pairs it doesn't find a ticker - I couldn't find a way to search the CoinGecko tickers API by pairs of coins, so the 100 results limit is often filled with non-relevant coins. But pairing any coin with bitcoin/tether/ethereum should work.
To start locally:
npm i
npm run dev