I built this site using NextJS, Typescript, and Tailwind.
The homescreen includes a playable instrument, built as a React component. I use AudioContext to play pitches, with frequencies computed based on cursor position and musical scale ratios.
Run the development server:
npm run dev
Hosted at junsimons.com