Marketing site and live monitor dashboard for turtle-ai — the open-source AI monitoring system for wildlife rehabilitation centers.
A project of Southeastern Reptile Conservation (SERC) — a 501(c)(3) nonprofit in Hampton Roads, Virginia. Source on GitHub.
| Route | Description |
|---|---|
/ |
Marketing homepage — what turtle-ai is and how to adopt it |
/monitor |
Live monitor — trigger an on-demand scan and view per-camera results |
/contact |
Get in touch with the SERC team |
npm install
cp .env.local.example .env.local
# Edit .env.local with your turtle-ai URL
npm run devSee .env.local.example for all options:
| Variable | Description |
|---|---|
TURTLE_AI_URL |
URL of the turtle-ai scheduler — server-side only (e.g. http://localhost:5050 or a Cloudflare Tunnel URL) |
TURTLE_AI_API_KEY |
Optional API key (matches API_KEY in turtle-ai's docker-compose.override.yml) |
NEXT_PUBLIC_TURTLE_AI_URL |
Public URL used by the browser to load captured images |
The /monitor page handles unavailability gracefully — if turtle-ai can't be reached, a friendly message is shown rather than an error.
TurtleVision is deployed via Firebase App Hosting on the turtlevision Firebase project.
- In the Firebase console, go to App Hosting and connect this GitHub repo.
- Add secrets in Cloud Secret Manager (Firebase console will prompt you):
TURTLE_AI_URL— your public-facing turtle-ai URL (e.g. a Cloudflare Tunnel URL)TURTLE_AI_API_KEY— optional, only ifAPI_KEYis set in turtle-ai
- Set
NEXT_PUBLIC_TURTLE_AI_URLas a plain environment variable in the App Hosting settings (same value asTURTLE_AI_URLif the URL is public-safe).
Deployments trigger automatically on push to main.
- Next.js 16 (App Router)
- TypeScript
- Tailwind CSS v4
- Firebase App Hosting
- turtle-ai — the backend monitoring service this dashboard connects to
- Southeastern Reptile Conservation — the nonprofit behind this project