AI that does a job, not a chatbot in the corner.
The bolted-on chat widget is the most common AI feature on the web and the least used. It sits in the corner, answers badly because it has no access to anything real, and gets quietly removed six months later.
The AI work that survives is embedded where people already are. Search that understands a question phrased badly. A summarise button in the editor. Ten thousand legacy articles tagged overnight instead of by an intern over three months. That is the work we take on.
- Search that answers questions
- Drafting help in the editor
- Summarising long documents
- Auto-tagging legacy content
- Classification and routing
- A chat widget with no data
- Generating content nobody edits
- Replacing a working search index
- Anything touching payments
- Features with no way to measure them
Five features, and what each one is actually for.
Every one of these has a measurable job. If a proposed feature has no way to tell whether it is working, that is usually a reason not to build it.
Semantic and RAG search
Search that retrieves from your own content and answers the question asked, rather than matching keywords and hoping. Works where a user knows what they want but not what you called it.
- Content embedded and indexed for meaning
- Retrieval before generation, with citations
- Respects existing content permissions
- Falls back gracefully when nothing matches
Editorial assistance
Drafting, rewriting, summarising, headline options and metadata generation, inside the CMS editor where authors already work rather than in a separate tool.
- Summaries, excerpts and meta descriptions
- Alt text suggestions for accessibility
- Tone and length adjustment on selection
- Every suggestion editable before it saves
Classification and tagging
The highest return work and the least exciting. Categorising, tagging and describing content at a volume nobody has the hours to do by hand.
- Auto-tagging large legacy libraries
- Alt text across an uncaptioned image library
- Routing enquiries to the right team
- Bulk cleanup during a migration
Summarisation at volume
Long documents, support tickets, research reports or transcripts turned into something a person can act on in thirty seconds.
- Document and report summaries
- Ticket and enquiry triage
- Meeting and call transcript digests
- Structured extraction into fields
Assistants worth having
Chat, but grounded in your documentation and content, with citations and a clear escalation path to a human when it should not be guessing.
- Answers only from your own content
- Citations on every claim
- Escalation when confidence is low
- Logged so you can see what is being asked
Evaluation and guardrails
The part that separates a demo from something you can leave running. Without it you cannot tell whether a prompt change made things better or worse.
- Test sets of real questions and good answers
- Regression checks before every release
- Cost ceilings and rate limiting
- Fallback behaviour when the API is down
Retrieval first, generation last.
Work out whether AI is the answer
A good number of AI enquiries are better solved by a properly configured Solr index, a cleaner taxonomy, or a fixed form. Those are cheaper to build and cheaper to run. We look for that first, and say so when we find it.
Prepare the content
This is where the time actually goes. Content is chunked sensibly, cleaned, and embedded, with permissions carried through so a retrieval step cannot surface something a user should not see. Poor content structure limits the result far more than model choice does.
Build retrieval before generation
The retrieval layer is built and tested on its own. If the right passages are not coming back, no amount of prompt work will fix the answer, and it is much easier to diagnose in isolation.
Evaluate against real questions
A test set of genuine user questions with known good answers, run before every release. This is what makes it possible to change a prompt or swap a model without guessing whether you made things worse.
Ship with limits and fallbacks
Cost ceilings, rate limiting, caching for repeated queries, and defined behaviour when the provider is slow or down. An AI feature that takes the page down with it is worse than no feature.
What clients ask about AI work.
Which models and providers do you use?
Will our content be used to train someone else’s model?
What is RAG and why does it matter?
How do you stop it making things up?
How much does running an AI feature cost?
Can you add AI to our existing Drupal or WordPress site?
How long does an AI feature take to build?
Do you use AI in your own development work?
What if AI is the wrong answer for our problem?
Can you build AI features white-label for agencies?
Tell us what is slow or manual.
Describe the task that eats your team’s time, or the search box that never returns anything useful. Within one working day you get a reply from the engineer who would build it.
Before anything is signed, you get a written technical assessment: the real scope, where the risk sits, what we would build differently and why, and a fixed price against it. It costs nothing and it is yours to keep either way.