<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://www.jameshoy.dev/</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/admin-03-messages.2371d41a3d-1440w.webp</image:loc>
      <image:title>Riverline Angling — Messages (Admin)</image:title>
      <image:caption>Messages — contact form enquiries in one inbox (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/contact-form.png</image:loc>
      <image:title>Riverline Angling — Messages (Website)</image:title>
      <image:caption>Contact form — enquiries from your website (Website)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/admin-stock-on-the-floor.png</image:loc>
      <image:title>Riverline Angling — Stock (Admin)</image:title>
      <image:caption>Stock hub — totals, live counts, and what needs a photo (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/admin-02-stock-rows.78567f1632-1440w.webp</image:loc>
      <image:title>Riverline Angling — Stock (Admin)</image:title>
      <image:caption>Stock admin — edit prices, featured items, and order (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/admin-stock-new-product.png</image:loc>
      <image:title>Riverline Angling — Stock (Admin)</image:title>
      <image:caption>Add product — name, price, category, and photo (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/admin-stock-edit-product.png</image:loc>
      <image:title>Riverline Angling — Stock (Admin)</image:title>
      <image:caption>Edit product — name, price, category, and description (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/stock-on-the-floor.dc5aff7dda-960w.webp</image:loc>
      <image:title>Riverline Angling — Stock (Website)</image:title>
      <image:caption>Stock on the floor — real photos, prices, and filters (Website)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/riverline/admin-01-today.c8923cd0d1-1440w.webp</image:loc>
      <image:title>Riverline Angling — Today (Admin)</image:title>
      <image:caption>One admin home for products, hours, promos, and customer messages. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/admin-04-bookings.9756733506-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Bookings (Admin)</image:title>
      <image:caption>Paid status on each booking card (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/book-stripe-checkout.540921cd24-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Bookings (Admin)</image:title>
      <image:caption>Stripe checkout on the book page (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/admin-03-dates-full.e6d0e62f37-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Dates (Admin)</image:title>
      <image:caption>Publish nights and capacity (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/book-page-dates.png</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Dates (Website)</image:title>
      <image:caption>Guests pick a night on your site (Website)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/book-step-before-pay-temp.png</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Dates (Website)</image:title>
      <image:caption>Seats are not held until they pay (Website)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/admin-01-emails.f45c4f9a51-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Guest emails (Admin)</image:title>
      <image:caption>Edit templates in your admin (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/emails-guest-receipt.49ab27b747-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Guest emails (Website)</image:title>
      <image:caption>Auto receipt after Stripe payment (Website)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/emails-promo-blast.da756ba29f-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Guest emails (Admin)</image:title>
      <image:caption>Promo blasts — newsletters to opted-in fans (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/emails-promo-blast-blocks.6f8e2c04fc-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Guest emails (Admin)</image:title>
      <image:caption>Promo blasts — starters, blocks, and live preview (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/mattys-bbq/emails-promo-design-block.9524ea7b27-960w.webp</image:loc>
      <image:title>Matty&apos;s BBQ Chop Shop — Guest emails (Admin)</image:title>
      <image:caption>Design blocks — headings, colours, and alignment (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/pinescriptedge/admin-01-users.png</image:loc>
      <image:title>PineScriptEdge — Users (Admin)</image:title>
      <image:caption>Members, plans, billing dates, and active status in one private admin. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/pinescriptedge/admin-02-affiliates.png</image:loc>
      <image:title>PineScriptEdge — Affiliates (Admin)</image:title>
      <image:caption>Affiliate codes, clicks, conversion rate, and payouts in one table. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/pinescriptedge/admin-03-subscriptions.png</image:loc>
      <image:title>PineScriptEdge — Subscriptions (Admin)</image:title>
      <image:caption>Active subscriptions and renewals due soon — before access lapses. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/pinescriptedge/admin-04-health.afeb2c0ed6-960w.webp</image:loc>
      <image:title>PineScriptEdge — Health (Admin)</image:title>
      <image:caption>System health, user counts, and issues show up before customers notice. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/pinescriptedge/admin-05-lock.png</image:loc>
      <image:title>PineScriptEdge — Access control (Admin)</image:title>
      <image:caption>An extra password gate keeps the admin locked even if a link is forwarded. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/pinescriptedge/site-01-member-dashboard.png</image:loc>
      <image:title>PineScriptEdge — Dashboard (Website)</image:title>
      <image:caption>Buyers land on a signed-in dashboard — username, script access, and docs in one place. (Website)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/streetserve/admin-serving-post-run.73df6f85bb-960w.webp</image:loc>
      <image:title>StreetServe Food Finder — Serving (Admin)</image:title>
      <image:caption>Post a run — location, time, menu, and photo (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/streetserve/admin-serving-scheduled-run.32e26880b3-960w.webp</image:loc>
      <image:title>StreetServe Food Finder — Serving (Admin)</image:title>
      <image:caption>Scheduled run — map pin, menu, and go-live status (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/streetserve/site-find-ringo-serving.3b119df58b-960w.webp</image:loc>
      <image:title>StreetServe Food Finder — Serving (Website)</image:title>
      <image:caption>Find today’s stop and get directions (Website)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/streetserve/admin-01-serving.aeb1a47d70-1440w.webp</image:loc>
      <image:title>StreetServe Food Finder — Serving (Admin)</image:title>
      <image:caption>Serving runs post live with location, area, and clear status. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/streetserve/admin-02-locations.6ce641195c-1440w.webp</image:loc>
      <image:title>StreetServe Food Finder — Locations (Admin)</image:title>
      <image:caption>Each spot keeps map pin, menu notes, and schedule in one place. (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/streetserve/admin-upgrades-google-seo-detail.png</image:loc>
      <image:title>StreetServe Food Finder — Growth (Admin)</image:title>
      <image:caption>Upgrade detail — what you get, fees, and how it works (Admin)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.jameshoy.dev/assets/hero-systems/streetserve/admin-03-upgrades.5907d186de-1440w.webp</image:loc>
      <image:title>StreetServe Food Finder — Growth (Admin)</image:title>
      <image:caption>Upgrades &amp; add-ons — filter by size and tap a card (Admin)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/when-a-website-refresh-is-enough</loc>
    <lastmod>2026-11-09</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/when-a-website-refresh-is-enough.png</image:loc>
      <image:title>When a website refresh is enough</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/test-your-contact-form-before-you-lose-enquiries</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/test-your-contact-form-before-you-lose-enquiries.png</image:loc>
      <image:title>Is your contact form actually working?</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/5-signs-your-website-needs-looking-after</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/5-signs-your-website-needs-looking-after.png</image:loc>
      <image:title>5 signs your website needs looking after</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/why-your-website-feels-slow-on-a-phone</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/why-your-website-feels-slow-on-a-phone.png</image:loc>
      <image:title>Why your website feels slow on a phone</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/what-monthly-website-care-includes</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/what-monthly-website-care-includes.png</image:loc>
      <image:title>What monthly website care actually includes</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/update-your-site-while-people-are-still-searching</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/update-your-site-while-people-are-still-searching.png</image:loc>
      <image:title>Been featured? Update your website now</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/keep-prices-and-opening-hours-in-one-place</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/keep-prices-and-opening-hours-in-one-place.png</image:loc>
      <image:title>Keep prices and opening hours in one place</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/google-business-profile-and-your-website</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/google-business-profile-and-your-website.png</image:loc>
      <image:title>Google Business Profile vs your website</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/local-seo-checklist-for-uk-tradespeople</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/local-seo-checklist-for-uk-tradespeople.png</image:loc>
      <image:title>Local SEO checklist for UK tradespeople</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/do-you-need-a-website-if-you-have-instagram</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/do-you-need-a-website-if-you-have-instagram.png</image:loc>
      <image:title>Do you need a website if you have Instagram?</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/what-to-do-when-your-web-designer-disappears</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/what-to-do-when-your-web-designer-disappears.png</image:loc>
      <image:title>What to do when your web designer disappears</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/website-maintenance-cost-uk</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/website-maintenance-cost-uk.png</image:loc>
      <image:title>Website maintenance cost in the UK</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jameshoy.dev/blog/how-much-does-a-website-cost-uk</loc>
    <lastmod>2026-11-08</lastmod>
    <image:image>
      <image:loc>https://www.jameshoy.dev/blog/covers/how-much-does-a-website-cost-uk.png</image:loc>
      <image:title>How much does a website cost in the UK?</image:title>
    </image:image>
  </url>
</urlset>
