Alexander Dubkov — AI Automation Engineer

AI Automation Engineer

I build AI systems that actually do things.

I design and deploy AI agents, automated workflows, internal tools, and infrastructure that turn repetitive processes into working systems.

Agentic Systems · Business Automation · AI Infrastructure

AI Agents Automation LLMs APIs Infrastructure
Fig. 01 — Agent topologySchematic
USER AI AGENT TOOL LOOP · CONTEXT · MEMORY TELEGRAM LLM NOTION · CRM CALENDAR SERVER · DOCKER DATA ACTION
User → Agent → Tools → Data → Action From messy workflows to autonomous systems

Selected systems

15 builds · agents, learning, infrastructure

01 AI Agent · Finance · Automation

Personal finance turned into a conversation.

Personal Finance AI Analyst

I built and deployed an AI financial analyst that manages my personal finance workflow through a conversational interface. The system works with financial data across six bank accounts and allows me to record expenses directly through a Telegram bot using text or voice.

Transactions are processed, structured, confirmed, categorized, and stored in Notion as the centralized source of truth. The agent analyzes spending patterns, identifies the categories responsible for the largest expenses, highlights opportunities for optimization, and estimates expected spending for the following month.

Instead of maintaining spreadsheets manually, I turned financial management into a workflow I can interact with naturally every day.

0bank accounts Telegram interface Voice and text input Transaction confirmation Automatic categorization Notion database Spending analytics Monthly forecasting

Hermes Agent · DeepSeek · Telegram · Notion · APIs · OAuth

Fig. 02 — Expense captureIllustrative UI

Telegram · 21:14

€42.80 groceries at Continente

Agent→ Categorize→ Notion→ Analytics
Spend by week · demo Forecast ▲ next month
W1W2W3W4W5W6W7Fcst
02 Internal Product · CRM · Business Analytics

A CRM that shows whether the business actually makes money.

I designed and built a custom CRM and business management platform for a robotics and technology school. The system centralizes customers, students, groups, payments, salaries, rent, and operational expenses.

Instead of functioning only as a contact database, the CRM acts as a business control panel. It automatically calculates revenue, operating expenses, teacher salaries, rental costs, profit, and profitability by individual student group.

Group-level economics makes it possible to identify which classes are profitable and which require changes in occupancy, pricing, scheduling, or costs — turning fragmented operational data into a single interface for day-to-day business decisions.

It keeps evolving with the business: each payment is now tied to a specific group, revenue is recognised as lessons are actually delivered, rent is tracked per studio, teacher rates can be set per teacher and per studio, and groups can meet on several days a week. It tracks client balances and debts, works on mobile, and gives the AI admin agent its own account with limited rights and API access. A multi-tenant version for other schools is in preparation.

School CRM — business control panel Demo data

Revenue

€24 600

Expenses

€17 150

Profit

€7 450

Active groups

12

Students

86

Profitability by group

Robotics APROFITABLE
Arduino BPROFITABLE
Python ANEAR BREAK-EVEN
3D DesignLOWER MARGIN

Modules

Customers Students Groups Payments Revenue analytics Salary calculation Rental costs Expenses Profit Group profitability Business dashboard Earned revenue Multi-day schedules Teacher rates Payments by group
03 Product · Integration · CRM

A salesperson's own Telegram, inside the CRM deal card.

AmoTg — amoCRM ↔ Telegram integration

Live product page ↗ amotg.koval.work · in Russian

Small sales teams often talk to clients from personal Telegram accounts, so those conversations never reach the CRM — and standard connectors only work with bots. I built AmoTg: it connects a real Telegram account to amoCRM through the MTProto protocol and the amoCRM Chats API. Every private conversation appears in the deal card, and managers can reply or write first without leaving the CRM.

It started as an internal tool for a school and grew into a product line: a sales landing page with lead capture; a portable deployment kit for client installations, either on the client's own server or hosted on mine with a separate container, network and encryption key per client; and a multi-tenant version with an in-CRM widget, OAuth, billing and a support bot that passed moderation and is published on the amoMarket marketplace.

The hard part is reliability and trust. Telegram delivers each event only once, so messages in both directions go through an outbox and are retried instead of being lost. Webhooks are signature-checked, Telegram sessions and CRM tokens are encrypted at rest, and the first message from a new contact brings the recent conversation history into the deal card.

Fig. 03 — Message path and product timeline Schematic

Two-way message path

