Small static prototype of the OrcaSound UI for testing audio playback, filtering by tags, and local (browser-only) comments.
Serve locally (recommended to avoid browser file:// restrictions):
- Install dependencies (only dev tooling):
npm install
- Start the static Node server (http://localhost:3000):
npm start
- (Alternative) Start live reload dev server (http://localhost:5500):
npm run dev
VS Code tasks (Terminal > Run Task):
Run Static Server— runsnpm start.Dev Live Reload— runsnpm run dev(auto reloads on file changes).
| Script | Purpose |
|---|---|
npm start |
Node static server defined in server.js on port 3000 |
npm run dev |
Live reload via live-server on port 5500 (no browser auto-open) |
404.html provides a friendly not found page. The Node server attempts to serve it whenever a requested file is missing.
index.html— landing pagehydrophones.html— main prototype UI (3-column layout)explore.html— placeholder explore pagetake-action.html— placeholder take action page404.html— not found pagecss/styles.css— styles (with dark landing & blue gradient nav)js/app.js— client logic: render list, filtering, playback, comments (LocalStorage)sample-audio.json— sample audio metadata (remote mp3 URLs)server.js— minimal static file server w/ MIME types & 404 fallback
- Place Puget Sound map in
images/puget-sound-map.png(already included). - CSS markers overlay approximate hydrophone positions.
- Comments are stored in LocalStorage only. Refresh clears state only if you clear storage.
- Static map is a placeholder; upgrade to Leaflet / Mapbox for real geospatial features.
- Future ideas: audio tagging persistence, AI call classification, user auth.
- Add alt text & ARIA labels to nav and map markers.
- Convert images to optimized formats (webp/avif) & preload hero assets.
- Add focus styles for keyboard navigation.
Prototype code provided for experimentation; add an explicit license if distributing.