All work Case study — Own product · Content · Tools · Ecommerce · AI

Owning a Fender

Owning a Fender is a content-driven resource for Fender guitar owners — a blog that grew into a product. What started as setup guides is now a site with interactive tools used by thousands of guitarists a month, an AI-generated guitar-history report sold through a fully automated checkout, and serverless infrastructure that costs almost nothing to operate. I designed, built, wrote and grew it end to end.

Client
Own product
Role
Design, build, SEO, growth, AI
Year
Ongoing
Site
owningafender.com
The site

A blog that became a product

Content, interactive tools and digital products on one static site — live at owningafender.com.

Screenshot of the owningafender.com homepage
Live at owningafender.com
The work

What I built

01 Interactive tools

Serial-number decoders for 20+ guitar brands (Fender, Squier, PRS, ESP, Martin and more) plus setup-spec lookups. These are the site’s growth engine: the PRS, Squier and ESP decoders each rank around position 5–6 on Google and pull in hundreds of clicks a month each.

02 Digital products & checkout

Premium setup guides sold as PDF reports through Stripe Checkout, with automated fulfilment — a purchase triggers a Lambda that generates and delivers the report, no manual steps. Affiliate product recommendations add a second revenue stream.

03 Technical SEO & content

Keyword-researched content pipeline (Search Console data drives the editorial calendar), Article/HowTo/FAQ structured data, sitemap and internal-linking system. Result: roughly 16,000 clicks a month across all search engines (~78,000 impressions a month on Google alone).

04 Custom serverless backend

AWS Lambda + API Gateway + DynamoDB, defined as CDK infrastructure-as-code: purchase fulfilment, a server-side event analytics pipeline, and a traffic census that classifies AI-bot vs human visits from CloudFront logs.

A product within a product

The guitar-history report

A $5 report that tells the story of your guitar — built because I wanted the answers myself, and sold through the same automated checkout as everything else.

Not a valuation — the story of the instrument. When and where it was built, what the factory was up to that year, the original spec sheet, and how to look after it. I'm a guitar owner who got curious about my own instruments and wanted the answers in one clean place, so I built it.

The first customer came in chasing information on two Guilds made by Fender, dated 1971–2003, that he'd got nowhere finding despite calling around and searching online. He had his answers the same day.

When and where the guitar was built

What the factory was up to that year

The original spec sheet

How to look after the instrument

From a customer
"What an absolutely INCREDIBLE resource… spot-on information on several of my guitars. Nick helped immediately."

— First customer, on two Guild-built Fenders

When the AI got it wrong

Confidently wrong

An LLM that writes guitar histories will, sooner or later, write the wrong one with total confidence. Two real edge cases forced the guardrails that now sit around the model.

01 The Ibanez that came back a Gretsch

A customer's Ibanez AS80 came back branded as a Gretsch. It's a hollowbody built in the Terada factory, which has made guitars for both Ibanez and Gretsch — and the pipeline happily crossed the wires and wrote a full Gretsch history for an Ibanez.

02 The acoustic that came back an electric

An acoustic dreadnought came back as an electric, complete with care advice for potentiometers and output jacks — on a guitar with no electronics. The model picked a plausible-sounding category and committed to it.

The fix

Make the code do the checking the model can't

The uncomfortable part wasn't that the report was wrong. It was that nothing in the setup caught it. So the pipeline was rewritten so the model is never trusted unsupervised.

Stop asking one prompt to do everything. Resolve what kind of guitar it is — acoustic or electric — before writing a single line of history or care advice, and gate the advice on that.

Let the token-limit constraint force a prompt rewrite, splitting generation into discrete, checkable steps.

Add a completion guard — a minimum length plus a marker string — so a malformed report is retried once and, if it still fails, never emailed. I get an alert instead of the customer getting an empty PDF.

Normalise the year separately and tell the model not to invent one when it is unknown, so a report never anchors a guitar to a guessed date.

"An LLM in a product isn't an expert you switch on. It's a very confident intern. The Ibanez only stopped being a Gretsch once I made the code around the model do the checking the model couldn't do itself."
Outcomes

Results, not just deliverables

Around 16,000 clicks per month across all search engines — ~78,000 impressions a month on Google alone, with no paid acquisition.

Serial-number decoders rank on page one (positions ~5–6) for competitive queries across 20+ guitar brands.

Digital products sell and fulfil automatically through Stripe + Lambda — zero manual delivery.

An AI-generated guitar-history report, shipped behind guardrails that catch confident mistakes — like an Ibanez misread as a Gretsch — before they reach a customer.

Near-zero marginal running cost: static hosting on S3 + CloudFront, serverless backend.

Stack

What it runs on

Gatsby v5 + React 18 (TypeScript) static site

AWS S3 + CloudFront hosting

AWS CDK v2 (Lambda, API Gateway, DynamoDB)

Claude (Sonnet 5) on AWS Bedrock for the AI guitar-history report

Stripe Checkout + Billing

Playwright e2e suite (60+ specs) and Vitest unit tests

Ephemeral full-stack preview environment per pull request

Sentry, Umami + GA4 analytics

Want a site that brings in business?

If you're an independent business outgrowing your current website, I can help. I handle strategy, design, build, hosting, SEO and analytics — so you get a site that looks the part and actually converts visitors into customers.

Start a project

Or email me directly at nickolastheodoulou@hotmail.com