<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Celtic3d</title>
	<atom:link href="https://www.celtic3d.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.celtic3d.com/</link>
	<description>3D Heritage, Digitally Crafted</description>
	<lastBuildDate>Fri, 07 Aug 2026 11:27:45 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://media.celtic3d.com/wp-content/uploads/2019/01/28114953/cropped-Celtic3d-full-logo2-32x32.png</url>
	<title>Celtic3d</title>
	<link>https://www.celtic3d.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How Do AI Citations Work? (And Two Ways a Sources Line Can Mislead)</title>
		<link>https://www.celtic3d.com/how-ai-citations-work/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-ai-citations-work</link>
					<comments>https://www.celtic3d.com/how-ai-citations-work/#respond</comments>
		
		<dc:creator><![CDATA[answerrails-draftbot]]></dc:creator>
		<pubDate>Fri, 07 Aug 2026 11:27:38 +0000</pubDate>
				<category><![CDATA[AnswerRails]]></category>
		<category><![CDATA[Articles / Blog]]></category>
		<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[answerrails]]></category>
		<guid isPermaLink="false">https://www.celtic3d.com/?p=15708</guid>

					<description><![CDATA[<p>A citation is a promise you can check. How AI citations work in plain English, two real ways our own Sources line misled — and the checks that keep it honest.</p>
<p>The post <a href="https://www.celtic3d.com/how-ai-citations-work/">How Do AI Citations Work? (And Two Ways a Sources Line Can Mislead)</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="widgetopts12435575 wp-block-paragraph"><em>From the AnswerRails development blog — plain-English explanations of the technology behind trustworthy AI chat.</em></p>



<p class="widgetopts991207002 wp-block-paragraph">In the <a href="https://www.celtic3d.com/what-is-a-vector-store/">first post in this series</a> we described the open-book exam: instead of letting an AI answer your visitors’ questions from memory, you hand it the relevant pages of your own website and ask it to answer from those. That post ended with a promise to explain the next piece of the puzzle — how do you know the AI actually read the book? The answer, when it works, is the little line at the bottom of a reply that says <strong>Sources</strong>.</p>



<p class="widgetopts1811798611 wp-block-paragraph">This week that line has been on our workbench, because we caught it doing something subtly wrong. So this post is about what a citation actually is, why it matters more than it looks, and two real ways a Sources line can mislead — both of which we found in our own product, in our own chat logs.</p>



<figure class="widgetopts651815327 wp-block-image size-large"><img fetchpriority="high" decoding="async" width="2400" height="1350" src="https://media.celtic3d.com/wp-content/uploads/2026/08/07092230/ai-citations-promise.png" alt="Flow diagram: a visitor question goes to a search that fetches around twenty excerpts, the AI writes an answer standing on two or three of them, and the Sources line makes the promise that the answer stands on these pages. Three panels examine the promise: sources never used, sources sprayed too wide, and links must exist." class="wp-image-15707" srcset="https://media.celtic3d.com/wp-content/uploads/2026/08/07092230/ai-citations-promise.png 2400w, https://media.celtic3d.com/wp-content/uploads/2026/08/07092230/ai-citations-promise-800x450.png 800w, https://media.celtic3d.com/wp-content/uploads/2026/08/07092230/ai-citations-promise-1260x709.png 1260w, https://media.celtic3d.com/wp-content/uploads/2026/08/07092230/ai-citations-promise-1536x864.png 1536w, https://media.celtic3d.com/wp-content/uploads/2026/08/07092230/ai-citations-promise-2048x1152.png 2048w, https://media.celtic3d.com/wp-content/uploads/2026/08/07092230/ai-citations-promise-600x338.png 600w" sizes="(max-width: 2400px) 100vw, 2400px" /><figcaption class="wp-element-caption">A citation is a promise you can check: the Sources line, and the three ways we hold it to its word.</figcaption></figure>



<h2 id="h-what-a-citation-actually-is" class="widgetopts761051030 wp-block-heading">What a citation actually is</h2>



<p class="widgetopts156087217 wp-block-paragraph">When a visitor asks a public-facing AI assistant a question, three things happen in quick succession. A search runs over the site’s own documents and fetches a couple of dozen excerpts that look relevant. The AI writes an answer, drawing — if all is well — on a handful of those excerpts. And then, underneath the answer, the assistant lists the documents it drew on, each one a link to a real page.</p>



<p class="widgetopts677519418 wp-block-paragraph">That list is the citation. And a citation is best understood as a <strong>promise</strong>: <em>this answer stands on that page — go and look.</em></p>



<p class="widgetopts1862452230 wp-block-paragraph">Which is why citations matter more than their modest appearance suggests. A chatbot without sources asks to be taken on trust. A chatbot with sources can be checked — by the visitor, who can click through and read the page for themselves, and just as importantly by you, the site owner, reading your chat logs over coffee the next morning. Our working rule for the whole product is <em>never take the AI’s word for anything you can check</em>, and a Sources line is what makes an answer checkable at all.</p>



<p class="widgetopts690135227 wp-block-paragraph">But a promise is only worth something if it’s kept. Here are two ways we’ve watched it break.</p>



<h2 id="h-the-greeting-that-arrived-with-sources" class="widgetopts882880930 wp-block-heading">The greeting that arrived with sources</h2>



<p class="widgetopts745007985 wp-block-paragraph">Early in development, a visitor to our demo shop typed one word: “Hello.”</p>



<p class="widgetopts1727851119 wp-block-paragraph">The assistant replied, perfectly reasonably, “Hello! How can I help you today?” And underneath that greeting, it printed: <em>Sources: Hello world!, Clan Name Relationships.</em></p>



<p class="widgetopts1766153995 wp-block-paragraph">It had cited the default WordPress post — the “Hello world!” page every new site starts with — as a source for saying hello.</p>



<p class="widgetopts1627896440 wp-block-paragraph">The explanation is almost funny once you see it. The document search runs before <em>every</em> message, because at that point nothing knows whether the message is a question or a pleasantry. Asked to find pages resembling “Hello”, it dutifully returned the closest matches it had, and the AI just as dutifully listed them. Every one of those documents was real. The search genuinely fetched them. And the Sources line was still false — because the promise a citation makes is <em>this answer is based on these pages</em>, and the answer was based on nothing at all.</p>



<p class="widgetopts1978226860 wp-block-paragraph">That’s the first lesson about citations: a Sources line can be built entirely from real documents and still be a false statement. The fix, once we understood the problem, was plain: small-talk replies now cite nothing, and our quality scoring stopped awarding marks for citations an answer never used. An empty Sources line under “Hello! How can I help?” is the honest one.</p>



<h2 id="h-twelve-sources-for-one-clan" class="widgetopts1517244063 wp-block-heading">Twelve sources for one clan</h2>



<p class="widgetopts1242771866 wp-block-paragraph">The second failure is this week’s, and it’s the opposite of the first: not sources that were never used, but too many of them.</p>



<p class="widgetopts131163966 wp-block-paragraph">Part of every release for us is firing a battery of test questions at the live demo shop and reading the results back through the chat logs. One of this week’s questions was about Clan Cameron — crest, septs, the usual. The answer was good: grounded in the site’s own pages, correct, every link real and working.</p>



<p class="widgetopts32996454 wp-block-paragraph">But the Sources line listed <strong>twelve</strong> documents. And on the follow-up question it listed nine — nine clan-map pages, not one of them about Cameron.</p>



<p class="widgetopts664735584 wp-block-paragraph">Nothing was invented. Every page existed; every link loaded. What the assistant had done was list a large slice of everything the search <em>fetched</em>, rather than the two or three pages the answer actually <em>stood on</em>. And a citation list like that quietly breaks the promise from the other direction: a visitor who wants to check the answer now has to wade through a dozen links to find the one that matters. Cite everything and you may as well cite nothing — the reader can no longer tell which source is load-bearing.</p>



<p class="widgetopts1266866119 wp-block-paragraph">So we did what we always do with a finding like this: logged the evidence, filed the issue, and designed the fix before touching code. The Sources line should list what the answer used, not what the search returned, and it should be capped at a sensible handful. In the interests of honesty — because honest engineering stories are rather the point of this series — that fix is filed and designed but not yet shipped. If you’re watching our demo, you should see the Sources lines get shorter in a coming release.</p>



<h2 id="h-and-the-links-must-exist" class="widgetopts1455189825 wp-block-heading">And the links must exist</h2>



<p class="widgetopts387872183 wp-block-paragraph">There’s a third way a citation can fail, the bluntest of the three: the AI can simply invent a source — a plausible-looking link to a page that has never existed. We told that story in <a href="https://www.celtic3d.com/what-are-ai-guardrails/">our guardrails post</a>, where our assistant confidently invented two products, complete with convincing web addresses, on our own domain.</p>



<p class="widgetopts1827812586 wp-block-paragraph">That one we treat as a hard stop. Before any answer reaches a visitor, every link in it is checked against the site’s real pages, and an invented link fails the whole answer rather than being quietly served. In this week’s release checks — umpteen scenario conversations fired at the live site — that check had a quiet day: not one invented link, and every single cited page loaded when we clicked it. Quiet days are what good guardrails sound like.</p>



<h2 id="h-three-questions-worth-asking" class="widgetopts1979664405 wp-block-heading">Three questions worth asking</h2>



<p class="widgetopts214028355 wp-block-paragraph">If you’re evaluating an AI assistant for the front of your own website — ours or anyone’s — the citations behaviour is worth probing, and three questions get to the heart of it:</p>



<p class="widgetopts1775090863 wp-block-paragraph"><strong>Does the Sources line show what the answer used, or what the search returned?</strong> (Asked of AnswerRails today, the honest answer is “the search, for now” — which is exactly why it’s on our fix list.)</p>



<p class="widgetopts979832426 wp-block-paragraph"><strong>Are cited links checked to actually exist before the visitor sees them?</strong> An AI that can print an invented link under the word “Sources” has turned the trust signal into a liability.</p>



<p class="widgetopts1931089700 wp-block-paragraph"><strong>Can you, the owner, see the difference in your logs?</strong> Our chat logs record what the search offered and what the reply cited, separately — so when a Sources line misbehaves, there’s evidence to read rather than a mystery to shrug at.</p>



<p class="widgetopts40310903 wp-block-paragraph">A citation is a promise you can check. The engineering job — never quite finished — is making sure it’s a promise that’s kept: no sources the answer never used, no more than the answer needs, and never, ever a link to a page that doesn’t exist.</p>



<p class="widgetopts1796289564 wp-block-paragraph">Next in this series: why your AI should tell you when it’s having a bad day — the story of our assistant’s health dashboard, and the afternoon a provider slowdown taught us what an assistant should say about itself.</p>



<hr class="widgetopts933513550 wp-block-separator has-alpha-channel-opacity"/>



<p class="widgetopts586254853 wp-block-paragraph"><em>AnswerRails is a public-facing AI assistant for WordPress, in development at Celtic3d — built compliance-first, with guardrails as the product rather than an afterthought. Follow its progress at <a href="https://answerrails.com">answerrails.com</a>.</em></p>
<p>The post <a href="https://www.celtic3d.com/how-ai-citations-work/">How Do AI Citations Work? (And Two Ways a Sources Line Can Mislead)</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.celtic3d.com/how-ai-citations-work/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What Do AI “Guardrails” Actually Do? (A Story About Two Products That Never Existed)</title>
		<link>https://www.celtic3d.com/what-are-ai-guardrails/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-are-ai-guardrails</link>
					<comments>https://www.celtic3d.com/what-are-ai-guardrails/#respond</comments>
		
		<dc:creator><![CDATA[Gavin Bain]]></dc:creator>
		<pubDate>Fri, 31 Jul 2026 09:35:53 +0000</pubDate>
				<category><![CDATA[AnswerRails]]></category>
		<guid isPermaLink="false">https://www.celtic3d.com/?p=15520</guid>

					<description><![CDATA[<p>Our own AI assistant invented two products that don’t exist — links and all. Here’s what “guardrails” actually means, and why an honest “I’d rather not guess” is sometimes the best answer your website can give.</p>
<p>The post <a href="https://www.celtic3d.com/what-are-ai-guardrails/">What Do AI “Guardrails” Actually Do? (A Story About Two Products That Never Existed)</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="widgetopts1175782296 wp-block-paragraph"><em>From the AnswerRails development blog — plain-English explanations of the technology behind trustworthy AI chat.</em></p>



<hr class="widgetopts1292672039 wp-block-separator has-alpha-channel-opacity"/>



<p class="widgetopts1149931049 wp-block-paragraph">Every AI product page you&#8217;ll read this year says it has &#8220;guardrails&#8221;. Almost none of them tell you what that means. Is it a list of banned words? A legal disclaimer? A vibe?</p>



<p class="widgetopts85022185 wp-block-paragraph">This week we shipped a release of AnswerRails that was almost entirely guardrail work, and it started with an embarrassing discovery in our own chat logs. So rather than define the term abstractly, let us show you what guardrails actually are — using a real failure, on our own website, and what it took to fix it properly.</p>



<h2 id="h-the-crests-that-never-existed" class="widgetopts621248059 wp-block-heading">The crests that never existed</h2>



<p class="widgetopts1608532013 wp-block-paragraph">Our demo shop, Celtic3d, sells 3D-printed Scottish clan crests, and the AnswerRails assistant on the site answers questions from a knowledge base of real product and clan information. In late July, a visitor asked it a perfectly reasonable question:</p>



<blockquote class="widgetopts1647684059 wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="widgetopts1719988143 wp-block-paragraph"><em>&#8220;What&#8217;s your most Irish clan crest?&#8221;</em></p>
</blockquote>



<p class="widgetopts2011491713 wp-block-paragraph">The assistant — running on the small, economical model our free tier uses — answered confidently. It recommended the Clan O&#8217;Neill crest and the Clan O&#8217;Brien crest, and it helpfully included links to both product pages on our site.</p>



<p class="widgetopts1220987602 wp-block-paragraph">Neither product exists. It invented them — names, descriptions and links — because O&#8217;Neill and O&#8217;Brien <em>sound</em> like exactly what an Irish-crest product would be called. The links looked completely legitimate, because they pointed at our own domain in the same format as our real product pages. A visitor clicking through would have landed on a &#8220;page not found&#8221;.</p>



<p class="widgetopts1548261424 wp-block-paragraph">And here&#8217;s the part that stung: our own quality checking gave that answer a high score. We already verified links in answers — but only links to <em>other</em> websites. A link to our own site was waved through on trust, no questions asked. The assistant&#8217;s most damaging inventions turned out to be the most plausible-looking ones: pages on the very domain it lives on.</p>



<h2 id="h-a-guardrail-is-a-check-not-a-hope" class="widgetopts1505853462 wp-block-heading">A guardrail is a check, not a hope</h2>



<p class="widgetopts422411976 wp-block-paragraph">That incident is a perfect illustration of what &#8220;guardrails&#8221; means to us, because the fix wasn&#8217;t a better model or a sternly worded instruction (though we tightened the instructions too). The fix was a rule the software <em>enforces</em>, whether the AI cooperates or not:</p>



<p class="widgetopts837380694 wp-block-paragraph"><strong>Never take the AI&#8217;s word for anything you can check.</strong></p>



<p class="widgetopts1773144019 wp-block-paragraph">In <a href="https://www.celtic3d.com/what-is-a-vector-store/">our first post</a> we described the open-book exam: the assistant answers from your documents, not its imagination. Guardrails are everything wrapped around that exam to catch the cases where it goes wrong anyway. In AnswerRails, a visitor&#8217;s question now passes through checks at three points:</p>



<p class="widgetopts723573100 wp-block-paragraph"><strong>Before the AI ever sees the message.</strong> The incoming message is screened first — and the person this layer protects most is you, the site owner. AnswerRails runs on your own AI provider account, so everything a visitor types into your chat box is processed under your name — and providers have usage policies. A visitor who decides to fill your chat with abuse is doing it on <em>your</em> account. The screen catches that traffic before the answering AI ever sees it: abusive messages get a polite deflection, and only clear, repeated abuse costs a visitor their chat access. One category is deliberately treated differently. Someone whose message suggests they&#8217;re in real distress has done nothing wrong, and is never handled like a rule-breaker — no strikes, no telling-off. For those messages the assistant skips the AI entirely and immediately provides signposting to real human support. Some things should never be improvised on, and because this check runs before any AI is involved, it can&#8217;t be talked around.</p>



<p class="widgetopts2009358665 wp-block-paragraph"><strong>While the answer is being written.</strong> This is the open-book machinery: the question is searched against your knowledge base, and the AI writes from the excerpts it&#8217;s handed, citing its sources.</p>



<p class="widgetopts1100109186 wp-block-paragraph"><strong>After the answer is written — and before your visitor sees it.</strong> This is the layer our incident exposed. The software now inspects the finished answer, and every link the AI wants to include on <em>your own site</em> is verified to actually exist — resolved against your real pages, products and posts. If the AI has invented a link, that&#8217;s treated as evidence the whole answer has gone off the rails: the answer is withheld entirely, not tidied up and served. The visitor gets an honest message instead, and the invented answer is quarantined in your logs — so you can see exactly what your assistant <em>almost</em> said.</p>



<p class="widgetopts1246063674 wp-block-paragraph">That last design choice surprises people. Why throw away the whole answer over one bad link? Because an invented link is rarely alone. An answer that fabricates a product page has usually fabricated the product too. Stripping the link and serving the rest would mean confidently describing merchandise that doesn&#8217;t exist — with the evidence removed.</p>



<figure class="widgetopts91570196 wp-block-image size-large"><img decoding="async" width="2400" height="1350" src="https://media.celtic3d.com/wp-content/uploads/2026/07/31101958/guardrails-checkpoints-v2.png" alt="Flow diagram of AnswerRails guardrails: a visitor’s question passes a safety screen, a search of your documents, and an answer inspection before one of three outcomes — answer served with sources, an honest decline, or a handoff to your team; all three feed your chat logs, with withheld answers recorded before they’re declined." class="wp-image-15522" srcset="https://media.celtic3d.com/wp-content/uploads/2026/07/31101958/guardrails-checkpoints-v2.png 2400w, https://media.celtic3d.com/wp-content/uploads/2026/07/31101958/guardrails-checkpoints-v2-800x450.png 800w, https://media.celtic3d.com/wp-content/uploads/2026/07/31101958/guardrails-checkpoints-v2-1260x709.png 1260w, https://media.celtic3d.com/wp-content/uploads/2026/07/31101958/guardrails-checkpoints-v2-1536x864.png 1536w, https://media.celtic3d.com/wp-content/uploads/2026/07/31101958/guardrails-checkpoints-v2-2048x1152.png 2048w, https://media.celtic3d.com/wp-content/uploads/2026/07/31101958/guardrails-checkpoints-v2-600x338.png 600w" sizes="(max-width: 2400px) 100vw, 2400px" /><figcaption class="wp-element-caption">Where the guardrails sit: checks before the AI, during retrieval, and after the answer is written — with three honest outcomes.</figcaption></figure>



<h2 id="h-staying-in-its-lane" class="widgetopts804485839 wp-block-heading">Staying in its lane</h2>



<p class="widgetopts271672114 wp-block-paragraph">The same release closed a subtler gap. During testing, we asked the shop assistant to explain photosynthesis. The old behaviour: the knowledge base search comes back empty (we sell clan crests, not biology lessons), and the model cheerfully answers from its general knowledge — a small essay on chloroplasts, served on a shop&#8217;s website with the shop&#8217;s name over it.</p>



<p class="widgetopts2106670535 wp-block-paragraph">Nothing about that answer is dangerous. But it&#8217;s not <em>grounded</em> — nothing connects it to your business, and you have no way to vouch for it. And the moment your assistant will answer anything, it will eventually answer something you&#8217;d never have signed off: an opinion on a contested political topic, medical advice, a hot take on a competitor. All delivered in your shop&#8217;s voice.</p>



<p class="widgetopts1503188771 wp-block-paragraph">So AnswerRails now enforces scope. Friendly conversation — greetings, &#8220;what can you do?&#8221; — flows normally. But when a substantive question can&#8217;t be answered from your documents, the assistant declines rather than freelancing. Which brings us to the most counterintuitive idea in the whole subject.</p>



<h2 id="h-why-a-deflection-can-be-the-right-answer" class="widgetopts881243583 wp-block-heading">Why a deflection can be the right answer</h2>



<p class="widgetopts405921259 wp-block-paragraph">Here&#8217;s what a visitor sees when one of these checks fires:</p>



<blockquote class="widgetopts45517436 wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="widgetopts728978916 wp-block-paragraph"><em>&#8220;I don&#8217;t have reliable information to answer that, so I&#8217;d rather not guess. If you have a question about our products or services, I&#8217;m happy to help.&#8221;</em></p>
</blockquote>



<p class="widgetopts1780297789 wp-block-paragraph">It&#8217;s tempting to read that as the assistant failing. We&#8217;d argue it&#8217;s the assistant doing its most important work. A wrong answer from your website isn&#8217;t like a wrong answer from a search engine — it carries your authority. A fabricated returns policy, a made-up product, an invented delivery date: each is a small liability with your name on it. An honest &#8220;I&#8217;d rather not guess&#8221;, followed where appropriate by a handoff to your team, costs you almost nothing — and quietly builds the thing an AI assistant is actually for, which is trust.</p>



<p class="widgetopts1264343085 wp-block-paragraph">The economics only work one way. One invented product page can cost more goodwill than a hundred honest declines.</p>



<h2 id="h-guardrails-you-can-audit" class="widgetopts986164850 wp-block-heading">Guardrails you can audit</h2>



<p class="widgetopts1066355484 wp-block-paragraph">One more principle from this release, because it separates real guardrails from marketing: <strong>everything the assistant declines is recorded before it&#8217;s declined.</strong> The withheld answer, the invented links, which check fired and why — all of it lands in your chat logs, scored honestly (an invented answer now scores zero, not 87). Guardrails that operate silently are just another black box. Guardrails you can audit are a system you can supervise.</p>



<p class="widgetopts697642617 wp-block-paragraph">That cuts both ways, incidentally. The same release changed how moderation events are recorded: a borderline automated flag on a visitor&#8217;s message is logged as <em>what the classifier reported, with its confidence score</em> — never as a fact we assert about the person. Guardrails protect your visitors from over-zealous software, too.</p>



<h2 id="h-what-to-ask-any-vendor" class="widgetopts1201475173 wp-block-heading">What to ask any vendor</h2>



<p class="widgetopts486802488 wp-block-paragraph">If you&#8217;re evaluating a public-facing AI assistant for your website, &#8220;does it have guardrails?&#8221; will always get a yes. Better questions: What happens when the AI invents a link on my own site — is it checked, or trusted? When my documents don&#8217;t contain the answer, does it decline, or improvise? And can I see, in my logs, everything it declined to say?</p>



<p class="widgetopts508893913 wp-block-paragraph">We didn&#8217;t have good answers to the first question three weeks ago. We do now, because we watched our own assistant invent two clan crests and decided that should be structurally impossible rather than merely unlikely.</p>



<p class="widgetopts371509351 wp-block-paragraph">Next in this series: why your AI assistant should tell you when it&#8217;s having a bad day — the story of our health dashboard, and a live incident where the diagnosis mattered.</p>



<hr class="widgetopts1527191791 wp-block-separator has-alpha-channel-opacity"/>



<p class="widgetopts1954253290 wp-block-paragraph"><em>AnswerRails is an AI customer-service assistant for WordPress, built around grounded answers, real citations, and honest handoffs. Follow along as we build it at <a href="https://answerrails.com">answerrails.com</a>.</em></p>
<p>The post <a href="https://www.celtic3d.com/what-are-ai-guardrails/">What Do AI “Guardrails” Actually Do? (A Story About Two Products That Never Existed)</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.celtic3d.com/what-are-ai-guardrails/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What&#8217;s a Vector Store? (And Why Your Website&#8217;s Chatbot Needs One)</title>
		<link>https://www.celtic3d.com/what-is-a-vector-store/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-is-a-vector-store</link>
					<comments>https://www.celtic3d.com/what-is-a-vector-store/#respond</comments>
		
		<dc:creator><![CDATA[Gavin Bain]]></dc:creator>
		<pubDate>Fri, 24 Jul 2026 15:26:57 +0000</pubDate>
				<category><![CDATA[AnswerRails]]></category>
		<guid isPermaLink="false">https://www.celtic3d.com/?p=15342</guid>

					<description><![CDATA[<p>A plain-English guide to vector stores: how AI chat can search your business documents by meaning — and answer customers from your content, with sources.</p>
<p>The post <a href="https://www.celtic3d.com/what-is-a-vector-store/">What&#8217;s a Vector Store? (And Why Your Website&#8217;s Chatbot Needs One)</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="widgetopts1772046502 wp-block-paragraph"><em>From the AnswerRails development blog — plain-English explanations of the technology behind trustworthy AI chat.</em></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">If you&#8217;ve experimented with AI chatbots for your business, you&#8217;ve probably run into the problem that keeps most of them off serious websites: they make things up. Ask a generic chatbot for your opening hours and it will cheerfully invent some. Ask about your returns policy and it will describe a policy you don&#8217;t have, in a confident tone your customers have no reason to doubt.</p>



<p class="wp-block-paragraph">This isn&#8217;t a bug that better AI models will simply grow out of. It&#8217;s a consequence of what these models are: they&#8217;ve read a huge slice of the internet, but they have never read <em>your</em> business. The fix isn&#8217;t a smarter model. It&#8217;s giving the model your actual information at the moment it answers — and that&#8217;s where vector stores come in.</p>



<h2 id="h-the-open-book-exam" class="wp-block-heading">The open-book exam</h2>



<p class="wp-block-paragraph">Here&#8217;s the mental model we use constantly while building AnswerRails: a closed-book exam versus an open-book exam.</p>



<p class="wp-block-paragraph">A generic chatbot sits a closed-book exam about your business. It has general knowledge and a lot of confidence, so it writes <em>something</em> — and something is often wrong.</p>



<p class="wp-block-paragraph">A grounded chatbot sits an open-book exam. Before it answers, it&#8217;s handed the relevant pages from your own documents — your FAQ, your product notes, your policies — and instructed to answer from those pages. If the pages don&#8217;t contain the answer, it should say so and offer to connect the customer with a human, rather than guessing.</p>



<p class="wp-block-paragraph">We see this daily on our own demo site, Celtic3d, which sells 3D-printed Scottish clan crests. Ask the assistant <em>“Which clan is the surname Bain associated with?”</em> and it answers from a clan-name reference document we loaded into its knowledge base — Clan MacKay, as it happens — and cites the document it used. No guessing, and the customer can see where the answer came from.</p>



<p class="wp-block-paragraph">But this raises the practical question the whole approach depends on: out of everything in your knowledge base, how does the system find <em>the right pages</em> to hand over?</p>



<h2 id="h-finding-the-right-page-why-ordinary-search-isn-t-enough" class="wp-block-heading">Finding the right page: why ordinary search isn&#8217;t enough</h2>



<p class="wp-block-paragraph">The obvious answer is keyword search — the kind of matching that powers a basic site search box. It works, and (as you&#8217;ll see below) we use it too. But it has a well-known weakness: people don&#8217;t use your words.</p>



<p class="wp-block-paragraph">Your FAQ says “opening hours”. Your customer types <em>“when are you open?”</em> or <em>“what time do you shut?”</em> or <em>“are you around on Saturdays?”</em> — three questions that share almost no words with the document that answers them. Keyword search matches letters, not meaning, and meaning is what customers actually type.</p>



<h2 id="h-so-what-is-a-vector-store" class="wp-block-heading">So what is a vector store?</h2>



<p class="wp-block-paragraph">A vector store is a database built to search by <strong>meaning</strong> instead of by matching words.</p>



<p class="wp-block-paragraph">The idea sounds stranger than it is. Modern AI systems can convert a piece of text into a long list of numbers — called a <em>vector</em>, or an <em>embedding</em> — that acts like a set of coordinates. Not coordinates on a geographic map, but on a kind of map of meaning. Passages that mean similar things end up close together on that map, even when they use completely different words. “Our opening hours are 9 to 5” and “what time are you open?” land near each other. “Our opening hours” and “opening a jammed sporran clasp” do not, despite sharing a word.</p>



<p class="wp-block-paragraph">A vector store holds those coordinates for every passage in your knowledge base. When a customer asks a question, the question is converted to coordinates the same way, and the store finds the passages sitting nearest to it on the meaning map. Those passages — usually just a handful of short excerpts — are what gets handed to the AI as its open book for that one answer.</p>



<p class="wp-block-paragraph">That&#8217;s the whole trick. No magic, just geometry: represent meaning as position, then “which documents are relevant?” becomes “which points are nearby?” — a question computers are extremely good at.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1200" height="675" src="https://media.celtic3d.com/wp-content/uploads/2026/07/24161859/vector-store-map.png" alt="Map of meaning: a customer's question lands beside the opening-hours passages despite sharing no words with them; unrelated topics sit far away. The nearest passages are handed to the AI as its open book." class="wp-image-15341" srcset="https://media.celtic3d.com/wp-content/uploads/2026/07/24161859/vector-store-map.png 1200w, https://media.celtic3d.com/wp-content/uploads/2026/07/24161859/vector-store-map-800x450.png 800w, https://media.celtic3d.com/wp-content/uploads/2026/07/24161859/vector-store-map-600x338.png 600w" sizes="(max-width: 1200px) 100vw, 1200px" /><figcaption class="wp-element-caption">The map of meaning. The question shares no words with “opening hours” — but sits right beside it, so the right passages are found and handed to the AI as its open book for this one answer.</figcaption></figure>



<h2 id="h-how-answerrails-puts-this-to-work" class="wp-block-heading">How AnswerRails puts this to work</h2>



<p class="wp-block-paragraph">When you add documents to the AnswerRails knowledge base — FAQs, product information, policies, even existing pages from your site — the content is broken into digestible passages and indexed for search. Then, on every single question a visitor asks:</p>



<ol class="wp-block-list">
<li>The question is searched against your knowledge base.</li>



<li>The most relevant excerpts are retrieved — only the passages that relate to this specific question.</li>



<li>The AI writes its answer <em>from those excerpts</em>, and the reply shows its sources, so both you and your customer can see which document the answer came from.</li>



<li>If the search comes back empty-handed — the question is about something your knowledge base doesn&#8217;t cover — guardrails step in and the assistant offers to hand the conversation to your team instead of improvising.</li>
</ol>



<p class="wp-block-paragraph">That last step matters as much as the first three. An honest “let me connect you with someone” is a good customer experience. A fabricated returns policy is a liability.</p>



<h2 id="h-a-lesson-from-the-workshop-don-t-bet-everything-on-one-search-engine" class="wp-block-heading">A lesson from the workshop: don&#8217;t bet everything on one search engine</h2>



<p class="wp-block-paragraph">Here&#8217;s a story from our own development log. Earlier this summer, the cloud vector-search service we relied on had an intermittent outage. Our chat kept working — but with knowledge search failing, answerable questions were being handed off to a human unnecessarily. The assistant was being honest, which is exactly what guardrails are for, but it was honest more often than it needed to be.</p>



<p class="wp-block-paragraph">Our response shaped the product. AnswerRails now keeps a second, independent search index of your knowledge base — a keyword index stored in your own WordPress database. If the cloud vector search ever fails, the assistant automatically falls back to searching locally, and answers stay grounded in your content instead of everything routing to your inbox. The dashboard tells you honestly when this is happening.</p>



<p class="wp-block-paragraph">And in our latest release we went a step further: that local index is now a fully supported mode in its own right. On our free tier you don&#8217;t need a vector-store account at all — your knowledge base is indexed and searched entirely within your own WordPress database. Keyword search is less clever than vector search (it matches words, not meaning), which is why vector search remains the recommended upgrade — but both modes are <em>grounded</em>: every answer is built from your documents, with sources, or honestly handed off.</p>



<h2 id="h-where-does-my-data-live" class="wp-block-heading">Where does my data live?</h2>



<p class="wp-block-paragraph">A fair question, and one we think deserves a plain answer. Your knowledge base is stored and searched in your own WordPress database — and if you enable vector search, also in a vector store on your own account with your AI provider, not ours. When a customer asks a question, only the excerpts relevant to that question are shared with your chosen AI provider so it can write the answer. You bring your own API key, so the relationship — and the bill — is directly between you and your provider.</p>



<h2 id="h-what-to-take-away" class="wp-block-heading">What to take away</h2>



<p class="wp-block-paragraph">If you&#8217;re evaluating an AI assistant for your website, the technology behind the buzzwords boils down to three questions worth asking of any product:</p>



<p class="wp-block-paragraph">Does it answer from <em>your</em> documents rather than its general knowledge? Does it show its sources, so answers can be checked? And when it doesn&#8217;t know, does it say so and hand over to a human?</p>



<p class="wp-block-paragraph">Vector stores are the machinery that makes the first of those work well — search that understands <em>“are you around on Saturdays?”</em> is the same question as <em>“opening hours”</em>. The rest is engineering discipline: grounding, citations, guardrails, and a fallback for the days the cloud has a bad morning.</p>



<p class="wp-block-paragraph">That&#8217;s what we&#8217;re building with AnswerRails. In future posts we&#8217;ll dig into other pieces of the machinery — how citations work, what “guardrails” actually means in practice, and why we think an AI assistant should tell you when it&#8217;s having a bad day.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><em>AnswerRails is an AI customer-service assistant for WordPress, built around grounded answers, real citations, and honest handoffs. Follow along as we build it at <a href="https://answerrails.com" target="_blank" rel="noopener">answerrails.com</a>.</em></p>


<p class="widgetopts538912282 ">        <div id="answerrails-chat-widget"
            class="answerrails-chat-minimized answerrails-launcher-pos-bottom-right answerrails-window-preset-standard"
            style="--ar-accent:#2563eb; --ar-accent-hover:#2157cf; --ar-accent-contrast:#ffffff; --ar-focus-ring:rgba(37, 99, 235, 0.12); --ar-focus-border:#2563eb; --ar-header-bg:linear-gradient(135deg, #2563eb 0%, #2157cf 100%); --ar-header-text:#ffffff; --ar-header-text-soft:rgba(255, 255, 255, 0.9);"
            data-ar-mode="light">
            <button type="button"
                class="answerrails-chat-button answerrails-launcher answerrails-launcher--size-comfortable answerrails-launcher--avatar answerrails-launcher--has-tagline"
                style="--ar-launcher-bg:#2563eb; --ar-launcher-text:#ffffff;"
                aria-haspopup="dialog"
                aria-expanded="false"
                aria-label="Open chat with Celtic3d – Chat with us">
                <span class="answerrails-launcher-media" aria-hidden="true">
                                            <span class="answerrails-launcher-avatar">
                            <img decoding="async" src="https://media.celtic3d.com/wp-content/uploads/2025/10/10160445/AnswerRails-W-02-150x150.png" alt="" />
                        </span>
                                    </span>
                <span class="answerrails-launcher-body">
                    <span class="answerrails-launcher-title">Celtic3d</span>
                                            <span class="answerrails-launcher-tagline">Chat with us</span>
                                    </span>
            </button>

            <div class="answerrails-chat-window"
                role="dialog"
                aria-labelledby="ar-chat-title">
                                <div class="ar-visually-hidden" aria-live="polite" id="ar-announcer"></div>
                <div class="ar-visually-hidden" role="status" id="ar-status"></div>
                                <span class="answerrails-resize-handle answerrails-resize-handle--left" data-ar-resize="left" aria-hidden="true"></span>
                <span class="answerrails-resize-handle answerrails-resize-handle--top" data-ar-resize="top" aria-hidden="true"></span>
                <span class="answerrails-resize-handle answerrails-resize-handle--corner" data-ar-resize="corner" aria-hidden="true"></span>
                <div class="answerrails-chat-header">
                    <div class="answerrails-chat-avatar">
                                                <img decoding="async" src="https://media.celtic3d.com/wp-content/uploads/2025/10/10160445/AnswerRails-W-02-150x150.png" alt="" />
                    </div>
                    <div class="answerrails-chat-info">
                                                <div class="answerrails-chat-title" id="ar-chat-title" role="heading" aria-level="2">How can we help you today?</div>
                        <div class="answerrails-chat-subtitle">Celtic3d</div>
                    </div>
                    <div class="answerrails-chat-actions">
                                                <button type="button" class="answerrails-chat-new" title="New conversation" aria-label="Start a new conversation">
                            <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" role="presentation">
                                <path d="M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 1 0 7.73 10h-2.08A6 6 0 1 1 12 6c1.66 0 3.15.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/>
                            </svg>
                        </button>
                        <button type="button" class="answerrails-chat-minimize" title="Minimize" aria-label="Minimize">
                            <span aria-hidden="true">−</span>
                        </button>
                    </div>
                </div>
                
                                <div class="answerrails-chat-messages" role="log" aria-live="off" aria-label="Conversation">
                    <!-- Welcome message will be added dynamically -->
                </div>
                
                <div class="answerrails-chat-input-area">
                                                                                        <div class="answerrails-consent-notice" style="display: none;">
                            <p class="answerrails-consent-text" id="ar-consent-text">This chat gives informal guidance only, it does not generate binding commitments. For a binding quote, please contact us directly at <a href="mailto:sales@celtic3d.com">sales@celtic3d.com</a>. By continuing, you consent to us logging the conversation for 180 days.</p>
                            <label class="answerrails-consent-agree">
                                <input type="checkbox" id="answerrails-consent-checkbox" autocomplete="off" aria-describedby="ar-consent-text">
                                <span>I agree</span>
                            </label>
                        </div>
                                        
                    <div class="answerrails-chat-input">
                                                                        <textarea
                            id="answerrails-message-input"
                            aria-label="Type your message..."
                            placeholder="Type your message..."
                            rows="1" maxlength="40960" disabled></textarea>
                        <button type="button" id="answerrails-send-button" aria-label="Send" disabled>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" role="presentation">
                                <path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/>
                            </svg>
                        </button>
                    </div>

                                        <div class="answerrails-composer-notice" id="ar-composer-notice" hidden></div>

                                                                    <div class="answerrails-chat-smallprint">
                                                                                            <button type="button" class="answerrails-consent-withdraw" style="display: none;">
                                    Edit consent                                </button>
                            
                                                                                            <div class="answerrails-recaptcha-attribution">
                                    This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy<span class="ar-visually-hidden"> (opens in new tab)</span></a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener noreferrer">Terms of Service<span class="ar-visually-hidden"> (opens in new tab)</span></a> apply.                                </div>
                                                    </div>
                    
                                                                    <div class="answerrails-chat-footer">
                            <div class="answerrails-powered-by">
                                Powered by <a href="https://answerrails.com" target="_blank" rel="nofollow noopener noreferrer">AnswerRails</a>
                            </div>
                        </div>
                                    </div>
            </div>
        </div>
        </p>
<p>The post <a href="https://www.celtic3d.com/what-is-a-vector-store/">What&#8217;s a Vector Store? (And Why Your Website&#8217;s Chatbot Needs One)</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.celtic3d.com/what-is-a-vector-store/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Your Website&#8217;s AI Assistant Is Growing Up: AnswerRails Heads for Public Launch</title>
		<link>https://www.celtic3d.com/answerrails-heads-for-public-launch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=answerrails-heads-for-public-launch</link>
					<comments>https://www.celtic3d.com/answerrails-heads-for-public-launch/#respond</comments>
		
		<dc:creator><![CDATA[Gavin Bain]]></dc:creator>
		<pubDate>Thu, 23 Jul 2026 14:05:05 +0000</pubDate>
				<category><![CDATA[AnswerRails]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Chat]]></category>
		<guid isPermaLink="false">https://www.celtic3d.com/?p=15246</guid>

					<description><![CDATA[<p>When we first wrote about making your website answer back, AnswerRails was a promise in private beta: an AI assistant that answers customer questions from your content — and refuses to make things up. Since then it&#8217;s been running live, answering real questions from real visitors, and growing quickly. Today we can say it: AnswerRails [&#8230;]</p>
<p>The post <a href="https://www.celtic3d.com/answerrails-heads-for-public-launch/">Your Website&#8217;s AI Assistant Is Growing Up: AnswerRails Heads for Public Launch</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="widgetopts1299156147 wp-block-paragraph">When we first wrote about <a href="https://www.celtic3d.com/making-your-website-answer-back-safely-and-reliably/">making your website answer back</a>, AnswerRails was a promise in private beta: an AI assistant that answers customer questions from <em>your</em> content — and refuses to make things up. Since then it&#8217;s been running live, answering real questions from real visitors, and growing quickly. Today we can say it: <strong>AnswerRails is heading for public launch. Date to be announced — and it will be worth the wait.</strong></p>



<p class="widgetopts1564873455 wp-block-paragraph">Here&#8217;s what it does now, and why we think it&#8217;s the assistant your WordPress site has been missing.</p>



<p class="widgetopts517321867 wp-block-paragraph">The heart of AnswerRails hasn&#8217;t changed: every answer is built from your own pages, posts, product data and uploaded documents, with real source citations underneath. If the answer isn&#8217;t in your content, it doesn&#8217;t improvise — it says so, and offers to connect the visitor with your team instead. A structured escalation email means nothing gets lost on the way.</p>



<figure class="widgetopts973448908 extendedwopts-md-center wp-block-image size-full has-custom-border is-style-default" style="margin-top:0;margin-bottom:0"><img loading="lazy" decoding="async" width="799" height="744" src="https://media.celtic3d.com/wp-content/uploads/2026/07/23151936/AnswerrailsExample.png" alt="An example chat session using AnswerRails AI powered chat assistant for WordPress" class="has-border-color has-palette-color-3-border-color wp-image-15256" style="border-width:12px;aspect-ratio:1.0739456315024052" srcset="https://media.celtic3d.com/wp-content/uploads/2026/07/23151936/AnswerrailsExample.png 799w, https://media.celtic3d.com/wp-content/uploads/2026/07/23151936/AnswerrailsExample-600x559.png 600w" sizes="auto, (max-width: 799px) 100vw, 799px" /></figure>



<h3 id="h-grounded-answers-not-guesswork" class="widgetopts590534169 wp-block-heading">Grounded answers, not guesswork</h3>



<p class="widgetopts1698370205 wp-block-paragraph">You&#8217;ve seen AI chatbots confidently invent opening hours, prices and return policies. AnswerRails was built so yours never does.</p>



<h3 id="h-a-widget-your-visitors-will-actually-enjoy" class="widgetopts817751572 wp-block-heading">A widget your visitors will actually enjoy</h3>



<p class="widgetopts846653072 wp-block-paragraph">The front end has just had a complete overhaul:</p>



<ul class="widgetopts1436441237 wp-block-list">
<li><strong>Your brand, automatically.</strong> Set your accent colour and the widget themes itself — including a proper dark mode, with text contrast checked so it stays readable on every background.</li>



<li><strong>At home on every screen.</strong> On desktop, visitors can move and resize the chat window like an app. On phones, it opens into a clean full-screen conversation that plays nicely with the keyboard.</li>



<li><strong>Small touches that matter.</strong> A one-tap &#8220;new conversation&#8221; button, a considerate consent flow, and a launcher that stays out of the way until it&#8217;s needed.</li>
</ul>



<h3 id="h-protected-by-default" class="widgetopts99401378 wp-block-heading">Protected by default</h3>



<p class="widgetopts1340718738 wp-block-paragraph">A public chat endpoint is an invitation to bots — so AnswerRails ships with rate limiting built in, plus optional <strong>Google reCAPTCHA v3</strong> protection with a tunable strictness threshold. It&#8217;s invisible to real visitors (no puzzles, no traffic lights), and privacy-conscious too: Google&#8217;s script only loads for visitors who actually open the chat.</p>



<h3 id="h-your-choice-of-ai-including-a-genuinely-free-one" class="widgetopts979916006 wp-block-heading">Your choice of AI — including a genuinely free one</h3>



<p class="widgetopts481346963 wp-block-paragraph">AnswerRails runs on <strong>OpenAI, Google Gemini, or Anthropic Claude</strong>, switchable in one click, on your own API key. New installs default to Gemini&#8217;s free tier, so you can go from installation to grounded answers without paying any AI vendor a penny. And if a provider announces it&#8217;s retiring your chosen model, AnswerRails now warns you in the dashboard well before anything breaks.</p>



<h3 id="h-it-listens-as-well-as-answers" class="widgetopts1970177478 wp-block-heading">It listens as well as answers</h3>



<p class="widgetopts988619405 wp-block-paragraph">Every conversation is a signal. AnswerRails Pro turns those signals into business intelligence:</p>



<ul class="widgetopts1266732143 wp-block-list">
<li><strong>Sales-lead detection</strong> spots buying intent mid-conversation, asks for contact details, and emails your team the transcript.</li>



<li><strong>Idea capture</strong> files feature requests and suggestions your visitors volunteer.</li>



<li><strong>Knowledge-gap analytics</strong> show you the real questions your content doesn&#8217;t answer well yet — a to-do list for your next content session.</li>
</ul>



<h3 id="h-compliance-is-the-foundation-not-a-feature" class="widgetopts737316979 wp-block-heading">Compliance is the foundation, not a feature</h3>



<p class="widgetopts398202109 wp-block-paragraph">Configurable conversation logging (off, anonymised, or full), retention periods, consent prompts and disclaimer text are all built in — because an assistant that talks to your customers should meet the same standards you do.</p>



<h3 id="h-free-and-pro-from-day-one" class="widgetopts1562390493 wp-block-heading">Free and Pro, from day one</h3>



<p class="widgetopts245473120 wp-block-paragraph">At launch there will be two editions, just as in beta: a <strong>free core</strong> — the widget, grounded answers with citations, and the anti-fabrication safety rails — and <strong>Pro</strong>, which adds unlimited knowledge, analytics, lead and idea capture, enforced citations, human-handoff escalations, and advanced privacy controls. Full details live at <a href="https://www.answerrails.com/">answerrails.com</a>.</p>



<h3 id="h-when-can-you-get-it" class="widgetopts1994820297 wp-block-heading">When can you get it?</h3>



<p class="widgetopts1430548789 wp-block-paragraph"><strong>The public launch date will be announced soon</strong> — here and at <a href="https://www.answerrails.com/">answerrails.com</a>. Until then, the private beta is open: if you&#8217;d like AnswerRails answering questions on your site ahead of the launch, email <a href="mailto:sales@celtic3d.com">sales@celtic3d.com</a> and we&#8217;ll get you set up. Beta sites get hands-on help and a direct line to shape what ships.</p>



<p class="widgetopts1979125339 wp-block-paragraph">You&#8217;ve already written the answers. Soon, every WordPress site will be able to make sure customers find them — reliably, responsibly, and without extra overhead.</p>



<p class="widgetopts827816962 wp-block-paragraph">AnswerRails is built and operated by Celtic3d Ltd in Aberdeen, and runs live on this very site — the chat in the corner is it. Ask it something.</p>


<p class="widgetopts1431877171 ">        <div id="answerrails-chat-widget"
            class="answerrails-chat-minimized answerrails-launcher-pos-bottom-right answerrails-window-preset-standard"
            style="--ar-accent:#2563eb; --ar-accent-hover:#2157cf; --ar-accent-contrast:#ffffff; --ar-focus-ring:rgba(37, 99, 235, 0.12); --ar-focus-border:#2563eb; --ar-header-bg:linear-gradient(135deg, #2563eb 0%, #2157cf 100%); --ar-header-text:#ffffff; --ar-header-text-soft:rgba(255, 255, 255, 0.9);"
            data-ar-mode="light">
            <button type="button"
                class="answerrails-chat-button answerrails-launcher answerrails-launcher--size-comfortable answerrails-launcher--avatar answerrails-launcher--has-tagline"
                style="--ar-launcher-bg:#2563eb; --ar-launcher-text:#ffffff;"
                aria-haspopup="dialog"
                aria-expanded="false"
                aria-label="Open chat with Celtic3d – Chat with us">
                <span class="answerrails-launcher-media" aria-hidden="true">
                                            <span class="answerrails-launcher-avatar">
                            <img decoding="async" src="https://media.celtic3d.com/wp-content/uploads/2025/10/10160445/AnswerRails-W-02-150x150.png" alt="" />
                        </span>
                                    </span>
                <span class="answerrails-launcher-body">
                    <span class="answerrails-launcher-title">Celtic3d</span>
                                            <span class="answerrails-launcher-tagline">Chat with us</span>
                                    </span>
            </button>

            <div class="answerrails-chat-window"
                role="dialog"
                aria-labelledby="ar-chat-title">
                                <div class="ar-visually-hidden" aria-live="polite" id="ar-announcer"></div>
                <div class="ar-visually-hidden" role="status" id="ar-status"></div>
                                <span class="answerrails-resize-handle answerrails-resize-handle--left" data-ar-resize="left" aria-hidden="true"></span>
                <span class="answerrails-resize-handle answerrails-resize-handle--top" data-ar-resize="top" aria-hidden="true"></span>
                <span class="answerrails-resize-handle answerrails-resize-handle--corner" data-ar-resize="corner" aria-hidden="true"></span>
                <div class="answerrails-chat-header">
                    <div class="answerrails-chat-avatar">
                                                <img decoding="async" src="https://media.celtic3d.com/wp-content/uploads/2025/10/10160445/AnswerRails-W-02-150x150.png" alt="" />
                    </div>
                    <div class="answerrails-chat-info">
                                                <div class="answerrails-chat-title" id="ar-chat-title" role="heading" aria-level="2">How can we help you today?</div>
                        <div class="answerrails-chat-subtitle">Celtic3d</div>
                    </div>
                    <div class="answerrails-chat-actions">
                                                <button type="button" class="answerrails-chat-new" title="New conversation" aria-label="Start a new conversation">
                            <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" role="presentation">
                                <path d="M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 1 0 7.73 10h-2.08A6 6 0 1 1 12 6c1.66 0 3.15.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/>
                            </svg>
                        </button>
                        <button type="button" class="answerrails-chat-minimize" title="Minimize" aria-label="Minimize">
                            <span aria-hidden="true">−</span>
                        </button>
                    </div>
                </div>
                
                                <div class="answerrails-chat-messages" role="log" aria-live="off" aria-label="Conversation">
                    <!-- Welcome message will be added dynamically -->
                </div>
                
                <div class="answerrails-chat-input-area">
                                                                                        <div class="answerrails-consent-notice" style="display: none;">
                            <p class="answerrails-consent-text" id="ar-consent-text">This chat gives informal guidance only, it does not generate binding commitments. For a binding quote, please contact us directly at <a href="mailto:sales@celtic3d.com">sales@celtic3d.com</a>. By continuing, you consent to us logging the conversation for 180 days.</p>
                            <label class="answerrails-consent-agree">
                                <input type="checkbox" id="answerrails-consent-checkbox" autocomplete="off" aria-describedby="ar-consent-text">
                                <span>I agree</span>
                            </label>
                        </div>
                                        
                    <div class="answerrails-chat-input">
                                                                        <textarea
                            id="answerrails-message-input"
                            aria-label="Type your message..."
                            placeholder="Type your message..."
                            rows="1" maxlength="40960" disabled></textarea>
                        <button type="button" id="answerrails-send-button" aria-label="Send" disabled>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" role="presentation">
                                <path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/>
                            </svg>
                        </button>
                    </div>

                                        <div class="answerrails-composer-notice" id="ar-composer-notice" hidden></div>

                                                                    <div class="answerrails-chat-smallprint">
                                                                                            <button type="button" class="answerrails-consent-withdraw" style="display: none;">
                                    Edit consent                                </button>
                            
                                                                                            <div class="answerrails-recaptcha-attribution">
                                    This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy<span class="ar-visually-hidden"> (opens in new tab)</span></a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener noreferrer">Terms of Service<span class="ar-visually-hidden"> (opens in new tab)</span></a> apply.                                </div>
                                                    </div>
                    
                                                                    <div class="answerrails-chat-footer">
                            <div class="answerrails-powered-by">
                                Powered by <a href="https://answerrails.com" target="_blank" rel="nofollow noopener noreferrer">AnswerRails</a>
                            </div>
                        </div>
                                    </div>
            </div>
        </div>
        </p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.celtic3d.com/answerrails-heads-for-public-launch/">Your Website&#8217;s AI Assistant Is Growing Up: AnswerRails Heads for Public Launch</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.celtic3d.com/answerrails-heads-for-public-launch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Making Your Website Answer Back — Safely and Reliably</title>
		<link>https://www.celtic3d.com/making-your-website-answer-back-safely-and-reliably/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=making-your-website-answer-back-safely-and-reliably</link>
					<comments>https://www.celtic3d.com/making-your-website-answer-back-safely-and-reliably/#respond</comments>
		
		<dc:creator><![CDATA[Gavin Bain]]></dc:creator>
		<pubDate>Wed, 08 Oct 2025 18:15:50 +0000</pubDate>
				<category><![CDATA[AnswerRails]]></category>
		<category><![CDATA[ai assistant]]></category>
		<category><![CDATA[answerrails]]></category>
		<category><![CDATA[beta testing]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[knowledge base]]></category>
		<category><![CDATA[small business]]></category>
		<category><![CDATA[website automation]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wordpress pro plugin]]></category>
		<guid isPermaLink="false">https://www.celtic3d.com/?p=14438</guid>

					<description><![CDATA[<p>(Beta testing &#8211; see latest status) Small-business websites are often full of useful information — product details, policies, FAQs — yet customers still struggle to find what they need. They send messages or open tickets asking questions you’ve already answered somewhere on your site. AnswerRails™ fixes that for WordPress users.Our WordPress plug-in helps your website [&#8230;]</p>
<p>The post <a href="https://www.celtic3d.com/making-your-website-answer-back-safely-and-reliably/">Making Your Website Answer Back — Safely and Reliably</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="widgetopts952379827 wp-block-paragraph"><strong><em>(Beta testing &#8211;  <a href="https://www.celtic3d.com/answerrails-heads-for-public-launch/">see latest status</a>)</em></strong><a href="https://www.celtic3d.com/answerrails-heads-for-public-launch/" data-type="link" data-id="https://www.celtic3d.com/answerrails-heads-for-public-launch/"></a></p>



<p class="widgetopts1281229097 wp-block-paragraph">Small-business websites are often full of useful information — product details, policies, FAQs — yet customers still struggle to find what they need. They send messages or open tickets asking questions you’ve already answered somewhere on your site.</p>



<p class="widgetopts224411303 wp-block-paragraph"><strong>AnswerRails™ </strong>fixes that for WordPress users.<br>Our WordPress plug-in helps your website <em>understand</em> what people ask, match it with your existing content, and reply confidently — using only information you control.   An attractive, modern chat interface on the front-end. Robust knowledge base and compliance controls in the back.</p>



<hr class="widgetopts1387622309 wp-block-separator has-alpha-channel-opacity"/>



<figure class="widgetopts652173123 extendedwopts-md-center extendedwopts-sm-center extendedwopts-xs-center wp-block-image size-full"><img loading="lazy" decoding="async" width="498" height="322" src="https://media.celtic3d.com/wp-content/uploads/2025/10/10133144/AnswerRailsLogo.png" alt="" class="wp-image-14515"/></figure>



<h3 id="h-the-problem-for-small-businesses" class="widgetopts1015245140 wp-block-heading">The problem for small businesses</h3>



<p class="widgetopts434664553 wp-block-paragraph">If you run a small business, every support request costs time.<br>A customer types <em>“returning my order”</em> while your page is titled <em>“Refunds and Exchanges.”</em><br>Another asks <em>“warranty claim”</em> but your content says <em>“Product Guarantee.”</em></p>



<p class="widgetopts275534874 wp-block-paragraph">Humans see the match instantly — computers don’t.<br>AnswerRails bridges that gap between how people talk and how your website is organised.</p>



<hr class="widgetopts1334801707 wp-block-separator has-alpha-channel-opacity"/>



<h4 id="h-how-answerrails-works" class="widgetopts337782639 wp-block-heading">How AnswerRails works</h4>



<p class="widgetopts800829089 wp-block-paragraph">It combines two layers of intelligence designed for WordPress:</p>



<ol class="widgetopts1668488817 wp-block-list">
<li><strong>Local understanding</strong><br>The plugin scans your pages and builds simple language variations — recognising plurals, prefixes, and synonyms. This means your site can suggest the right page or insert smart links, even without an AI service connected.</li>



<li><strong>AI-powered chat (optional PRO feature)</strong><br>The PRO version connects to OpenAI’s models and a private “vector store” of your own documents. The assistant replies in natural language, grounding every answer in your verified business content — not random web data.</li>
</ol>



<hr class="widgetopts1769572529 wp-block-separator has-alpha-channel-opacity"/>



<h4 id="h-accuracy-quality-and-compliance-built-in" class="widgetopts1227033156 wp-block-heading">Accuracy, quality, and compliance built in</h4>



<p class="widgetopts19080377 wp-block-paragraph">We know small businesses can’t afford AI going off-script, so AnswerRails includes safety and accountability by design:</p>



<ul class="widgetopts256264023 wp-block-list">
<li><strong>Grounded in your content</strong> – Every response is validated against your pages or uploaded files. Any AI-generated links are checked and stripped if invalid.</li>



<li><strong>Structured answers</strong> – Replies must meet a minimum quality score before display, ensuring clarity and consistency.</li>



<li><strong>Full audit trail</strong> – Each interaction is logged so you can see what was asked, what was answered, and which sources were used.</li>



<li><strong>Privacy-aware</strong> – Chats and logs stay in your WordPress database, with options for anonymised sessions and consent prompts and data retention policies to stay GDPR-compliant.</li>
</ul>



<hr class="widgetopts382995797 wp-block-separator has-alpha-channel-opacity"/>



<h4 id="h-free-and-pro-editions" class="widgetopts260729213 wp-block-heading">Free and PRO editions</h4>



<p class="widgetopts1906892814 wp-block-paragraph">When AnswerRails™ launches in <strong>January 2026</strong>, there will be:</p>



<ul class="widgetopts1444536395 wp-block-list">
<li>🟢 <strong>Free Edition</strong> – Core smart-linking, AI chat, local knowledge search, and privacy-compliant logging.</li>



<li>🔵 <strong>PRO Edition</strong> – Vector-store knowledge, analytics dashboard, and advanced compliance controls for teams that want deeper automation.</li>
</ul>



<p class="widgetopts229104377 wp-block-paragraph">Both are designed for small businesses that already use WordPress and want their websites to <em>help customers instead of hiding answers.</em></p>



<hr class="widgetopts1610955992 wp-block-separator has-alpha-channel-opacity"/>



<h4 id="h-why-this-matters" class="widgetopts1433052804 wp-block-heading">Why this matters</h4>



<ul class="widgetopts1219816392 wp-block-list">
<li>✅ <strong>Reduce repetitive support requests</strong></li>



<li>🔍 <strong>Link customers to verified content</strong></li>



<li>🧾 <strong>Keep full visibility and control</strong></li>



<li>🛡️ <strong>Stay compliant and privacy-safe</strong></li>
</ul>



<p class="widgetopts672224356 wp-block-paragraph">Whether you run a shop, service business, or local organisation, AnswerRails<strong>™</strong> helps your WordPress site speak clearly, safely, and in your own voice.</p>



<hr class="widgetopts582142109 wp-block-separator has-alpha-channel-opacity"/>



<blockquote class="widgetopts787555681 wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="widgetopts1216061696 wp-block-paragraph"><strong>You’ve already written the answers. AnswerRails™ makes sure people can find them — reliably, responsibly, and without extra overhead.</strong></p>
</blockquote>



<hr class="widgetopts1285907102 wp-block-separator has-alpha-channel-opacity"/>



<p class="widgetopts178698792 wp-block-paragraph"><em>(AnswerRails™ is in closed beta.&nbsp; Check back soon for more details)</em></p>


<p class="widgetopts425564198 ">        <div id="answerrails-chat-widget"
            class="answerrails-chat-minimized answerrails-launcher-pos-bottom-right answerrails-window-preset-standard"
            style="--ar-accent:#2563eb; --ar-accent-hover:#2157cf; --ar-accent-contrast:#ffffff; --ar-focus-ring:rgba(37, 99, 235, 0.12); --ar-focus-border:#2563eb; --ar-header-bg:linear-gradient(135deg, #2563eb 0%, #2157cf 100%); --ar-header-text:#ffffff; --ar-header-text-soft:rgba(255, 255, 255, 0.9);"
            data-ar-mode="light">
            <button type="button"
                class="answerrails-chat-button answerrails-launcher answerrails-launcher--size-comfortable answerrails-launcher--avatar answerrails-launcher--has-tagline"
                style="--ar-launcher-bg:#2563eb; --ar-launcher-text:#ffffff;"
                aria-haspopup="dialog"
                aria-expanded="false"
                aria-label="Open chat with Celtic3d – Chat with us">
                <span class="answerrails-launcher-media" aria-hidden="true">
                                            <span class="answerrails-launcher-avatar">
                            <img decoding="async" src="https://media.celtic3d.com/wp-content/uploads/2025/10/10160445/AnswerRails-W-02-150x150.png" alt="" />
                        </span>
                                    </span>
                <span class="answerrails-launcher-body">
                    <span class="answerrails-launcher-title">Celtic3d</span>
                                            <span class="answerrails-launcher-tagline">Chat with us</span>
                                    </span>
            </button>

            <div class="answerrails-chat-window"
                role="dialog"
                aria-labelledby="ar-chat-title">
                                <div class="ar-visually-hidden" aria-live="polite" id="ar-announcer"></div>
                <div class="ar-visually-hidden" role="status" id="ar-status"></div>
                                <span class="answerrails-resize-handle answerrails-resize-handle--left" data-ar-resize="left" aria-hidden="true"></span>
                <span class="answerrails-resize-handle answerrails-resize-handle--top" data-ar-resize="top" aria-hidden="true"></span>
                <span class="answerrails-resize-handle answerrails-resize-handle--corner" data-ar-resize="corner" aria-hidden="true"></span>
                <div class="answerrails-chat-header">
                    <div class="answerrails-chat-avatar">
                                                <img decoding="async" src="https://media.celtic3d.com/wp-content/uploads/2025/10/10160445/AnswerRails-W-02-150x150.png" alt="" />
                    </div>
                    <div class="answerrails-chat-info">
                                                <div class="answerrails-chat-title" id="ar-chat-title" role="heading" aria-level="2">How can we help you today?</div>
                        <div class="answerrails-chat-subtitle">Celtic3d</div>
                    </div>
                    <div class="answerrails-chat-actions">
                                                <button type="button" class="answerrails-chat-new" title="New conversation" aria-label="Start a new conversation">
                            <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" role="presentation">
                                <path d="M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 1 0 7.73 10h-2.08A6 6 0 1 1 12 6c1.66 0 3.15.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/>
                            </svg>
                        </button>
                        <button type="button" class="answerrails-chat-minimize" title="Minimize" aria-label="Minimize">
                            <span aria-hidden="true">−</span>
                        </button>
                    </div>
                </div>
                
                                <div class="answerrails-chat-messages" role="log" aria-live="off" aria-label="Conversation">
                    <!-- Welcome message will be added dynamically -->
                </div>
                
                <div class="answerrails-chat-input-area">
                                                                                        <div class="answerrails-consent-notice" style="display: none;">
                            <p class="answerrails-consent-text" id="ar-consent-text">This chat gives informal guidance only, it does not generate binding commitments. For a binding quote, please contact us directly at <a href="mailto:sales@celtic3d.com">sales@celtic3d.com</a>. By continuing, you consent to us logging the conversation for 180 days.</p>
                            <label class="answerrails-consent-agree">
                                <input type="checkbox" id="answerrails-consent-checkbox" autocomplete="off" aria-describedby="ar-consent-text">
                                <span>I agree</span>
                            </label>
                        </div>
                                        
                    <div class="answerrails-chat-input">
                                                                        <textarea
                            id="answerrails-message-input"
                            aria-label="Type your message..."
                            placeholder="Type your message..."
                            rows="1" maxlength="40960" disabled></textarea>
                        <button type="button" id="answerrails-send-button" aria-label="Send" disabled>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" role="presentation">
                                <path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/>
                            </svg>
                        </button>
                    </div>

                                        <div class="answerrails-composer-notice" id="ar-composer-notice" hidden></div>

                                                                    <div class="answerrails-chat-smallprint">
                                                                                            <button type="button" class="answerrails-consent-withdraw" style="display: none;">
                                    Edit consent                                </button>
                            
                                                                                            <div class="answerrails-recaptcha-attribution">
                                    This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy<span class="ar-visually-hidden"> (opens in new tab)</span></a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener noreferrer">Terms of Service<span class="ar-visually-hidden"> (opens in new tab)</span></a> apply.                                </div>
                                                    </div>
                    
                                                                    <div class="answerrails-chat-footer">
                            <div class="answerrails-powered-by">
                                Powered by <a href="https://answerrails.com" target="_blank" rel="nofollow noopener noreferrer">AnswerRails</a>
                            </div>
                        </div>
                                    </div>
            </div>
        </div>
        </p>
<p>The post <a href="https://www.celtic3d.com/making-your-website-answer-back-safely-and-reliably/">Making Your Website Answer Back — Safely and Reliably</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.celtic3d.com/making-your-website-answer-back-safely-and-reliably/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>3d Printing Services</title>
		<link>https://www.celtic3d.com/3d-printing-services/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=3d-printing-services</link>
		
		<dc:creator><![CDATA[Gavin Bain]]></dc:creator>
		<pubDate>Sat, 30 Aug 2025 12:05:00 +0000</pubDate>
				<category><![CDATA[Articles / Blog]]></category>
		<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[3d printing]]></category>
		<guid isPermaLink="false">https://www.celtic3d.com/?p=14263</guid>

					<description><![CDATA[<p>On-demand 3D printing, tailored to your project At Celtic3d, we make 3D printing simple. Most of our production is handled through our trusted manufacturing partner, giving us access to industrial-scale capacity, a wide choice of technologies and materials, and consistently high quality. Better still, when you need multiple identical copies of a part, you’ll benefit [&#8230;]</p>
<p>The post <a href="https://www.celtic3d.com/3d-printing-services/">3d Printing Services</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading" id="h-on-demand-3d-printing-tailored-to-your-project">On-demand 3D printing, tailored to your project</h3>



<p class="wp-block-paragraph">At Celtic3d, we make 3D printing simple. Most of our production is handled through our trusted manufacturing partner, giving us access to industrial-scale capacity, a wide choice of technologies and materials, and consistently high quality. Better still, when you need multiple identical copies of a part, you’ll benefit from generous quantity discounts.</p>



<p class="wp-block-paragraph">There is one trade-off: because of courier transit times, set-up costs per file and a minimum order value, this service is <strong data-start="839" data-end="886">not the best option for once-off small parts</strong>. For larger projects, prototypes or batches of parts, however, it’s an excellent fit.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="640" height="480" src="https://media.celtic3d.com/wp-content/uploads/2019/09/16203346/ASCO-build-wip5.jpg" alt="3d printed parts" class="wp-image-8196" srcset="https://media.celtic3d.com/wp-content/uploads/2019/09/16203346/ASCO-build-wip5.jpg 640w, https://media.celtic3d.com/wp-content/uploads/2019/09/16203346/ASCO-build-wip5.jpg 600w, https://media.celtic3d.com/wp-content/uploads/2019/09/16203346/ASCO-build-wip5-416x312.jpg 416w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-our-core-3d-printing-technologies">Our core 3D printing technologies</h2>



<h3 class="wp-block-heading" id="h-sls-selective-laser-sintering-pa12-nylon"><strong data-start="1023" data-end="1071">SLS (Selective Laser Sintering) – PA12 Nylon</strong></h3>



<p class="wp-block-paragraph">Our go-to process. SLS fuses fine PA12 powder layer by layer into strong, detailed parts.</p>



<ul class="wp-block-list">
<li><p data-start="1166" data-end="1248">No support structures needed → allows intricate, interlocking or organic shapes.</p></li>



<li><p data-start="1251" data-end="1315">A versatile, durable material with a slightly textured finish.</p></li>



<li><p data-start="1318" data-end="1381">Great choice for functional parts, prototypes and assemblies.</p></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="h-sla-stereolithography-resin"><strong data-start="1430" data-end="1465">SLA (Stereolithography) – Resin</strong></h3>



<p class="wp-block-paragraph">The next most popular option. SLA uses a light-cured liquid resin for superb detail.</p>



<ul class="wp-block-list">
<li><p data-start="1555" data-end="1608">Smooth surface finish, excellent for visual models.</p></li>



<li><p data-start="1611" data-end="1685">Can mimic some production plastics, ideal for product design prototypes.</p></li>



<li><p data-start="1688" data-end="1736">Wide range of resin properties to choose from.</p></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="h-fdm-fused-deposition-modelling-filament"><strong data-start="1794" data-end="1841">FDM (Fused Deposition Modelling) – Filament</strong></h3>



<p class="wp-block-paragraph">The odd one out. FDM prints by extruding melted plastic (e.g. PLA).</p>



<ul class="wp-block-list">
<li><p data-start="1914" data-end="1955">Best suited for larger, simpler shapes.</p></li>



<li><p data-start="1958" data-end="1998">Limited detail compared to SLS or SLA.</p></li>



<li>We don&#8217;t use this much, but if it&#8217;s needed for a project,  we will seek a solution through our manufacturing partners.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p>To contact us: email <a href="mailto:sales@celtic3d.com">sales@celtic3d.com</a> or phone +44 (0)7714 790161 (During business hours &#8211; GMT+0)</p>


<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.celtic3d.com/3d-printing-services/">3d Printing Services</a> appeared first on <a href="https://www.celtic3d.com">Celtic3d</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Application Monitoring using New Relic

Served from: www.celtic3d.com @ 2026-09-10 05:48:35 by W3 Total Cache
-->