Back to Projects
WordPressWooCommerceAI ChatbotDockerCloudflare

Tangible Memories

WordPress + WooCommerce memorial keepsake store with an AI grief-aware chatbot, self-hosted with Cloudflare tunnel and automated deployment.

The Problem

A friend needed an online store for handmade memorial keepsakes — items like memory bears, keepsake boxes, and personalised memorial jewellery. The store needed to be sensitive to its audience (bereaved families), affordable to run, and easy for a non-technical person to manage. Commercial hosting with WooCommerce plugins would cost £30–50/month minimum.

The Solution

A fully self-hosted WordPress + WooCommerce store running on Docker, accessible via Cloudflare Tunnel with a custom domain. The standout feature: an AI-powered chatbot that understands grief context and can answer questions about products with genuine sensitivity.

Architecture

  • WordPress + WooCommerce: Docker containers (WordPress + MariaDB) on the Brain server
  • Cloudflare Tunnel: Named tunnel routing heldclose.co.uk → localhost:8082
  • AI Chatbot: Custom plugin using deepseek-r1:7b via local Ollama, with grief-aware system prompt and content-aware mode that reads product descriptions
  • Email: Cloudflare Email Routing (info@ and enquiries@ → Outlook)
  • Dynamic URL Detection: wp-config.php detects local vs. public URL automatically

Key Features

Grief-Aware AI Chatbot

The chatbot doesn’t just answer product questions — it understands the emotional context. Its system prompt is tuned for sensitivity: it acknowledges loss, avoids pushy sales language, and offers gentle suggestions. Content-aware mode means it actually reads the store’s product catalogue to give accurate answers.

Zero-Cost Hosting

By self-hosting on existing infrastructure (the DL380 Gen9 server that was already running 24/7), the total hosting cost is £0/month. The Cloudflare free plan provides SSL, CDN caching, and DDoS protection.

Non-Technical Management

The store owner logs in as a Shop Manager and can add/edit products, manage orders, and view analytics without touching any code. WordPress handles the CMS, WooCommerce handles the storefront.

Email Routing

Professional email addresses ([email protected], [email protected]) route to an Outlook inbox via Cloudflare Email Routing — no email server to manage.

Technical Decisions

  • WordPress over custom build: Client needs to manage it independently — WordPress is the right tool
  • MariaDB over MySQL: Drop-in replacement, better performance, community maintained
  • Cloudflare Tunnel over port forwarding: No exposed ports, automatic SSL, DDoS protection
  • deepseek-r1:7b for chatbot: Runs locally, no API costs, good enough for product Q&A

Results

  • £0/month hosting cost (self-hosted on existing infrastructure)
  • Custom domain with professional email routing
  • AI chatbot providing grief-sensitive product assistance
  • 11 active plugins for SEO, security, caching, and WooCommerce features
  • Shop Manager role for independent client management

Tech Stack

WordPress, WooCommerce, Docker, MariaDB, Cloudflare Tunnel, Ollama, deepseek-r1:7b, PHP, nginx

Interested in something similar?

I build custom AI systems and infrastructure for businesses.

Get In Touch