Telegram · personal account⇄ AmoTg⇄ amoCRM · deal card
Signed webhooks Two-way outbox · 30 s → 1 h Encrypted sessions & tokens Groups & bots filtered History import on first contact Deal opened on first outgoing

From internal tool to product

Internal tool for a schoolLive
Sales landing page · lead captureLive
Deployment kit · harden, Docker, backup, watchDone
Client installations · own or hosted serversLive
Published on amoMarket · widget, OAuth, billingLive

Python · Telethon (MTProto) · amoCRM Chats API · OAuth · SQLite · Docker · Caddy

04 AI · CRM · Sales Operations

AI that reads the whole deal before it says anything.

Client archetype classifier and call transcription for amoCRM

In production for a B2B client

For a B2B sales team I built two integrations for amoCRM. The first reads everything attached to a deal — chats including Telegram, emails, documents, notes and call transcripts — and classifies the client on two axes from the company's own ICP methodology: which customer segment the company belongs to and what role the person plays in the purchase.

Precision matters more than coverage. A value is written only when two independent model runs agree with at least 70% confidence; otherwise the system keeps collecting evidence. Each decision comes with a note listing the facts behind it, and a manager's manual edit locks the field for good. The pipelines it may touch are enforced in code, and mail access is strictly read-only.

The second integration transcribes every completed call: a placeholder note appears in the deal at once, the recording is transcribed on the server, and the note is replaced with the dialogue split into manager and client lines. The two services share nothing but CRM notes, so either can change or fail without breaking the other, and all processing stays in the client's country.

Python · amoCRM API · Webhooks · GigaChat · faster-whisper · IMAP · SQLite · Docker

Fig. 04 — From deal materials to a CRM fieldDemo data

Inputs

Chats · incl. Telegram Email · read-only PDF · DOCX · XLSX · scans Call transcripts
Run 1+ Run 2→ Agree · ≥ 0.70→ Write once

amoCRM · Deal card

SegmentManufacturing RoleEconomic buyer NoteFacts behind the decision CallTranscript · manager / client
Fig. 05 — Inbox with a human gate ■ Agent□ Human
Parent writes to the school accountEvent
20 s of silence → signed webhookDaemon
Agent reads the whole threadAgent
Reply saved as a Telegram draftAgent
Review, edit, press SendHuman
Voice idea→ Post + image→ 5 platforms→ Approve
05 AI Agent · Marketing · Human-in-the-loop

The agent drafts. A human presses Send.

Margo — SMM and inbox agent

Margo is a persistent AI agent that runs a school's content workflow through Telegram. I send an idea as text or a voice note; she writes the post in my style, generates images and carousels, and prepares versions for LinkedIn, Instagram, Telegram, TikTok and X. Nothing is published without explicit approval of each post.

Her second job is the admin inbox. When a parent writes to the school's Telegram account, a small daemon waits for the conversation to settle, wakes the agent through a signed webhook, and she leaves a reply as a Telegram draft that syncs to my phone.

The approval rule is enforced in code, not in the prompt: the agent's Telegram toolset has no send function at all. Voice notes are transcribed locally, and the agent runs in its own isolated container with its own credentials.

Hermes Agent · DeepSeek · GPT Image · MCP · Telethon · Whisper

06 AI Automation · CRM · Operations

An AI administrator for €27 a month.

AI admin agent for a children's technology school

Live · replaced a part-time role

A small school's administrator spends most of the day on the same conversations: new enquiries, questions about courses, inviting families to a trial lesson, following up when a student misses a class. I moved that whole scope to an AI agent connected to the school's CRM.

The agent answers new leads, explains the courses, invites families to a trial lesson and contacts students who missed a lesson, writing the reason back to the CRM through its API. It works under its own CRM account with limited rights. A person stays in the loop where it matters: trial lessons are confirmed by the team, and payments only by a human.

The part-time administrator role no longer exists. €300 a month in salary became €27 a month in running costs — a model subscription and a share of the server — about 91% less for the same scope.

€300 → €27per month −91%monthly cost Sametask scope

Hermes Agent · DeepSeek · CRM API · Telegram · Webhooks

Fig. 06 — Who does what in the admin workflow ■ AI handles□ Human confirms
New enquiry answeredAI
Questions about coursesAI
Invitation to a trial lessonAI
Trial lesson confirmedHuman
Missed-lesson follow-upAI
Reason written to the CRM via APIAI
Payment confirmedHuman
Fig. 07 — One practice roundIllustrative
Case card→ Voice call · ≤ 10 min→ CRM summary→ Debrief

Hidden state of the AI employee

