Logo Andrii Sokolov
Open to work · Remote / Kyiv, Ukraine

AI Automation Engineer & LangGraph Systems Builder

I design and ship production multi-agent AI systems — LangGraph reasoning cores wired to n8n webhooks, Supabase and real business channels.

Founder and sole engineer of AgentUp — an AI automation platform where I built 10 production AI agents, the full website, every automation and the entire database from scratch.

10
Production AI agents
2
Years in AI automation
9
Channels & surfaces
100%
Built solo, end-to-end
About

Engineer who ships whole systems, not just prompts

I'm Andrii Sokolov, an AI automation engineer based in Ukraine. I build autonomous AI agents that live inside real business workflows — qualifying leads, generating content, handling support, syncing reviews and orchestrating each other.

My flagship is AgentUp, a full AI automation platform I created and run entirely on my own: a Python/LangGraph reasoning core, n8n as the webhook and I/O layer, a Supabase (PostgreSQL) database I modelled myself, a Chatwoot handoff layer and a hand-coded website with a client cabinet. Every agent, every table, every automation and every line of the frontend is mine.

I care about the parts that make agents actually production-grade: identity resolution across channels, allowlist-based database access, human-in-the-loop confirmation gates, anti-hallucination guards on tool calls and honest live testing against production — not demos that only work on a happy path.

At a glance

  • RoleAI Automation Engineer
  • ExperienceSince 2025 · 2 yrs
  • LocationKyiv, Ukraine · Remote
  • FocusLangGraph · Agents
  • LanguagesUA · RU · EN
Core skills

The stack I build production agents with

Every AgentUp agent runs on this stack — LangGraph reasoning cores driven by n8n webhooks, backed by Supabase and connected to real channels.

🧠

LangGraph Agent Design

Stateful graphs: context-load → LLM with bind_tools → tools node, with interrupt()-based human confirmation, per-thread failure limits and anti-hallucination guards on tool calls.

LangGraphPythontool-calling
🔗

n8n Orchestration

n8n as the pure I/O layer — webhooks everywhere: Telegram, Instagram, WhatsApp, Chatwoot and site widgets all flow through n8n into the core. Fan-in workflows, callback routing, credential control.

n8nwebhooksautomation
🗄️

Database & Backend

Self-designed Supabase/PostgreSQL schema — leads, contacts, dm_history, reviews, audit logs — with allowlist access control and a full tool-call audit trail. FastAPI services on Docker.

SupabasePostgreSQLFastAPI
🪪

Identity & Security

"One brain, many channels" identity resolution, bridge-token channel merging, IDOR/prompt-injection-safe tool design, HMAC-signed webhooks and stored-XSS hardening.

identityaccess controlsecurity
💬

LLM Integration

OpenRouter model tiering (cheap / medium / expensive) with cost-aware routing, Claude & Gemini, FLUX image generation, Tavily web search — matched to each task's complexity and budget.

OpenRouterClaudeGemini
🎨

Full-Stack Frontend

Hand-coded landing page and client cabinet (no framework): i18n, History-API routing, live Supabase data, billing, realtime chat — plus Docker, Traefik and nginx deploys.

HTML/CSS/JSDockerTraefik
Flagship project

AgentUp — an AI platform I built entirely myself

Not a course project. A live platform with a public site, a paying-client cabinet, 10 AI agents and a database I designed — every part built and deployed by me.

Live in production

AgentUp

agentup.agency

An AI automation platform for businesses. I own the whole stack end-to-end: the LangGraph reasoning core, the n8n webhook layer that carries every channel, the Supabase database, the Chatwoot handoff integration, the deploy infrastructure on a Hetzner VPS, and the full website with a self-service client cabinet.

01 The website

Hand-coded bilingual landing page — no framework, no builder. Chat widget, live Google reviews, GA4, Traefik + nginx deploy.

02 The client cabinet

A full personal dashboard: auth, live data, Paddle billing, file uploads with AI vision, admin inbox, onboarding tour and an AI copilot.

03 The database

A Supabase/PostgreSQL schema I modelled from scratch: leads, contacts, cross-channel history, reviews, knowledge base and a full audit log.

04 Every automation

All webhooks, cron jobs, publishing pipelines, notification fan-ins and channel bridges — orchestrated through n8n and the Python core.

The AI agents

10 production AI agents — recounted in full

Every one is a LangGraph reasoning core (or n8n AI agent) reached through n8n webhooks. Together they run the whole business — from first DM to closed lead, from content to support.

01

Unified Client Agent

