Built by Corey · 18 May 2026
Live site  ↗ Open live preview  ↗
✿ Kingsbridge · South Devon · head of the estuary

A few specific fixes for harbourbookshop.co.uk.

Proposal prepared for The Harbour Bookshop, the independent bookshop at 2 Mill Street, Kingsbridge, Devon TQ7 1ED. I spent an afternoon on the live site. Three things stood out on mobile. The full rebuild is browsable at /preview/.

Open live preview  ↗ Read the three findings Reply to the proposal
Address · 2 Mill Street, Kingsbridge, Devon TQ7 1ED Phone · 01548 857233
✿ 2 Mill Street · Kingsbridge · since 1954

An independent bookshop at the head of the South Devon estuary. Open the live preview ↗

Current vs proposed

The current Flex theme, against the proposed Astro rebuild.

Two notes on the current site. The HTML alone weighs 677KB before a single image or font loads, mostly because five duplicate country dropdowns ship their full option list. The structured-data block on the homepage is four lines long.

Web stack and gaps, May 2026

Current  ↗ harbourbookshop.co.uk
Platform
Shopify Flex theme by Pixel Union v5.1.1
Hosting
Shopify (US edge, not UK-anchored)
Hero asset
Twitter og:image dated v=1617596735 (April 2021, five years stale)
SEO schema
Only a four-line WebSite block. No LocalBusiness, no BookStore, no opening hours, no FAQPage.
Heritage
"Established 1954" in logo only. Not in body copy.
Book club
Two products, both Sold Out, since 2024 / 2025
Localization
Five duplicate country dropdowns on the homepage
Front-end
jQuery 3.6.0 preloaded from Google CDN, deferred theme JS, Shopify Inbox chat-loader
Proposed
Framework
Astro static site (Astro 6), zero client JS by default
Hosting
Vercel UK / EU edge, sub-100ms first-byte from Plymouth
Hero asset
A real photo of the shop interior or the Quay-end of Mill Street, picked with you
SEO schema
BookStore + LocalBusiness + FAQPage + Organization, with E.164 phone, full PostalAddress, opening hours
Heritage
"Since 1954, at the head of the estuary" strip + Trollope and Rachel Joyce literary callouts
Book club
Single current month, one-paragraph bookseller note, small archive strip, signup form
Localization
One optional GBP switch in the footer, hidden by default for UK visitors
Front-end
No jQuery, no chat-loader. One tiny burger-drawer script. Total page weight below 350KB.
Three findings · specifics from a walk through the live site

What the current Flex theme is leaving on the table.

Walk-through of the live harbourbookshop.co.uk on 18 May 2026.

01

The country selector renders five times on a single page.

What I saw
The homepage source carries five separate Shopify localization forms: one in the top utility bar, one in the header action icons, one in the mobile drawer, one in the desktop footer, one in the mobile footer. Each one ships the full 249-country option list. The HTML alone weighs 677KB before a single image, font or analytics script loads. Five duplicate country dropdowns on a shop whose customer base is mostly within forty miles of the Quay.
Why it matters
Mobile shoppers in Kingsbridge waiting for the homepage to settle on a 4G connection see the layout shift while five identical dropdowns measure themselves. The shop runs GBP, ships GBP-priced books, and serves a UK customer in 99 percent of sessions. The Shopify Flex theme defaulted these on; they were never turned off.
Cause
Pixel Union's Flex theme exposes localization as a theme setting. Each header / footer / drawer block re-renders the form independently. None of them is removable from the dashboard alone. The un-needed instances need to be stripped at the theme level.
After rebuild
After rebuild: a single, optional country switch in the footer only, hidden when the visitor's IP geolocates to GB (which is over 95 percent of sessions). The other four instances disappear. HTML weight drops below 60KB; the layout settles in one paint.
02

The Book Club page has been "Sold Out" for months.

What I saw
The "Currently reading at Book Clubs" page (the only book club destination on the site) lists two books, both marked Sold Out. Brightly Shining by Ingvild Rishøi, the more recent of the two, has a product image timestamp of 25 September 2025. Doppelganger by Naomi Klein has a product image timestamp of 25 August 2024. To a first-time visitor in May 2026, the shop's signature programming reads as paused or abandoned.
Why it matters
The book club page is one of four primary categories on the site, on the same nav line as Events and Preorders. A visitor who clicks it expects a current month's selection. They get a stale catalogue page. The page is doing the opposite of its job. Instead of recruiting Devon book clubs into the discount programme, it suggests the programme is dormant.
Cause
Shopify collection pages auto-list whatever products are tagged "book-club". Old listings stay until someone manually removes them. There is no editorial layer over the collection page: no "this month's selection", no archive view, no signup form.
After rebuild
After rebuild: a dedicated /book-club page with a single current selection, a one-paragraph note from the bookseller on why this book this month, an archive strip of past months as small spine-on-shelf thumbnails (so the programme reads as ongoing), and a "join the Harbour Book Club" signup form. The Sold Out catalogue page is retired.
03

Seventy years of trading. The current site never mentions it.

