Real-time guitar tuner in the browser (React + TypeScript + Vite). Uses the Web Audio API AnalyserNode FFT for pitch detection.
npm install
npm run devOpen the URL Vite prints. Use localhost or HTTPS so the microphone works.
npm run buildOutputs to dist/.
The repo includes .github/workflows/deploy.yml: on every push to main it builds with VITE_BASE=/ (correct for the custom domain via public/CNAME) and deploys to GitHub Pages.
If the deploy job fails with 404 / “Ensure GitHub Pages has been enabled”, the site is not wired to Actions yet:
- Open https://github.com/RoshanGamage01/resonance/settings/pages
- Under Build and deployment, set Source to GitHub Actions (not “Deploy from a branch”).
- Save if GitHub shows a save control, then re-run the failed workflow (Actions → workflow run → Re-run all jobs).
- Custom domain: https://resonance.roshangamage.me/ (HTTPS works for the microphone API).
- If you need the github.io project URL (
…/resonance/) instead, setVITE_BASEin the workflow to/resonance/and drop or changepublic/CNAMEso paths match how you host.
Canonical URL, Open Graph / Twitter meta, JSON-LD (WebSite, WebApplication), robots.txt, sitemap.xml, and manifest.webmanifest live in index.html and public/. If the site moves to another domain, update absolute URLs in those files to match.