AI automation · Agentic workflows · LLM pipelines

AI automation that runs unattended, with humans approving what matters.

Not a chatbot. Systems that do the work: pipelines that generate, judge and publish content on a schedule; coding agents that turn a Jira or GitHub issue into a reviewed pull request; workflows that watch, decide and act across your tools, and stop to ask a human before anything irreversible. Built on Claude, OpenAI and n8n, with guardrails and audit trails baked in.

Fixed-price pilot in two to four weeks · Runs in your cloud · Reply within one business day

Models
Claude · OpenAI · open-weight
right model per step
Human in the loop
Signed one-click approvals
Discord · Slack · Telegram
Guardrails
Caps, cooldowns, cost ceilings
enforced in code, not prompts
Visibility
Every tool call logged
streamed + audit table
What we build

Six kinds of automation, one engineering standard

Each one ships as a containerised service in your cloud, with tests around the decisions, a runbook, and monitoring that pages someone when it stops.

LLM content & data pipelines

Generate, transform or classify at volume: marketing content, product descriptions, ticket triage, document extraction, lead enrichment. Every output passes an LLM-as-judge rubric before it goes anywhere, and rejected items are regenerated or escalated, never silently published.

Claude Opus / SonnetDALL·ELLM-as-judge

Coding agents for your repositories

Agents built on the Claude Agent SDK that pick up a Jira, GitHub, GitLab or Bitbucket issue, work in a checkout of your repo, open a pull request, respond to review comments, and run your deploy pipeline once a human approves the merge. Every tool call is streamed to a channel so the team sees what the agent is doing in real time.

Claude Agent SDKGitHub / GitLab / BitbucketJira

Workflow orchestration

Self-hosted n8n for scheduling, branching, retries and SaaS connectors, calling small typed services for the steps that need models, media processing or your database. Non-engineers can read the workflow; engineers can test the parts that matter.

n8nFastAPI / GoPostgreSQL

ChatOps & human-in-the-loop approvals

Irreversible actions wait for a person. The automation posts a preview to Discord, Slack or Telegram with HMAC-signed approve, reject and edit links, plus a web dashboard for the backlog. One click, no login, no way to forge it.

Discord / Slack / TelegramHMAC action links

Rule engines & deterministic automation

Not everything needs a model. Event-driven rule engines with auto-execute versus approval-required policies, regex intent parsing, keyword classification with LLM escalation only for edge cases. Cheaper, faster, testable, and often more accurate than a prompt.

Policy engineAudit trail

Media generation & publishing

Image generation, text compositing, programmatic video with ffmpeg, and publishing to platform APIs including single posts, carousels, stories and reels. Credential lifecycle handled: long-lived tokens rotate on a schedule, not when they expire at 2am.

ffmpegPillowMeta Graph API
How we keep it safe

Automation you can leave running

A demo that works once is easy. An automation that runs for months without embarrassing you needs the boring engineering: limits in code, approvals for anything irreversible, and a record of every decision. These are the rules every system we ship follows.

Right model per stepA strong model where judgement is needed, a cheap one for classification, none where a rule works. Cost drops by an order of magnitude and quality goes up.
LLM-as-judgeA second model scores every output against an explicit rubric and routes it to approve, regenerate or reject. Nothing ships on the first model's word alone.
Limits in codeDaily caps, minimum intervals, retry budgets, cost ceilings and idempotency keys live in the service and the database, where a prompt cannot talk its way past them.
Approval for the irreversiblePublishing, merging, deleting, paying and messaging customers wait for a signed human click. Everything else runs on its own.
Least privilegeEach agent has its own working directory, its own credentials and only the permissions its job needs. A content agent cannot touch your repo; a coding agent cannot post to your customers.
Full visibilityEvery tool call, model call, approval and outcome is streamed to a channel and written to an audit table. When something goes wrong you can see exactly what happened and replay it.
Secrets and dataAPI keys in a secret store, never in code or prompts. Data that must stay in your network goes to a self-hosted model. Everything runs in your cloud account.
Built and operated

Three systems we designed, built and ran ourselves

Our own products and internal tooling, described exactly as built. Client engagements are available as references on request.

Multi-page social content pipeline

n8n · FastAPI · Claude Opus & Sonnet · DALL·E 3 · ffmpeg · Discord
An unattended pipeline running several Instagram pages from a per-page theme. On a schedule, n8n fetches active pages from PostgreSQL, checks each page's daily cap and cooldown, and calls a Python microservice that has Claude Opus write the caption, hashtags and image prompt, DALL·E render the image, and Pillow overlay the text. A second Claude call acts as a brutally honest judge, scoring hook, relevance, caption, visual and hashtags on a rubric and returning approve, regenerate or reject. Approved posts, carousels, stories and ffmpeg-rendered reels go to a Discord channel as previews with HMAC-signed one-click approve, reject and post links, backed by a web approval dashboard. Comment moderation runs regex patterns first and escalates edge cases to Claude Sonnet. A cron job rotates the 60-day platform tokens monthly.
What it demonstrates
  • Generate → judge → approve → publish, end to end
  • Two-model economics: Opus creates, Sonnet classifies
  • Per-page caps, cooldowns, retry budget, A/B variants
  • Signed ChatOps approvals with a dashboard fallback
  • Programmatic video and image compositing
  • Unattended credential rotation

Coding agents driven from Discord

