AI agent development

Custom AI agents that connect to your systems, follow your rules, and ship to production — not to a vendor's dashboard.

We design and build AI agents that read from your CRM, write to your ERP, query your databases, and trigger your workflows. Orchestrated with n8n, reasoning on the model that fits the job, deployed to infrastructure you own.

n8n orchestration GPT-4o · Claude · open-source pgvector memory You own the code
agent.runtime · live
ready
CRM salesforce · hubspot Database postgres · pgvector ERP acumatica · quickbooks Slack channels · DMs Email gmail · outlook Internal APIs rest · graphql AGENT · v1.4.2 your_agent.run() orchestration · reasoning · memory
read() write() trigger() remember() search() decide()
What we've learned

Three patterns we keep seeing on agent projects.

We've built and inherited a number of agent systems by now. The same three problems show up in nearly every conversation — and all three are solvable with engineering, not with a different vendor demo.

01

Off-the-shelf agents stop at the boundary of generic tasks

Most agent products handle summarisation and email drafting well. The moment a workflow needs your pricing logic, approval chain, customer tier, or compliance rules, the agent fills the gap with confident guesses. Adoption breaks in the first weeks.

02

Internal builds underestimate the long tail

Prompt chains are the easy part. The work that absorbs roadmap time is evaluation, retries, prompt drift, token accounting, vector store maintenance, and integration plumbing — none of which moves your core product forward.

03

Without real integrations, an agent is a chatbot

An agent that can't read your CRM, update your ERP, query your database, or trigger your workflows is a conversational shell. The integration layer — auth, idempotency, retries, audit — is where most of the engineering actually lives.

What we build

The six components every production agent needs.

Every Voyantt agent is built on the same backbone. Substitute models, tools, or data sources — the backbone keeps the system inspectable and supportable.

01 · orchestration

Multi-step orchestration with n8n

Your agent decides what to do, calls the right tools, handles branching logic, and manages retries. The workflow lives in n8n so your team can inspect and modify it without touching application code.

n8nworkflowsretriesaudit log
02 · reasoning

Model selection — GPT-4o, Claude, open-source

We pick the model that fits the job, cost profile, and data-residency requirement. Prompts are versioned, outputs are validated against schemas, and you can swap models when something better lands.

gpt-4oclaudellamaschema validation
03 · memory

Persistent memory on pgvector

Your agent remembers context across conversations and sessions — user preferences, prior decisions, document references — kept in Postgres with pgvector so it sits inside your existing data stack.

pgvectorpostgressemantic search
04 · retrieval

Hybrid search with Qdrant

When the agent needs to search large datasets — documents, calls, profiles — we deploy Qdrant for hybrid vector + keyword retrieval. We've run this at 330M-record scale in under 200ms.

qdranthybrid search<200ms330M
05 · integrations

Read, write, and trigger across your stack

Salesforce, HubSpot, Acumatica, QuickBooks, Slack, internal REST and GraphQL APIs — whatever the workflow touches. Idempotent writes, audit logs, and least-privilege access by default.

restgraphqloauthidempotent
06 · deployment

Deployment on your infrastructure

Agents deploy to AWS, Hetzner bare-metal, or your existing infrastructure. Multi-tenant if you're shipping to customers, single-tenant for internal use. Monitoring, logging, and alerting included.

awshetznermonitoringalerts
Recent work

Agents we've built and put into production.

Three production agents, all running today. Each one started as a focused workflow and grew under the same engineering discipline — not a tool-shop, not a notebook experiment.

natural-language → SQL shipped

Plain-English query agent

A query agent that lets non-technical users ask questions of a structured database in English. The agent parses intent, generates safe SQL against a read-only view, validates the query, runs it, and returns formatted results — with every column it touched cited in the response.

show claims over $50k filed last week in florida
// generated SQL — read-only view
SELECT id, amount, claimant FROM v_claims WHERE amount > 50000 AND state = 'FL' AND filed_at >= NOW() - INTERVAL '7 days';
↳ 23 rows · 142ms
GPT-4oPostgreSQLschema-aware promptsread-only views
vector + keyword retrieval shipped

Search agent over 330M records

An AI search engine indexing 330M+ professional profiles, returning the top matches in 50–200ms on a single bare-metal node. The agent layer interprets the query, decides which retrieval strategies to combine, and surfaces results with confidence and source context.