Openness 2 / 3 Branches2 triggered by the supervisor's words Agreements1 next step agreed
Debrief · 6 criteria scoredDone
Summary vs transcript · 1 claim not supportedFlagged
07 AI · L&D · Simulation

Practising a hard 1:1 before it happens.

Voice AI practice simulator for supervisors

Built as a practical assignment for a supervisor development programme: a branching voice role-play in which a supervisor practises a 1:1 with an AI employee. The round mirrors real work — a case card, a voice call of up to ten minutes, a summary written into the CRM, then a debrief. Two rounds cover corrective feedback and reinforcing strong behaviour.

The AI employee does not simply agree. It keeps a hidden state — how open it is on a 0–3 scale, which conversation branches were triggered, what was agreed — and reacts to how the supervisor actually behaves. The debrief scores six criteria and checks the written summary against the transcript, so a summary that claims more than the conversation delivered is flagged.

Access codes, rate limits, an admin page and automatic deletion of sessions after 30 days; deployed on my own server.

OpenAI Responses API · Structured outputs · Speech-to-text · TTS · Node.js

08 AI Enablement · Agents · Governance

From "I do this every week" to a reviewed AI skill.

AI use-case navigator built on Claude Code

A practical assignment for a talent development and AI enablement team. An employee describes a routine task; the agent classifies the data involved, checks the company skill library and routes the case: self-service, AI Center of Excellence, security, or not an AI case at all. For self-service it builds a skill with the employee and sends it to a separate read-only security-reviewer subagent, which assigns a risk tier before anything is handed over or reaches the shared library.

Guardrails live in code and fail closed: a PII guard blocks emails, card numbers, IBANs, phone numbers and keys; writing to the library needs an approval tied to the exact skill text; the review gate stops after three failed rounds; every review is recorded with the file's hash. The agent has no shell and cannot open web pages; web search is allowed only for public vendor facts.

I tested it with role-played employees — an accounts-payable specialist, an HR business partner, a KYC analyst, a support team lead, an account manager and a course author — and packaged the result as a short guide for the L&D team.

Claude Code · 9 skills · Subagent · Hooks in Python

Fig. 08 — Path of a use case ■ Agent▪ Code□ Human
Employee describes a routine taskHuman
PII guard on every inputCode
Data check and routingAgent
Draft agent skillAgent
Security review · read-only subagentAgent
Approval tied to the exact textHuman
Saved to the library · hashes recordedCode
09 Learning Design · Curriculum · EdTech

Course kits a teacher can pick up and run.

Curriculum design across four formats

I design courses end to end — from aims and learning outcomes to lesson scripts, assessment and the materials a teacher actually uses in class. Recent work spans four very different audiences: a primary school, a client, teenagers online and mixed-age groups at my own school.

I run this work like a product: sprints ranked by priority, version control, an ideas backlog, and a final check against what was promised to the learner or the client.

40 lessons

3D Modeling · IB PYP, Grades 2–4

Six blocks from geometry and paper nets to Tinkercad, 3D printing and a final project, mapped to five school terms. Scheme of work with objectives and student artefacts per lesson, a bilingual glossary of 85 terms, a term-report template and print-queue planning.

24 hours

Digital Literacy · ages 8–9 · client project

Twelve lessons with a course specification (rationale, aims, outcomes, syllabus), scheme of work, final assessment, lesson materials and slide decks, finished with a QA pass before delivery.

8 × 90 min

Vibe-coding · teenagers · my own course

Every learner builds and publishes a website, a browser game, a Telegram AI assistant and a mini-startup. Lesson scripts, slides with speaker notes, handouts, homework prompts and quizzes; after lesson 1, challenge tasks and a co-reviewer role were added for strong learners.

36 lessons

Robotics, CAD & 3D printing · annual course

Nine projects of four lessons each: take a real device apart, then electronics, a 3D model, assembly and defence. A base task and a challenge in every project, because 8- and 12-year-olds share a group.

Course specification Learning outcomes Scheme of work Lesson scripts Assessment Quiz design with distractors Differentiation Bilingual glossary Teacher's guide
10 Infrastructure · Education · DevOps

Every learner gets a real server and their own AI agent.

For my online vibe-coding course for teenagers I built the technical side too. I provisioned the server and created an isolated container for every learner, with its own SSH key and resource limits, where they could build and deploy applications without interfering with anyone else's work.

I also taught students how to access a remote server, work inside their environment, deploy applications, and operate their own services. The objective was to move beyond local prototypes and teach how software actually reaches a running server.