Claude Agent SDK · Node.js · Docker · Express
Our internal developer tooling. Each repository gets a pair of Discord channels: a message in the input channel becomes an agent turn running in that project's working directory via the Claude Agent SDK; the agent's reasoning and every tool call it makes stream back to the output channel in real time. Sessions persist and resume per project, concurrent requests queue rather than collide, and a small web control plane exposes state, queue depth, last tool use and last error. The container mounts the repositories and the Docker socket, so agents can build, test and redeploy services, which is how several changes to this very site were shipped. It is the foundation we use to connect agents to GitHub, GitLab, Bitbucket and Jira for issue-to-pull-request workflows.
What it demonstrates
  • Long-running, resumable agent sessions per project
  • Full tool-use visibility for the whole team
  • Agents that build and deploy, not just suggest
  • Chat as the control surface for engineering work
  • Basis for Git and Jira integrated developer agents

Deterministic automation inside WebGuardian

Go · PostgreSQL · gRPC · Vue
Our monitoring and security platform automates without a model where a model would be the wrong tool. A remediation engine evaluates every security event and vulnerability against user-defined policies and either executes the configured action on the target agent automatically or places it in an approval queue, with rate limits, cooldowns and a full audit trail of every decision. A compliance module ingests standard operating procedures, classifies them by weighted keyword categories, and generates policies, KPIs and task lists as PDF. Search accepts natural-language queries and parses them with rules into structured filters, instantly and for free. The lesson we bring to client work: use the LLM for judgement, use code for everything that has a right answer.
What it demonstrates
  • Auto-execute vs approval-required policy engine
  • Audit trail on every automated action
  • Document ingestion → structured output → PDF
  • Knowing when not to use a model
How an engagement runs

From workshop to a workflow you can leave running

We start with one workflow, not a platform. A pilot proves the value and the guardrails on real data; then we extend to the next process or hand it over.

01
Discovery workshop, half a day. Map the process, the systems it touches, the decisions a model should make and the ones a human must. Output: a one-page design and a fixed price for the pilot.
02
Pilot, two to four weeks, fixed price. One production-grade workflow in your cloud: scheduled, guarded, approved, logged, monitored. Weekly demo on real data.
03
Harden and extend. Tune rubrics and limits from the pilot's audit log, add the next process, connect more systems. Time and materials or fixed scope.
04
Hand over, or retain. Runbook, cost report, model-swap guide, walkthrough for your team. Optional monthly retainer to operate it and keep up with model changes.
Stack

What we build with

Models & agents
Anthropic Claude
Claude Agent SDK
OpenAI (DALL·E, GPT)
Open-weight models, self-hosted
Orchestration & services
n8n
Python / FastAPI
Go · Node.js
PostgreSQL
Integrations
GitHub · GitLab · Bitbucket
Jira
Discord · Slack · Telegram
Meta Graph API
Media & ops
ffmpeg · Pillow
Docker · Kubernetes
Prometheus · Grafana · Loki
Your cloud: GCP · AWS · Azure

Rates depend on scope. Ask, and you get a pilot price within a business day.

FAQ

Questions about AI automation

What is an agentic workflow?

An agentic workflow is an automated process in which a language model does not just generate text but takes actions: it calls tools, reads and writes files, queries APIs, opens pull requests or posts content, then checks the result and decides the next step. The difference from a chatbot is that the output is a completed task, not an answer. The difference from a script is that the model handles the judgement calls a script cannot.

Should we use n8n or custom code?

Both, usually. n8n is excellent for scheduling, branching, retries and connecting SaaS tools without writing glue code, and non-engineers can read the workflow. Anything involving model calls, judgement rubrics, media processing or your own database belongs in a small service that n8n calls over HTTP. We build that split: n8n for orchestration, a typed service for the parts that need tests.

How do you stop an agent from doing damage?

Four layers. Scope: each agent runs in its own working directory and account with the minimum permissions for its job. Gates: irreversible actions such as publishing, merging, deleting or paying require a human approval, delivered as a signed one-click link in Discord, Slack or Telegram. Limits: daily caps, cooldowns and cost ceilings are enforced in code, not in the prompt. Visibility: every tool call the agent makes is streamed to a channel and written to an audit table, so you can see exactly what it did and why.

What do the LLM calls cost to run?

Less than most people expect when the pipeline uses the right model for each step. A strong model such as Claude Opus for the creative or reasoning step, a cheaper model such as Claude Sonnet for classification and moderation, and no model at all where a regex or a rule does the job. A content pipeline producing several posts a day across multiple pages typically runs for a few euros a day. We report per-run cost and set hard ceilings.

Which models and providers do you work with?

Anthropic Claude for generation, judgement and coding agents via the Claude Agent SDK; OpenAI for image generation and where a client already has a contract; open-weight models when data must stay on your infrastructure. We are not tied to a vendor and we design so the model behind a step can be swapped.

Can this run inside our own cloud?

Yes. Everything we build is containerised and runs in your cloud account or on your servers. Model calls go to the provider you choose under your own API keys, and data that must not leave your network can be routed to a self-hosted model. You own the code, the workflows and the data.

How long does a pilot take?

Two to four weeks for one production-grade workflow, after a discovery workshop. Production-grade means it runs on a schedule, has guardrails and approvals, logs what it did, and someone gets paged when it fails. A demo takes an afternoon; a pilot is the thing you can leave running.

Contact

Tell us which process you'd automate first

Describe the process, the systems it touches, and where a human has to stay in the loop. An engineer replies within one business day with a workshop slot and a pilot estimate.

NDA on request · Runs in your cloud · You own everything

We use what you send only to reply to you. No newsletters, no sharing. See the privacy policy.