AI CLOUD · AUTOMATION CONTACT
CASE · 01 · INKED VALOUR · NORTH EAST ENGLAND

Zero to a fully-automated, AI-assisted storefront in six weeks.

~ 7 min read By ByFivePM

Inked Valour runs out of Richmondshire in the North East. They came to ByFivePM with a working studio and a website that wasn't earning its keep. Bookings happened over Instagram DMs, deposits came in by bank transfer, and the same handful of FAQ-shaped questions got answered three times a day across two phones and one inbox. Six weeks later the site was rebuilt on Hostinger, payments went through Stripe, and an n8n instance at n8n.pachinki.cloud did the booking, reminding, and chasing without anyone in the studio touching it.

The problem, in one sentence

"We're spending the back end of every evening typing the same five replies."

That one line covered four real problems, and each one got its own track in the rebuild.

  • The booking ledger lived in three places. DMs, a paper diary, and somebody's head. Nobody could check if a slot was free without phoning the studio.
  • Deposits arrived by bank transfer and got matched up the next morning, sometimes. A cancellation meant unpicking a refund by hand and a screenshot of a Revolut transfer.
  • Out-of-hours messages piled up. A real customer with a real question would wait until morning for an answer they could have had from the FAQ in two seconds.
  • The site didn't sell the work. A generic builder template, no proper gallery, nothing in the studio's voice.

The architecture

The frontend lives on Hostinger Website Builder so the studio's owner can fix a typo on a Sunday morning without phoning anyone. Everything else is wired together by n8n, self-hosted on a small VPS at n8n.pachinki.cloud. One box, easy to back up, no per-execution bill. Google Sheets is the appointments database. Cloudinary holds the gallery images, Airtable holds the metadata. Stripe takes the money. The whole point of this stack was to use cheap, well-known boxes and let the workflow do the heavy lifting.

Booking flow
Customer Hostinger site Embedded form n8n webhook Stripe payment link Sheets + Calendar Gmail

Payments without paperwork

The booking form asks for the basics: artist, date, tattoo size, and contact details. n8n picks the submission up, calculates a price from the size band, and decides what to charge. Less than 48 hours away from the slot, it's the full balance up front. Further out than that, it's a deposit and the balance gets reminded for nearer the date. Either way, n8n generates a Stripe payment link, emails it, and waits for the webhook to come back. The studio never opens the Stripe dashboard. The one gotcha worth mentioning: Stripe payment links don't give you a "test mode for this one customer" button, so the QA process meant standing up a parallel test workflow and a second Stripe account, which doubled the n8n node count for a week.

An AI chatbot that actually helps

The chatbot is OpenAI behind an n8n workflow with a FAQ doc the studio can edit themselves. Every question goes through the same path: load the FAQ context, ask the model, return an answer. If the model can't answer with confidence (which is most "can I book Saturday?" type questions), the bot doesn't try; it nudges them to the booking page and captures the lead. The system message is opinionated. Don't quote prices the studio hasn't published. Don't promise availability. When in doubt say "let me get the studio to confirm" and write the conversation into Sheets so somebody can pick it up in the morning. We kept the chat history in localStorage so a returning visitor doesn't lose their place. None of this needed a vector DB; the FAQ is short enough to drop straight into the prompt.

Self-serve bookings and the magic link

The booking flow has four moments where automation earns its keep. One: the customer pays, Stripe fires the webhook, and n8n writes them into Google Sheets, books the calendar slot, and emails a receipt with an .ics attachment. Two: 24 hours before the appointment, a cron-triggered workflow sends a reminder. Three: a few hours after the appointment, a follow-up goes out asking how it went. Four: on the first of every month, the studio gets one summary email of who came in, who didn't, and what came through the till.

The piece I'm most pleased with is the manage-booking link. Every confirmation email contains a per-booking URL the customer can use to reschedule or cancel themselves, which means n8n quietly handles the deposit transfer to the new slot and updates the calendar in one go. Artists never open a "can we move Saturday?" email again. First time we shipped it, the deposit-transfer logic had a race where two reschedules landing inside the same minute could double-book a slot; fixed by adding a row-lock on the Sheets row before the calendar write.

The numbers

These are directional, not audited — we measured what the studio could measure. Manual invoicing is a bin-the-stopwatch eyeball; the booking-funnel ones are honest counts from Sheets and Stripe over the first eight weeks live.

−95%
Manual invoicing time
−85%
Reschedule emails
−40%
No-shows
~70%
DMs deflected

What I'd change next time

Two things, honestly.

The Hostinger lock-in is a known trade-off and I made my peace with it for this client, but I'd push back harder next time. The builder is fast for the studio's owner to maintain, and that's exactly the point — they shouldn't need me to fix a typo. But every embedded form is a snippet of HTML pasted into a Hostinger block, and the whole booking funnel is one accidentally-deleted block away from a panicked phone call. If I were doing it again I'd put the booking form on its own Vercel-hosted page that the Hostinger site iframes in, so a CMS edit can never break a payment flow.

The other one is the manage-booking link. It's a UUID, not a signed JWT. Fine for a small studio where the URL never leaks publicly, but it's the first thing a security review would flag and I'd rather it not be. Next iteration that link gets signed and time-bounded.

The stack, for the curious

Hostinger Website Builder n8n (self-hosted) Stripe Google Sheets Google Calendar Gmail Cloudinary Airtable OpenAI
SOMETHING SIMILAR?

Got a tired stack and a manual workflow you can't get rid of?

Two-week audit. Honest report. Fixed-price modernisation. Get in touch and we'll see if it's a fit.