For Bryon and the Local Guy
About this demo
A proposal, not a live site. Here is what to look at, what genuinely works, what is faked, and what it would cost to run.
Start here
Four things worth opening in this order:
- A tour page The booking panel on the right is the centrepiece. The greyed-out days in the calendar are days the tide genuinely does not work.
- What's on Date-first browsing, for visitors who know which day they are free but not what they want to do.
- The staff area What the owner sees. Today's departures and manifest, a searchable booking list, a month calendar, and per-booking notes and contact. This is the part that buys back his time.
- The tide table Fourteen days of real predictions — useful to visitors, and the kind of page that earns search traffic nobody local is competing for.
What is genuinely real
- The tide data. Every departure time on this site is calculated from official Canadian Hydrographic Service predictions for the Spencers Island station (code 00242) — the actual station at the wharf. Pulled August 23, 2026, running to November 2027, about 460 days of coverage.
- The scheduling engine. Each tour declares its own rule. 8 are tide-led — boat tours around high water, fat bike tours around low water — and 4 run to set times because they are not tide-bound. Times snap to the nearest half hour, nothing departs before 08:00 or returns after 18:00, and slots inside 12 hours are not offered.
- The calendars. Boat tours show roughly two thirds of their season days, the fat bike tour more, the hikes all of them. That spread is the tide, not a setting.
- Arrival times. Every departure shows the clock time to turn up at, not "30 minutes early" for the guest to work out.
- The tour copy, pricing and photography, carried across from the current site with typos fixed.
What is mocked
- Payment. No card field is live and no money can move. Checkout is a visual mock-up of the flow.
- Forms. Contact and booking forms are not connected. Nothing is sent or stored anywhere.
- The bookings in the staff area. 136 invented
bookings with invented people — names are made up, emails use
example.com, and phone numbers use the reserved 555 range so none of them can reach a real person. They are pinned to real tide-derived departures, and capped so the guide is never in two places at once. - Staff notes save to your browser only. They persist on this device but do not sync to his phone — that needs the database.
- There is no login. Anyone with the URL can open
/admin. Fine for invented data; the first thing to add before real bookings exist. - Instagram. The feed shows stand-in posts. The script to pull the real one is written and ready — it needs an access token.
- Reviews. One real testimonial from the current site; the second card is a placeholder showing where a live Google rating would go.
- The flounder fishing price ($85) is invented — the current site does not list one.
- Safety and privacy pages are drafts pending real details.
How the Instagram feed stays current
The feed is baked into the page at build time rather than loaded by a third-party widget. That means no subscription, no extra JavaScript, no cookie banner — the photos are served from our own CDN like any other image.
A scheduled job rebuilds the site every morning, so "the latest eight posts" is true to within a day. That rebuild also renews the Instagram token, which expires after 60 days — so the daily run is what keeps the feed alive, not just fresh.
What it would cost to run
The brief was that ongoing costs must not exceed the current Wix bill. They come in well under it:
| Item | Cost |
|---|---|
| Hosting (Cloudflare Pages) | $0 |
| Booking database + functions | $0 on the free tier |
| Transactional email | $0 up to 3,000/month |
| Tide data (CHS) | $0, public API |
| Instagram feed | $0, no widget subscription |
| Analytics | $0, cookie-free |
| Daily rebuild (GitHub Actions) | $0 |
| Domain | ~$20/year, already owned |
| Recurring total | ~$0/month |
Card processing is the only per-sale cost: Stripe takes 2.9% + $0.30. On a $200 booking that is about $6.10 — roughly half what FareHarbor's model would cost, and it comes out of the business rather than being added to the customer's bill.
The honest trade-off is that a custom build has no vendor support line. The maintenance is volunteer time rather than a subscription.
Problems on the current site this fixes
- The footer Contact link, which currently 404s.
-
The Three Sisters page, which carries the George Fraser
Brook page's title and meta description and lives at a
/copy-of-…URL. - Three orphaned pages — Packages, Fundy Coastal Biking, and the Ancient Waterfalls overnight — live and indexed but linked from nowhere.
- Every "Book Now" being a
mailto:, which silently fails for anyone without a desktop mail client. -
Missing meta descriptions, filename alt text, two
<h1>s on the homepage, and no structured data anywhere. - No tours index page, so nothing could rank for the category term.
- Gift certificates advertised with no way to buy one.
- The cancellation policy retyped on every tour page, which has already drifted — one page is missing a clause the others have.
- A mobile layout that renders at a fixed 320px and scales, rather than adapting.
Because every page is generated from one record per tour, the duplicate metadata problem cannot come back — there is no second place to edit.
Still to decide
- The tide rule for each tour. You gave me "an hour before low tide" for the fat bike and "around high tide" for the boats; the rest I filled in by centring each tour on its tide. His actual practice will differ, and it is one number per tour to change.
- Whether the flounder tour has a set price.
- Whether the hikes are genuinely tide-independent. Every hike page on the current site says "tour times depend on the tides", which reads like copy-paste boilerplate — I have built them as fixed-time.
- Business banking details, before payments can be set up at all.
- Real safety, insurance and accessibility details.