What I saw
The shop's own wordmark carries "Established 1954" as a tagline. The homepage does not mention 1954. The contact page does not mention 1954. There is no About page. There is no founder paragraph, no owner photo, no reference to the Kingsbridge literary tradition, neither Trollope's Rachel Ray (1863, set in the town) nor Rachel Joyce's The Unlikely Pilgrimage of Harold Fry (2012, also set here). For a visitor weighing whether to drive to a bookshop two streets back from the Quay, the site offers no reason to believe it's different from any other Shopify-built bookshop.
Why it matters
Seven decades of trading is a moat against Amazon, against Bookshop.org, against every other digital channel an independent bookshop cannot win on price. The current site cedes that moat by not naming it. The first-time visitor sees a generic Shopify Flex template and judges the shop by it, not by the seventy-year reputation the logo quietly claims.
Cause
Shopify Flex ships with no narrative editorial component. About-page is optional and currently returns 404. No timeline, no press-quote layout, no place to surface the bookseller's voice. The brand-story slot in Flex is a single body-text box, unused.
After rebuild
After rebuild: a heritage strip on the homepage carrying "Since 1954, at the head of the estuary," with the two literary citations and a short bookseller paragraph. Cross-stocked with the South West Coast Path collection and the gift-wrap signature, the shop's actual differentiators surface above the fold rather than three nav clicks deep.
Pricing · fixed

One fixed fee. No hourly billing. No upgrade tier.

No retainer. No contract. No in-person visits. Fully remote from Switzerland.

  • One round of revisions before launch
  • DNS cutover handled (the domain stays in your name)
  • 30 days of post-launch tweaks at no extra cost
  • Source code handed over on day 60 (you own everything)
Build · one-off

Fixed for the rebuild

Astro static site, heritage strip, South West Coast Path module, rebuilt Book Club page, BookStore + LocalBusiness + FAQPage schema, full DNS cutover. Three weeks.

£2,000
fixed · one-off
Care · monthly

Hosting and ongoing care

Vercel hosting, SSL, monthly content tweaks (opening hours, the Book Club current pick, events copy), schema upkeep, monthly analytics email.

£150
/ month · cancel any time
Optional

Embedded chatbot

A small in-page chatbot trained on the shop\'s FAQ (hours, gift-wrap, Tonies, book club, shipping) so visitors get answers out of hours.

£50
/ month · optional
Timeline · three weeks

From accepted proposal to live site, in three weeks.

Week 1
  • Heritage strip + South West Coast Path module + bookseller voice on the homepage
  • Single-source opening hours, address, phone in one editable JSON
  • BookStore + LocalBusiness + FAQPage schema rendered at build time
Week 2
  • Book Club page rebuilt: current pick, archive strip, signup form, retire the Sold-Out catalogue page
  • Gift-wrap and Tonies modules promoted out of footer into the body
  • Shopify cart kept (no data migration); product pages restyled to match the rebuild
Week 3
  • DNS cutover, the Flex theme retired, analytics consolidated to one GA4 plus Meta
  • Mobile audit, Lighthouse passes, schema verified in Search Console
  • Phase-2 events calendar scoped for the Events nav item (currently empty)
FAQ

Five questions an independent bookshop actually asks.

If any answer needs a follow-up call, reply with two or three 20-minute slots in the next ten days.

What happens to the Shopify backend, the orders, the existing product catalogue? +

The Shopify store, the orders and the products stay exactly where they are. The rebuild is a presentation layer: Astro renders the marketing pages (home, book club, gift wrap, South West Coast Path, about, contact) and the cart and checkout continue to run on Shopify. No catalogue migration, no order data move, no risk to the running shop. The Flex theme retires; the products and the inventory and the order history are untouched.

The "Established 1954" wording on the logo, is that safe to use without a source? +

The wording appears on your own centred wordmark logo, which is hosted on your own Shopify CDN. The rebuild uses it verbatim: "Since 1954, at the head of the estuary." It does not invent a founding paragraph, name a founder you have not named, or claim a connection to Christopher Robin Milne's 1951 Dartmouth shop (a separate business that closed in 2011). If you can give me a paragraph of founding story I will write it in; if not, the heritage strip rests on the literary tradition of Kingsbridge (Trollope, Rachel Joyce) and your own logo, and stops short of fabrication.

How is the book club page rebuilt, given there's no current selection on the live site? +

Week-one deliverable is the page itself with the layout and the signup form. The current pick is whatever you choose for May or June (you tell me the title, I render it). The "archive strip" reads as the past twelve picks; for the rebuild launch, I render the last two picks (the Rishøi and the Klein) styled as a small history rather than as live stock. Future picks slot in by editing one Markdown file. You never write Shopify product listings for them again.

Mill Street is a high street unit. Most of your customers are local. Why does any of this matter? +

Two reasons. One, the local customer Googles "harbour bookshop kingsbridge" and lands on the homepage to check Saturday opening hours; a homepage that loads in two seconds with a BookStore schema and the right hours above the fold is doing the bookseller's job before they walk in. Two, the South West Coast Path collection is the long-tail asset most independent bookshops never surface; a Plymouth or Exeter walker Googling "SWCP guide Salcombe" finds Waterstones first, not the bookshop forty miles from the trail. The rebuild brings the long-tail to the shop.

You're in Switzerland. How do you do this for a bookshop in Kingsbridge? +

Fully remote, fully asynchronous. I've worked this way for nine years as a British developer. Everything is by email and the occasional video call at a time that suits the bookshop's short trading day. I do not need to be in the shop for any of the build. If you want the launch photography I can recommend a local Devon photographer; not a condition. Phone +44 7884 442 651 for anything urgent, including DNS cutover day.

Next step · one email, one decision

If the proposal lands, two or three 20-minute slots in the next ten days.

I take on three South West builds this quarter. First confirmed wins the slot. If I don\'t hear back by 28 May, the proposal site comes down.

Open live preview  ↗ Reply to the proposal
Prepared by

Corey Musa

British software developer of nine years, based in Switzerland. I rebuild small-business websites in my spare time when I can see they\'re leaving conversions on the table.

Email
coreymusa1@gmail.com
Phone
+447884442651
See the live rebuild
A working preview you can click through · opens in this tab
/preview/  ↗