Each learner also installs a personal Hermes agent with their own API key and writes its personality and rules. The tool path runs from ChatGPT to OpenCode with project memory and plan mode, then to SSH, a VPS and Telegram. Containers reach the internet but not each other, the host or the cloud's internal network.

Linux · VPS · Docker · Hermes Agent · DeepSeek API · OpenCode

VPS · Linux host 16 / 16 environments online
{{ c.id }} {{ c.line }}

Representation of the system, not a real-time status

Fig. 09 — Host screenDemo data
Game PIN 482 913 0 players joined

Leaderboard · question 15 / 15

1 · Maria12 840
2 · Tomás11 310
3 · Ivan10 960
11 EdTech · Real-time · Product

Revision as a game, not a test.

Kahoot-style live classroom quiz

For my vibe-coding course I wanted students to review each lesson through play. I built a real-time quiz: the host screen shows a PIN and a QR code, students join from any device, answer against the clock, and finish with a leaderboard and a podium. Each question has four options — one correct, two clearly wrong and one plausible distractor — so the score reflects understanding rather than luck.

Designed from both the teacher's and the student's side: points depend on speed, answer options are shuffled, and every game is saved on the server with a results page and CSV export, so the teacher can review how each student did. It ran on the course server through a secure tunnel, without opening inbound ports.

Node.js · Express · Socket.IO · Web Audio · Docker · Cloudflare Tunnel

12 Web · Lead Capture · Analytics

A school website where no enquiry gets lost.

Public website, enrollment form, student questionnaire

I built and launched the public website for a robotics and technology school: a fast static landing page with an enrollment form, served from my own infrastructure. A submitted form reaches a small backend that notifies the team in Telegram within seconds, and the visitor lands on a dedicated thank-you page that works as a URL-based conversion goal for ad and analytics platforms.

A separate questionnaire collects student details before the first lesson. Every submission is written to disk before any notification is sent, so nothing is lost if Telegram is unavailable; each gets a readable ID, and spam is filtered with a honeypot field and a per-IP rate limit.

The bot token never reaches the browser, and the recipients are allowlisted in the backend code, so even a modified config cannot redirect applications elsewhere.

HTML/CSS · Node.js · Python · nginx · Caddy · Telegram Bot API · Web analytics

Fig. 10 — Enquiry pathDemo data
Form→ Saved to disk→ Telegram+ Thank-you URL

Telegram · New application

IDF-20260915-1742-K3QD CourseRobotics · age 9 LocationLisbon SourceWebsite form
Persist first Honeypot Rate limit per IP Recipient allowlist
Fig. 11 — Assistant activity Live
{{ ev.t }} {{ ev.text }}

Illustrative activity feed

13 AI Agent · Personal Operations

One agent for everyday operations.

I deployed a persistent AI assistant that helps coordinate recurring tasks in everyday life. Instead of using separate tools for every small workflow, the agent provides one conversational layer between me and external services and information.

The project focuses on an important part of agentic systems: moving from isolated prompts to persistent agents capable of tracking context and working with external tools.

Task reminders Important dates Travel research Flight price monitoring Travel options Medical appointment search Scheduling assistance Recurring workflows

Hermes Agent · DeepSeek · APIs · OAuth

14 Product · EdTech · AI

I couldn't find the learning tool I wanted, so I built it.

Falar — Personal European Portuguese learning app

The project started from a practical problem: many mainstream language-learning products focus primarily on Brazilian Portuguese, while I needed a learning experience closer to the language used around me in Portugal.

I created a dedicated application around my own learning workflow and continue iterating on it through real daily usage. The project combines my experience in education, product design, software development, and AI-assisted learning.

It follows a 16-lesson method with 400+ phrases and four practice modes: translation, listening, speech recognition and word tiles. An exam at 80% unlocks the next lesson, and vocabulary comes back on a Leitner spaced-repetition schedule from 10 minutes to 14 days. English and Russian interfaces, offline mode, progress sync, self-hosted analytics; the code is open source.

European Portuguese focus Structured language practice Personal learning workflow AI-assisted learning Self-hosted deployment Continuous iteration English & Russian UI Offline app · progress sync Spaced repetition (Leitner) Open source
FalarPT-PT · A2

Frase do dia

Como correu o teu dia?

How did your day go?

Correu bem, obrigado. Correu bem, obrigada.
Praticar Ouvir
15 Infrastructure · Networking · Self-hosting

Owning the infrastructure behind the tools I use.