q · "ml engineer · series B · berlin"
0.94M. Aydın · Berlin · Series B SaaS
0.91T. Voss · Berlin · ML infra · 6yr
0.88S. Kowalski · Warsaw → Berlin · 4yr
0.84L. Rossi · Berlin · CV/NLP · post-A
0.81N. Patel · Munich · LLM eval · 5yr
5 / 330,142,801 results184ms
QdrantPythonembedding pipelineHetzner bare-metal
calls · sentiment · summaries shipped

Contact-centre analytics agent

An agent that ingests every customer call, transcribes it, extracts a structured summary, scores sentiment, and surfaces recurring complaint patterns. Managers ask in plain English — "show me upset customers from last week" — and get calls, quotes, and adjuster handoffs.

upset customers about delayed payouts, last 7 days
#CALL-22841 · 4m 12s
Escalated 3 times re: water-damage payout.
#CALL-22906 · 7m 03s
Cited ombudsman; missed callbacks on property claim.
#CALL-22987 · 2m 41s
Promised payout date missed; asked for confirmation.
WhisperGPT-4on8n pipelinespgvector
Our stack

The technology, layer by layer.

Nothing exotic — proven components held together with engineering discipline. We swap individual pieces when your environment demands it.

LayerDefault picksWhy it's there
Orchestrationn8nWorkflow definition, retries, branching, audit. Inspectable by your team.
ReasoningGPT-4o · Claude · Llama · MistralSelected by task, latency, cost, and data residency. Versioned prompts.
MemoryPostgres + pgvectorPersistent context across sessions. Sits inside your existing data stack.
RetrievalQdrant · pgvector · hybridVector + keyword search. Proven at 330M-record scale.
IntegrationsREST · GraphQL · webhooks · OAuthIdempotent writes, audit logs, least-privilege access.
RuntimePython · Node.jsWhichever fits the rest of your stack. We default to Python for AI.
InfrastructureAWS · Hetzner · CloudflareAWS for compliance regions; Hetzner bare-metal where cost matters.
ObservabilityLogging · alerting · usage metricsPer-decision traces, token accounting, downstream call audits.
How we work

From brief to operating agent in weeks, not quarters.

Four phases. One focused workflow at a time. Production is planned around the team that will own it — not pushed onto them at the end.

01Days 1–3

Brief

30-minute call. You describe the workflow, the systems already in play, and what 'good' looks like. We come back with a focused scope or refer you elsewhere if we're not a fit.

02Weeks 1–3

Prototype

One agent, one workflow, one model — running against your real data. You see how it behaves before any production conversation begins.

03Weeks 4–10

Productionise

Integrations, observability, guardrails, deployment. Weekly demos, written status, decisions captured. Code lands in your repository as we go.

04Ongoing

Operate

Phased rollout to real users, monitored. We stay on for support, hand it to your team, or both — whichever matches your operating model.

Tell us about your agent

Describe the workflow. We'll come back with what we'd build.

A few lines is enough — what the agent reads, what it decides, what it should do next. We reply within one business day with a scope, a model recommendation, and an honest cost range.

  • One focused workflow at a time
  • Models picked for fit, not fashion
  • Deployed to infrastructure you own
  • Code, prompts, and pipelines hand over with the agent
Prefer email?
[email protected]
Agent brief

    NDA available on request · we never share your details

    Common questions

    What teams ask before briefing us.

    Scope & ownership

    You do. Code lands in your repository as we build it. Prompts and orchestration definitions hand over with the agent. We can keep operating it on your behalf or pass it cleanly to your team — your decision, not a contract clause.

    For a focused first agent — one workflow, one or two integrations — we can scope to a fixed budget after the brief. Broader work is dedicated-team because requirements move as the system meets reality.

    Models & data

    GPT-4o and Claude for most reasoning work; open-source models (Llama, Mistral) when fully self-hosted inference is required for cost or residency. We architect for swap-ability so the choice isn't locked.

    Four layers: input filtering, prompt constraints, output validation against structured schemas, and least-privilege access to downstream systems. Every agent decision is logged with its inputs and reasoning; nothing writes to a system of record without a validation step.

    On AWS (EU regions for European clients) or bare-metal Hetzner infrastructure in EU regions (Frankfurt by default). EU data stays in the EU when contracts require it.

    Operating the agent

    A working prototype against your real data takes two to three weeks. A production-ready agent typically lands in eight to ten weeks, depending on how many integrations are in scope.

    Either side. We can run it on infrastructure you own, hand the runbook to your platform team, or stay on as a support engagement — whichever matches your operating model.