AI solutions
AI solutions for business: chatbots, agents and automation built on your own data.
We build AI solutions that each do one defined job. A website chatbot that answers from your own content. An agent that qualifies a lead and books the call. A pipeline that reads documents and fills in your CRM. Each is built on current language models with retrieval, tool calling and guardrails, connected to the systems you already run, and tested against real questions before it goes live.
Since 2021 serving Canadian businesses
Vancouver based, working across Canada
Ella, the assistant on this site, is our own build
AI systems we build
Twelve AI solutions we build, from a website chatbot to agents that do the work.
Each card names the job and the techniques behind it. They are examples and not limits. If the task is repetitive, based on text, speech or documents, and has a clear right answer, it can usually be built.
Website AI chatbot
Answers visitor questions from your pages, documents and product data, and shows the source behind each answer.
RAG · embeddings · vector search
Lead qualification and booking agent
Asks what your sales team would ask, scores the lead, writes it to your CRM and offers a call slot.
Tool calling · structured output · CRM and calendar APIs
Customer support assistant
First-line answers from your help content and order data, with a handoff to staff when it is unsure.
RAG · order lookup tools · human handoff
Internal knowledge assistant
Staff ask in plain language and get answers from policies, manuals and past tickets, limited to what their role may see.
Private index · role-based access · single sign-on
Document processing
Invoices, forms, resumes and contracts read into structured fields and pushed to the system that needs them.
OCR · vision models · JSON schema validation
Workflow automation agents
Multi-step jobs: read the email, find the record, draft the reply, wait for a person to approve it.
Agents · webhooks · approval steps
AI search and product recommendations
Site and WooCommerce search that matches meaning and not only keywords, with suggestions based on what is in the cart.
Semantic search · embeddings · WooCommerce hooks
Content and SEO pipelines
Product descriptions, meta data, summaries and translations generated to your style guide and held for human review.
Prompt templates · batch jobs · review queue
Voice and phone agents
An assistant that answers calls after hours, takes a message or books the appointment, and sends you the transcript.
Speech to text · text to speech · telephony APIs
Email and ticket triage
Incoming messages classified by topic and urgency, routed to the right person, with a suggested reply attached.
Classification · sentiment · routing rules
Data and reporting assistant
Ask which products sold best in March and get the number from your own database, with the query shown.
Text to SQL · read-only access · query log
AI features in your app or plugin
Summarize, translate, extract or generate inside the software you already have, behind your own interface.
OpenAI, Anthropic and Google APIs · streaming · caching
How it works technically
How an AI chatbot answers from your data: the architecture.
This is retrieval-augmented generation, usually shortened to RAG. It is the pattern behind most useful business chatbots, and the same parts are reused for agents, search and document processing.
Ingest
Pages, PDFs, product data and help articles are pulled from your site and files, cleaned, and split into passages of a few hundred words.
Embed and index
An embedding model turns each passage into a vector, stored in a vector index. When content changes, only the changed passages are indexed again.
Retrieve
The visitor’s question is embedded the same way and the closest passages are fetched, filtered by what that user is allowed to see.
Generate
The language model receives the question, the passages and the rules. It answers from the passages, cites them, and says so when the answer is not there.
Act
If the job needs an action, the model returns a structured tool call, such as create a lead or look up an order. Your server validates it and runs it. The model never touches your systems directly.
Guard and log
Sensitive strings are redacted before anything leaves your server. Rate limits and a token budget cap the cost. Every exchange is logged for review.
The technical stack, component by component
| Component | What we use | Why it matters |
|---|---|---|
| Language models | OpenAI GPT, Anthropic Claude and Google Gemini through their APIs. Open models such as Llama and Mistral when self-hosting is required. | Chosen per task, and swappable without a rebuild. |
| Retrieval | Embedding models with a vector index: pgvector in PostgreSQL, or a hosted store such as Pinecone or Qdrant. | Answers come from your content, with sources. |
| Actions | Function and tool calling with JSON schema validation, executed in server-side code. | The model proposes, your code decides. |
| Guardrails | System prompt rules, topic limits, redaction of card numbers and secrets, output checks, human handoff. | Limits what it can say and what it can leak. |
| Cost controls | Rate limits per visitor, monthly token budget with a hard cap, response caching, small models for simple steps. | Running cost stays predictable. |
| Evaluation | A test set of real questions with expected answers, run before each prompt or model change. Conversation logs for review. | Changes are measured before they go live. |
| Integrations | WordPress, WooCommerce, Gravity Forms, CRMs, calendars and any system with a REST API or webhooks. | It works inside what you already run. |
| Interfaces | Website chat widget, guided planner flows, WordPress admin screens, email, SMS and voice. | The same back end serves each channel. |
| Privacy | API keys held server-side, minimum data stored, AI clearly labelled, built with PIPEDA obligations in mind. | Visitors know what they are talking to. |
What every AI build includes
Eight things that separate a production AI system from a demo.
A demo that answers five friendly questions takes an afternoon. A system that real customers can use without embarrassing you takes the work on this list, and this is what your quote covers.
A defined job and a test set
A written scope of what the system does and does not do, plus a set of real questions with the answers you expect. The build is measured against that set.
Answers grounded in your data
Retrieval-augmented generation: the model is given the relevant passages from your content and told to answer from them, and to say so when the answer is not there.
Guardrails
Rules in the system prompt and in code for what it may discuss, what it never says, such as prices or legal advice, and when it must stop and offer a person.
Personal data handling
Card numbers and similar strings are stripped before a message leaves your server, API keys stay server-side, and only the data the job needs is stored.
Connected to your systems
Tool calling lets the model create a lead, look up an order or book a slot through your CRM, WooCommerce or calendar API, with every call validated in code.
Cost controls
Rate limits per visitor, a monthly token budget with a hard cap, response caching, and the smallest model that does each task well.
Human handoff
When the system is unsure, or the visitor asks, the conversation goes to a person with the transcript attached, so nobody has to repeat themselves.
Logs and evaluation
Conversations are logged for review, and the test set is run again before every prompt or model change, so an improvement in one place does not break another.
Always labelled as AI
Every assistant we build tells people they are talking to software and offers a person when they ask for one.
Running on this site
Ella, the assistant on this website, is one of our builds.
We did not buy a chat widget. Ella is a WordPress plugin we wrote, and it runs on the same parts described above. Open the chat in the corner, or try the planner, and you are testing our work.
How Ella is built
- A large language model (LLM) called from our server, with the API key never exposed to the browser
- Tool calling to save a lead once the visitor has given their details, and to check domain names live
- Card numbers and obvious secrets stripped before a message is stored or sent to the model
- Rate limits per visitor and a monthly token budget with a hard cap
- Guided planner flows for each service, editable as plain text in the WordPress admin
- Connected to our CRM, billing and other internal systems, so a lead or a hosting question lands where the team already works
- Leads saved in WordPress and emailed to the team
- Labelled as a virtual assistant, and instructed never to quote prices or dates
Not sure what AI could do for you?
Tell Ella where the time goes. Ella will outline the AI system that would take it over.
Six quick questions about the task, the data behind it and the systems it touches. You get a plain-words outline of a first version: what it would answer or do, what it needs access to and where a person stays in the loop. Two minutes, no obligation.
Ella is automated and can make mistakes. Your written quote from a project lead is the final word.
How it works
From idea to a working AI system in four steps.
A focused chatbot on one body of content is usually a two to four week build. Agents that act in several systems take longer. Your quote shows the real dates.
01
Use case and data review
You send us the details: the task, who uses it and what a wrong answer would cost. We look at the content and systems behind it and tell you if AI is the right tool. You get a fixed price within one business day.
Day 1 to 2
02
Prototype on your real data
We index a sample of your content, write the first prompts and put a working prototype in front of you. You ask it your hardest questions and we collect them into the test set.
Week 1 to 2
03
Guardrails, integrations and testing
Tool calls are connected to your CRM, store or calendar on a staging copy. Limits, redaction and handoff are added, and the test set is run until the results are ones you would sign.
Week 2 to 4
04
Launch, watch and tune
The system goes live with logging on and a budget cap set. We review real conversations in the first weeks, fix the misses, and re-index when your content changes.
Launch week and after
What it costs
A fixed build price, and running costs you can see.
We do not publish one price because a chatbot over your FAQ and an agent that acts in three systems are different jobs. What we do promise is a written quote within one business day, with the build price fixed and the expected monthly usage stated.
What moves the price
How many data sources it reads, how many systems it can act in, how much of your content needs cleaning first, and how strict the testing has to be.
Payment plans up to 24 months
Pay by milestone, or spread the cost over up to 24 months. Credit and debit cards and bank transfer are both fine.
Model usage is billed by use
Language models charge per token. Your quote estimates the monthly usage from your traffic, and the system ships with a budget cap so the bill cannot run away.
Questions
What owners ask about AI chatbots and automation.
If yours is not here, the full list is one click away, or just pick up the phone.
Still have a question?
Call us on a weekday, or send a note and we will get back to you within one business day.
Which AI models do you build on?
We build on the OpenAI, Anthropic Claude and Google Gemini APIs, and on open models such as Llama and Mistral when the data has to stay on your own servers. The model is chosen per task, with a small, fast one for classification and chat and a larger one where reasoning matters. The code is written so the model can be swapped without rebuilding the system.
Will an AI chatbot make things up?
Any language model can make things up, so we lower the risk in four ways. The model answers from retrieved passages of your own content, it is instructed to say when the answer is not there, risky topics are blocked, and a test set of real questions is run before every change. We do not promise zero mistakes. That is why every assistant is labelled as AI and can hand over to a person.
Is our business data used to train the AI model?
Under the business API terms of the major providers at the time of writing, data sent through the API is not used to train their models by default. We check the current terms of the provider chosen for your project and state them in the quote. Where that is not enough, the system can run on an open model hosted on your own infrastructure.
Does an AI chatbot work with WordPress and WooCommerce?
Yes, our AI chatbot works with WordPress and WooCommerce. On WordPress the system ships as a plugin with its own settings screen, so prompts, limits and knowledge can be edited in the admin. It can read pages, products and orders, and write leads into Gravity Forms or your CRM. On other platforms the same back end is connected through a small JavaScript widget and an API.
What does an AI chatbot cost to run each month?
The monthly running cost of an AI chatbot depends on how many conversations it has, how long they are and which model answers them. Providers charge per token, which is roughly per word read and written. Your quote includes an estimate based on your traffic, and the system is built with rate limits and a monthly budget cap, so there is a known ceiling.
What happens when the AI assistant cannot answer a question?
The assistant says it cannot answer. It is instructed not to guess when the retrieved content does not cover the question. It then offers to take the visitor’s details or pass the conversation to a person, with the transcript attached. Those unanswered questions are logged, and they are the best list of what to add to your content next.
Start today
Tell us what you want AI to take over. A project lead replies within one business day.
Two minutes to fill in, no obligation. Describe the task in your own words: who asks, what they ask, and where the answers live today. You get a written quote with a fixed build price and an estimate of the monthly usage.
- Built on your own content and systems
- Tested against your real questions before launch
- Usage capped by a monthly budget
"*" indicates required fields