Most of the systems on this page run on a server I operate myself: more than twenty containers — four AI agents, the school CRM, websites, hosted client integrations and analytics — behind a single reverse proxy with automatic TLS and security headers.

Each agent gets its own container, storage, credentials and bot, with memory limits per service. Data is backed up nightly with encryption to a separate volume with daily and weekly retention; SSH is key-only and brute-force attempts are banned automatically.

A second server hosts the learning environments for my courses. I also run private network services for my family: a VPN with client isolation and a two-server private network that routes traffic by destination.

20+containers 0AI agents 24hbackup cycle
Reverse proxy · TLS Encrypted backups Linux administration VPS management Networking Service deployment Access management Monitoring Troubleshooting Containerized services
DEVICE VPS LINUX · DOCKER SERVICES INTERNET SECURE TUNNEL

Smaller builds

Tools I made because I needed them

Web app · Print

LentiCard — lenticular cards in the browser

Slices two or more images into strips matched to the lens pitch, simulates the view through the lens and exports a print-ready PDF with exact physical size and cut marks. A printable pitch test calibrates each printer. Everything runs in the browser; images never leave the device.

JavaScript · Canvas · hand-built PDF

Desktop · Windows

Windows utilities

SwipeSwitch switches apps with a three-finger touchpad swipe and a macOS-style animation of live window thumbnails. WinClip replaces the Win+V clipboard with named, pinned and searchable items. MediaKeys controls any media player from the keyboard.

C# · .NET Framework · Win32 · DWM

Web app · Optimisation

School timetable generator

Generates, validates, edits, partially regenerates, explains and exports a weekly timetable for four grade groups. The engine is a constraint solver, not an LLM: hard and soft constraints are scored, shared rooms are capacity-one resources, and anything unresolved is listed.

Python · FastAPI · OR-Tools CP-SAT · Next.js

Embedded · STEAM

Maker hardware

E-ink EPUB reader firmware for M5Stack PaperS3 with Cyrillic text and book upload over Wi-Fi; small games for M5Stack devices and Arduino Nano with a guide for adding new ones; servo control on a Raspberry Pi.

C++ · Arduino · ESP32 · Raspberry Pi

How I think

AI is useful when it leaves the chat window.

I am interested in AI systems that can interact with the real world: databases, APIs, business processes, infrastructure, documents, customers, and other software.

  1. STEP 01Understand the workflow.
  2. STEP 02Remove unnecessary steps.
  3. STEP 03Connect the systems.
  4. STEP 04Give AI the right tools.
  5. STEP 05Keep humans in control where they matter.

What I build

Six practices, one system mindset

01 / Core

AI Agents

Persistent agents capable of using tools, maintaining context, and performing multi-step workflows.

02

Business Automation

Automation across customer communication, operations, payments, administration, and internal processes.

03

Internal Tools

Custom CRM systems, dashboards, operational interfaces, and analytics.

04

AI Infrastructure

Servers, containerized environments, APIs, deployment, and self-hosted services.

05

Learning Design & EdTech

Course kits, learning applications, practice simulators and educational infrastructure.

06

Integrations

Connecting LLMs and business tools: Telegram, CRMs, Notion, APIs, databases, and external services.

Technical ecosystem

Four layers that have to talk to each other.

Layer 01 · AI & Agents

Hermes Agent GPT LLM APIs DeepSeek Claude Code MCP tools Speech-to-text

Layer 02 · Automation

REST APIs OAuth Webhooks Telegram Bot API Telegram MTProto amoCRM Notion

Layer 03 · Infrastructure

Linux VPS Docker Containers Caddy · TLS Encrypted backups

Layer 04 · Product

Web applications Databases CRM Analytics Landing pages Real-time apps

About

I build tools because I want them to exist.

My background combines technology, education, product thinking, and business operations. I have spent years working with educational technology and building systems around real operational problems.

Today my main focus is AI automation: designing agents and software that connect models with tools, data, infrastructure, and business processes.

I enjoy projects where the initial requirement is not a perfect technical specification, but a messy real-world problem that needs to be understood, structured, and turned into a working system.

How I build: I own the problem definition, product and architecture decisions, testing in real operations, deployment and server administration. Much of the code is written by AI coding agents — Claude Code, Codex, OpenCode — working under that direction, which is also what I teach.

Based in Lisbon · Working globally

Contact

Have a workflow that should run itself?

I'm interested in AI automation, agentic systems, internal products, EdTech, and business process automation.

Based in Lisbon · Working globally Response within a few days From messy workflows to autonomous systems