client_agent · multi-channel brain

One agent, one memory across Instagram DM, Telegram, WhatsApp and the website chat. Qualifies leads, answers from the knowledge base, resolves identity across every channel and hands off to a human when ready.

LiveLangGraph4 channels
02

Site FAQ Assistant

site_assistant · anonymous consultant

The anonymous AI consultant embedded on the website. Answers visitor questions about the service in their own language and warms them toward a real conversation — no tools, no lead capture, pure Q&A.

LiveLangGraphFAQ / Q&A
03

Content Agent

content_agent · multi-platform

Generates posts for Instagram, Telegram, LinkedIn and X — each in its own tone and language — creates images with FLUX, shows a preview with approve / regenerate / cancel buttons, and publishes autonomously on schedule.

LiveLangGraph4 platformsFLUX
04

Lead-Gen Agent

leads_agent · outreach engine

Semi-autonomous prospecting: scans Telegram groups on a schedule, scores every message 1–10, verifies businesses with web search, queues candidates for approval and sends outreach through a dedicated userbot account.

LiveLangGraphscoringuserbot
05

Manager Agent

manager · orchestrator

The command center in the HQ Telegram group. Reads and writes the database through an allowlist, triggers other agents, generates reports and images, and gates every risky write behind human confirmation.

LiveLangGraph10 tools
06

Router Agent

router · intent classifier

The "agent inside the agent system": classifies intent from the HQ group and routes each request to the right specialist agent. The dispatcher that makes many agents behave like one coordinated team.

LiveLangGraphintent routing
07

Cabinet AI Agent

cabinet_agent · files & data

The paying client's private AI chat inside the cabinet. Reads uploaded files with vision (PDF, DOCX, XLSX, images), answers questions about the client's own data and drives their agent configuration.

LiveLangGraphvision
08

Tech Support Agent

cabinet_support_agent · support

The cabinet's support channel: an AI first responder that answers technical questions and cleanly hands off to a human through Chatwoot, keeping a single shared conversation history.

LiveLangGraphChatwoot
09

Admin Copilot Agent

cabinet_copilot_agent · read-only

A read-only assistant for me as the admin: reads a client's full context and writes onboarding briefs, but by design never writes to the database — a deliberate trust boundary, not a limitation.

LiveLangGraphread-only
10

Reviews Agent

reviews · reputation sync

Pulls new Google reviews on a cron, deduplicates and stores them in Supabase, notifies the team and feeds the live testimonials block on the website — closing the reputation loop automatically.

n8ncronGoogle Places
How it's built

The architecture behind every agent

The same pattern powers all 10 agents: n8n carries the I/O, a LangGraph core does the thinking, Supabase holds the data, Chatwoot handles human handoff.

Channel (IG / TG / WA / site) n8n webhook LangGraph core tools + Supabase reply / Chatwoot handoff

Graph pattern

load_context → agent (LLM + bind_tools) → tools, looping until done. Every tool call is logged, allowlist-checked and, where risky, gated behind human confirmation via interrupt().

One brain, many channels

A contacts + channel_identities model resolves the same person across Instagram, Telegram, WhatsApp and the site. Channels merge only through signed bridge tokens — never by guessing.

Allowlist access control

A single access-control layer decides exactly which tables and fields each agent can read or write. Anything not on the list is physically unreachable — no matter what the LLM is asked to do.

Injection-safe tools

Client-facing agents never take identity from the LLM's arguments — only from verified graph state — closing off IDOR and prompt-injection vectors by construction.

Cost-aware model tiers

Cheap / medium / expensive model tiers via OpenRouter, chosen per task. Simple classification runs on small models; orchestration and reasoning get the strong ones.

Honest production testing

Every feature is tested through the real path against production — real webhooks, real API responses, cleanup verified — not a mock that only passes the happy path.

Experience

2 years — from learning to a live platform

2026 — present

Founder & AI Automation Engineer — AgentUp

Designed and shipped a full AI automation platform solo: 10 production LangGraph/n8n agents, a Supabase database, a client cabinet and the whole website. Built the agent fleet on a Python/LangGraph core with identity resolution across channels, allowlist access control and human-in-the-loop confirmation.

2025

Diving into AI automation

Spent the year going deep on the field: LLM APIs and prompt engineering, LangGraph and agent design, n8n orchestration, Supabase/PostgreSQL and the deploy stack — building up the skills that AgentUp is now built on.

Let's build something autonomous

Open to AI engineering, automation and agent-development roles — remote or Kyiv-based. Let's talk.