Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DropShot

DropShot is a mobile-first badminton scorekeeping PWA. It tracks points by shot type, keeps match history and player statistics, and supports hands-free scoring by voice. Data stays in the browser's localStorage, so the app works offline after it has been installed and loaded once.

Features

  • Start, resume, abort, and finish matches.
  • Log points by tapping a player, then choosing the shot type.
  • Undo the last point.
  • Hands-free scoring with a configurable wake word.
  • Player management with soft delete and restore.
  • Editable shot types, win threshold, and win-by margin.
  • Match history, player profiles, and win/loss statistics.
  • JSON export and import.
  • Installable PWA with automatic updates.

Voice scoring can use the browser's built-in speech recognition or an optional offline engine based on sherpa-onnx. The offline engine downloads its model once and then runs locally in WebAssembly.

Built with

  • Svelte 5 and Vite
  • TypeScript
  • Tailwind CSS 4 and DaisyUI 5
  • vite-plugin-pwa for the manifest and service worker
  • localStorage for the data store
  • sherpa-onnx WebAssembly for offline speech recognition

The source lives in src/: views are in src/routes, shared libraries in src/lib, and the reactive app store in src/stores. The older vanilla JavaScript version is kept in 4d/ for reference. The detailed design and behavior notes are in report.md.

Development

npm install
npm run dev       # development server
npm run check     # Svelte/TypeScript diagnostics
npm run build     # type-check and production build into dist/
npm run preview   # preview the production build

dist/ is generated by the build and is not committed. Deploy the contents of dist/ to any static host; Netlify settings are in netlify.toml.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages