Skip to content
In development · Content subject to change without notice
In development
For Shorebirds
Shorebird Steward Program
Home
The Birds
Why It Matters
The Program
Meet Gazza
Join
Home
Records
Course
Tools ▾
Shoreline Watch
RMTools
The Great Gamble
Background Reading
Gazza
Register Interest
Steward Login
Moreton Bay · Quandamooka Country
Shoreline
Dashboard
Community and Steward data · Updated in real time
📍 Report what you see
🌊 Shoreline Watch
📋 Steward Records
⟳
Loading…
Showing sample data — live data loads once the Google Sheet endpoint is connected.
—
Observations
—
Sites covered
—
Issues flagged
Recent observations
Pressure points this season
Most monitored sites
Recent photos
2024–25 Season
—
Field visits across Moreton Bay
Monthly field activity
Visits by site
Site
Visits
Last visit
🔒
Full assessment records — species counts, individual assessors, and disturbance data — are available to enrolled Stewards.
Steward login →
Conversations With Birds
const GATE_KEY = 'fsb_auth'; const isLoggedIn = localStorage.getItem(GATE_KEY) === '1' || sessionStorage.getItem(GATE_KEY) === '1'; const authBtn = document.getElementById('nav-auth-btn'); const pubNav = document.querySelector('.nav-public-links'); const stewNav = document.querySelector('.nav-steward-links'); const tier2 = document.getElementById('fsb-t2'); if (isLoggedIn) { if (pubNav) pubNav.style.display = 'none'; var regBtn = document.querySelector('.nav-register-btn'); if(regBtn) regBtn.style.display='none'; if (stewNav) stewNav.style.display = ''; if (tier2) tier2.style.display = ''; if (authBtn) { authBtn.textContent = 'Logout'; authBtn.href = '#'; authBtn.addEventListener('click', function(e) { e.preventDefault(); sessionStorage.removeItem(GATE_KEY); localStorage.removeItem(GATE_KEY); localStorage.removeItem('fsb_auth'); window.location.href = '/'; }); } } else { if (tier2) tier2.style.display = 'none'; } // Fix: add ?from=currentPath to Steward Login button so login returns here if (authBtn && !isLoggedIn) { var _fromPath = window.location.pathname; if (_fromPath && _fromPath !== '/' && !_fromPath.includes('password')) { authBtn.href = '/password?from=' + encodeURIComponent(_fromPath); } } // Active link var curPath = window.location.pathname.replace(/\/+$/, '') || '/'; document.querySelectorAll('.nav-links a').forEach(function(a) { var aPath = a.getAttribute('href') || ''; if (aPath && (curPath === aPath || (aPath !== '/' && curPath.startsWith(aPath)))) { a.classList.add('active'); } }); (function(){ var btn=document.getElementById('nav-hamburger'); if(!btn) return; var overlay=document.createElement('div'); overlay.className='nav-overlay'; document.body.appendChild(overlay); function getActiveNav(){ var all=document.querySelectorAll('.nav-links'); for(var i=0;i