Poseidon investigates fish predation on shellfish farms in Limski kanal, Istria. The project starts with passive acoustic monitoring to gather evidence and assess what can be detected; whether acoustic deterrence can be safe or effective is a research question, not a product feature.
Software has been tested with synthetic data, and digital hardware designs exist. No physical hardware has been built or deployed. We are looking for pilot shellfish farms, marine biology and bioacoustics partners, acoustic and embedded engineers, and funding collaborators. See the public project page, contribution guide, licenses and ownership notice, or email basic@intrface.eu.
Requires Python 3.11 or later, uv, Bun, and Make. From the repository root:
make setup
make dev API_PORT=8181 UI_PORT=3100 DATA_DIR=.local/monitor-appOpen http://127.0.0.1:3100. In another terminal, retrieve this workspace's private access key:
make token DATA_DIR=.local/monitor-appThe workspace key is generated once and stored with private permissions; it grants local-development admin access. Do not commit or share it. Browser sessions use HttpOnly, SameSite=Strict cookies. Separate scoped principals restrict local access by role, site and device; this is not production identity management or physical device provisioning.
make dev without overrides uses API port 8080, UI port 3000, and .local/monitor. Occupied ports are rejected rather than cleared. Ctrl+C stops the services owned by that launcher. Existing recordings, reviews, and queued jobs survive restart.
Once unlocked, load the explicitly synthetic demo or import a WAV plus its provenance manifest. Select a recording and candidate to inspect its waveform, attach optional MP4 evidence, and save an operator observation. Synthetic provenance and uncalibrated amplitude remain visible. Video alignment is operator-declared, not verified synchronization.
See the runtime guide, original monitor API and additive platform API for limits, endpoints and operations.
make check
make testAfter stopping the dev server, verify the production UI bundle:
make build-ui
make serve API_PORT=8181 UI_PORT=3100 DATA_DIR=.local/monitor-appmake serve runs the built UI locally with the same API and workspace. It is not an Internet deployment or a production-readiness claim.
The digital integration runbook covers locked environments, non-skipping test runners, browser suites, CAD reconstruction and compile-only ESP targets. CI runs on GitHub Actions on every push; local checks alone do not establish Linux/ARM64 or hardware qualification.
The original source-only replay path still requires no Python package installation:
make sim
make test-pythonThe demo creates a WAV, manifest, SQLite evidence store, and two synthetic candidates under .local/demo. It produces no audio playback and refuses to overwrite a nonempty directory. Use make sim OUTPUT_DIR=.local/demo-2 for another run. The replay guide describes direct replay and JSONL export.
Candidate events are not species identification, confirmed feeding, calibrated SPL or prevented stock loss. Operator-entered observations do not change those limits. The application does not capture from live sensors/cameras or operate radios, actuators, projectors or acoustic hardware.
Live capture adapters, complete acquisition-sidecar ingestion, production identity/hosting/security controls and installed update execution remain unfinished software. Hardware operating design still has thermal, autonomy, field-power/protection and mounting/sealing gaps; CAD validity does not close them.
Field permissions, local detection performance, acoustic safety and sustained deterrence efficacy, physical qualification, conformity, manufacturing and funded support remain open. No purchase, field activity, emission or commercial claim is authorized by this repository.
- Hardware reference and non-adopted passive candidate
- Production roadmap and historical audit
- Requirements and verification matrix
- Passive-first architecture decision
- Passive collection protocol
- Site and permissions evidence
- Initial hazard register
- Monitor application verification
- First replay-tranche verification
The root v0.1 PRD, funding brief, and old hardware estimate are preserved as labeled historical records. They do not define current readiness or approved claims.