Skip to content
(858) 771-4439hello@carlsbadwebai.com

Serving Carlsbad online

Work — all of it live, none of it staged

Work that is live, useful, and inspectable.

Every project below is open in a browser right now. Each case study names exactly what we did, what we decided, and what we deliberately did not do — so you can judge the work, not the writeup.

  • 6 live sites we built
  • transparent pricing
  • you own the code

Live work

The Gilded Fisherman homepage — navy and antique gilt editorial layout for a coastal boutique

Client work2026

The Gilded Fisherman

Coastal boutique - Shopify OS 2.0

An Old Florida boutique on Anna Maria Island: editorial navy-and-gilt layouts, four named departments, and a page for every one-of-a-kind piece — shipped as a custom Shopify theme the owner runs herself.

  • Shopify OS 2.0
  • Liquid
  • Custom Shopify theme
  • Inline SVG brand mark

Read the casegildedfisherman.com (opens in a new tab)

The Triple G Payments homepage — gold-on-black hero over the cannabis payment infrastructure headline

Client work2026

Triple G Payments

Cannabis-commerce payments - static Vite build

Payment infrastructure for licensed dispensaries, in gold-on-black: a rebate calculator whose inputs carry into the application, a clickable terminal demo, and a ten-row comparison against a typical current provider.

  • Vite
  • TypeScript
  • ES modules, no SPA framework
  • Vercel

Read the casetriplegpayments.com (opens in a new tab)

The EllaCash homepage after the rebuild — a rotating headline over the Remote ATM cash-access pitch

Client work2026

EllaCash ATM

Dispensary cash access - hand-built static site

A dispensary cash-access company lifted out of a dated Elementor page builder into a hand-built static site: the Remote ATM flow explained step by step, a two-step fit check, and a compliance section written to be read closely.

  • Hand-written static HTML
  • CSS
  • Vanilla JavaScript
  • GSAP + ScrollTrigger, self-hosted

Read the caseellacashatm.com (opens in a new tab)

The Neil Granger Magic homepage — the spade-as-A wordmark in gold over a near-black burgundy hero

Client work2026

Neil Granger Magic

UK close-up magician - static Vite build

A close-up magician's booking site in dark burgundy and gold: three service pages a visitor picks between in one glance, his own photographs dealt out like a hand of cards, and one enquiry form that emails him directly, with WhatsApp as the fallback.

  • Vite, multi-page
  • Vanilla JavaScript, no framework
  • GSAP + ScrollTrigger
  • Lenis smooth scroll

Read the caseneilgrangermagic.co.uk (opens in a new tab)

The OMBAC Rugby home page — a dark match-day layout over club photography, with the next home fixture alongside the headline

Client work2026

OMBAC Rugby

San Diego rugby club, est. 1954 - static build on Vercel

The seventy-year-old San Diego rugby club, online properly: a match-day home page, a fixture hub, a full senior squad, a decade-by-decade archive back to 1954, a USA Eagles alumni wall, a youth pathway, and a join form that reaches a volunteer.

  • Static HTML, CSS, and vanilla JavaScript
  • One serverless function for the join form
  • Vercel

Read the caseombacrugby.org (opens in a new tab)

The loyal.app homepage, with the CTV and mobile publishing headline over a self-hosted background video

Founder's in-house build2026

Loyal

Founder's in-house work, not a client engagement - Rails 8 + Hotwire

Built in-house as a Loyal employee, not as a Carlsbad Web & AI client engagement. A CTV and mobile publishing platform's full marketing site: two product pillars kept separate, a reach calculator a media buyer can push on, and a detail page for every app in the catalogue.

  • Ruby on Rails 8
  • Hotwire / Turbo Drive
  • Stimulus
  • importmap-rails

Read the caseloyal.app (opens in a new tab)

One of these is labelled differently on purpose: loyal.app is the founder’s in-house work as a Loyal employee, not a client engagement. It is shown because the build is real and inspectable — and labelled because the distinction matters.

Concept demos

These two were built unprompted, to show what the studio can do for a kind of business we would like to work with. Neither was commissioned, reviewed, or endorsed by the business named — the storylines in them are illustrative. They are demos of craft, not client results.

The Churchill's Pub & Grille concept demo homepage, with a vintage newsreel-style hero

Concept demo

Churchill's Pub & Grille

Concept demo - neighborhood pub

An unsolicited concept demo for a San Marcos pub: a 60-plus tap board with a detail view for every pour, an events calendar, a reservation flow that texts the owner with no backend, and an AI concierge.

  • Static HTML, CSS, and vanilla JavaScript
  • Self-hosted MP4 hero video
  • SMS handoff via device link
  • Next.js API route for the chat endpoint

Read the case

The Shakespeare Pub concept demo home page, the pub's wordmark over an archival Shakespeare montage

Concept demo

Shakespeare Pub & Grille

Concept demo - British pub, San Diego

An unsolicited concept demo for San Diego's oldest British pub: a six-page site where the tap wall, the quiz calendar and tonight's special are data rather than pages, and the home page tells you what is on before you have scrolled.

  • Static HTML, CSS, and vanilla JavaScript
  • GSAP ScrollTrigger for scroll-driven motion
  • Self-hosted MP4 hero and Guinness pour video
  • Shared data module driving the tap wall and the menus

Read the case

04 — How the work gets checked

The same standard, every build.

  1. 01

    Designed in the browser

    Layouts are decided against real content at real sizes, not in a mockup that falls apart when the actual words arrive.

  2. 02

    Real content early

    Your copy, your photos, your prices go in during the build, because a site approved with placeholder text has not really been approved.

  3. 03

    Checked before launch

    Keyboard navigation, contrast, and a throttled mobile profile are tested before a site ships — and we share the measurements from those runs rather than quoting a standing score.

  4. 04

    Inspectable after launch

    Everything we ship stays open in a browser. If a claim on this page cannot survive you opening the site, we should not be making it.

Want this standard applied to your site?

Send one URL and get five prioritized findings back — the same checks we run on our own launches, pointed at yours.

Get your free AI website audit