← All work
web / client work · 2026

AG Garden & Tree: a tree surgeon's website

The website, print and Google Business Profile for Antony Geer's tree surgery business in Hassocks, West Sussex. I designed it, built it and still run it: 45 static pages in Astro, 17 researched local area pages, ten guides, and a portfolio of 57 real jobs imported from Antony's Instagram.

A round slice of tree trunk on a paper desk, with an orange-handled folding pruning saw resting across the growth rings
role
Designer, Developer & Operator
year
2026
category
Web / Client Work
stack
astro · react · tailwind css · typescript · firebase hosting · claude code
The problem
Antony's best marketing was already happening somewhere else: finished jobs on Instagram, reviews on Google, enquiries over WhatsApp. The site had to pull those together into something Google could find for the towns he actually works in, and something a homeowner would trust, without giving Antony more admin.

AG Garden & Tree is Antony Geer’s tree surgery business in Hassocks, West Sussex, trading since 2008. I designed and built the website and I still run it, along with the Google Business Profile and the print that goes with it.

The AG Garden & Tree homepage: an aerial photo of a walled garden and lawns under the headline 'Your local tree surgeons in Hassocks & Mid Sussex'

From prototype to production

It started life as a Google AI Studio prototype, and I built everything after that with Claude Code. The prototype looked nearly done, but it carried an AI chatbot and an admin dashboard that a tree surgeon’s site didn’t need. The first production pass was mostly subtraction: strip out the backend, move every piece of content into one TypeScript file, build Tailwind at compile time, and host it on Firebase with proper security headers.

It’s now an Astro 5 static site with a few React islands (the project carousel, the quote form, the mobile nav), TypeScript throughout and Tailwind for the styling. By the time a page reaches a phone it’s plain HTML. Lighthouse puts mobile performance in the 90s and accessibility at 100.

Pages that know the patch

There are 45 pages. Seven cover the services, from felling and stump grinding to written tree inspection reports. Seventeen are local area pages (sixteen towns and villages, plus a West Sussex hub), and each one is researched rather than templated: which council handles Tree Preservation Orders, where the conservation areas sit, and where the South Downs National Park Authority takes over planning (Lewes, Steyning and Ditchling, for instance). Ten guides answer the questions people actually search, like whether you need permission to cut down a tree in your garden and what you can do about a neighbour’s.

The guides travelled further than the business does, so they now open by saying where Antony works and send everyone else to the Arboricultural Association’s directory. A tree surgeon in Hassocks can’t do much with a call from Scotland.

Under the hood there’s structured data for the business, services, areas and articles, a sitemap that keeps itself current, and an llms.txt for AI search tools, generated from the same data as the pages.

The portfolio was already on Instagram

Antony has posted finished jobs to Instagram for years. Rather than ask him for new photos, I imported them: 57 jobs so far, each tagged with a town and a service, so area and service pages can show recent work nearby. Every photo was looked at by hand first. Number plates, house numbers and faces are blurred; anything showing customers or children didn’t make it. A small script handles the resizing and strips the location metadata, and the captions were tidied into the site’s voice.

Enquiries go where he already is

Antony would rather get a WhatsApp or a phone call than an email, so the site doesn’t pretend otherwise. The number sits in the header, and call and WhatsApp buttons are one tap away on mobile. The quote form is three short steps, then it writes the message for WhatsApp, text or email. There’s no form backend. It hands the finished enquiry to an app he already answers, with a copy button and the phone number on screen in case the email app never opens.

Measurement follows the same logic. GA4 runs with Consent Mode v2 and doesn’t load at all until a visitor accepts cookies. Separately, a cookie-free counter logs each call, WhatsApp, email and quote click with nothing personal attached, so the numbers are exact whatever people choose on the banner.

Off the screen

The brand carries onto paper and vehicles: a business card, an A5 flyer, a review card whose QR code lands on Google’s review form, a site board, and sign-writing artwork for the van. I also look after the Google Business Profile, which for a local trade matters at least as much as the website.

What I took from it

This is the compression gap at small-business scale. The prototype got the look most of the way there quickly. What didn’t compress was everything Antony’s customers never see: council and planning facts checked town by town, a privacy pass over every photo, analytics that honour a cookie refusal, and guides that say where the business actually works. None of it shows up in a screenshot, and it’s most of the job.

It’s also the least exotic project on this page, and one of the more useful ones: a real business, with a site that has to stay accurate long after launch day.

Results

  • Live at aggardenandtree.com: 45 static pages, including 7 service pages, 17 local area pages and 10 guides
  • 57 real jobs imported from Instagram, every photo reviewed by hand, with number plates, house numbers and faces blurred
  • Lighthouse mobile performance in the 90s, accessibility 100
  • Enquiries by phone, WhatsApp or a quote form that writes the message for WhatsApp, text or email
  • GA4 with Consent Mode v2, plus a cookie-free counter for every call, WhatsApp and quote click
  • Print and vehicle artwork alongside it: business card, A5 flyer, QR review card, site board and van sign-writing