📖
README.md
BirdGO
Catch (the sounds of) them all!
BirdGO is an offline-first Progressive Web App that turns your surroundings into a bird-watching game. Hold up your phone, let it listen, and discover what birds are singing nearby — all without sending audio to any server.
How it works
- Listen — tap to start listening; BirdNET runs entirely in your browser via TensorFlow.js
- Identify — the model analyzes short audio clips and returns the most likely species
- Collect — every new species you hear is added to your local field journal
- Explore — browse your collection, see stats, and hunt for species you haven't found yet
No account needed. No audio ever leaves your device.
Tech stack
- SvelteKit — SPA framework (Svelte 5, runes mode)
- BirdNET + TensorFlow.js — on-device bird sound classification
- Browser APIs: Web Audio, IndexedDB, Geolocation
- Deno — runtime and package manager
Development
deno task dev # start dev server at localhost:5173
deno task build # production build
deno task check # type-check
deno task lint # lint
deno task test # e2e tests (Playwright)
deno fmt # format
Roadmap
- Bird listening and identification (BirdNET + TensorFlow.js)
- Local collection / field journal (IndexedDB)
- Offline support (PWA / service worker)
- Online accounts and leaderboards
- Region-based species lists and seasonal challenges