Hello
Ciao
Привіт
Hola
Bonjour
Hallo
Olá
Hej
Hi
View
Serhiy Korenyev
Based in
Rome, Italy
AI Engineer
Agents & Automation
SerhiyKorenyev

I build AI agents that run real operations: a support widget that resolves 70% of 4,000 daily tickets, a content factory that ships a website in ten minutes, a CRM where every alert arrives the moment it happens.

Three years as a business analyst, then six in automation and AI engineering for a marketing agency in Dubai and a software consultancy in Malta, with clients across Europe, Dubai and Latin America. I understand the process before I automate it, I own the whole path from prompt to server, and I measure what changed afterwards.

About me

AI agents and automations in production

Selected work

Six systems, two employers, one method: start from the number the business wants to move, build the whole path from prompt to server, prove it on real traffic. The real screens are under NDA; every case opens on a mock-up rebuilt from the real flow.

Business analyst by training, AI engineer by trade

I started in 2017 as a Business Analyst in an automotive group in Rome, building the KPI dashboards for a fleet of 200,000 vehicles. In 2020 I moved to automation for a marketing agency in Dubai that grew from 50 to 200 people while I was there: a lead-generation widget for a real-estate client, where proactive messages took monthly leads from +10% to +15% for five managers; customer-service chatbots on WhatsApp, Instagram and Telegram that qualify leads into a custom CRM, more than a thousand conversations a month; voice agents with Twilio and ElevenLabs, from the receptionist to outbound calls that qualify leads; more than 20 websites; and the agency's processes rebuilt in ClickUp with automated onboarding. Since 2024 I work for Acrh Software, a software consultancy in Malta with clients in Europe, Dubai and Latin America: a multi-agent support widget on Zendesk that resolves 70% of about 4,000 daily tickets, with the first reply down from 18 minutes to 3 seconds and customer satisfaction up from 2.5 to 3.8; department assistants in Microsoft Teams on Azure OpenAI, Copilot Studio and Databricks; a content factory of self-hosted agents that ships about a hundred websites a month at around five euros each; and since 2026 a custom CRM with real-time alerts over Kafka for more than a thousand users a month, where I lead three AI engineers.

Rome, Italy · remote across Europe · open to relocate · EU citizen

Serhiy Korenyev
2024 – today
AI Automation Engineer · Team Lead since 2026Acrh Software · software consultancy, Malta · remote

AI support widget on Zendesk resolving 70% of about 4,000 daily tickets; department assistants in Microsoft Teams; a content factory shipping about a hundred sites a month; a custom CRM with real-time alerts, leading three AI engineers.

2020 – 2024
AI Automation Agent Developer8 Four Agency · marketing agency, Dubai · remote

Lead-generation widget for a real-estate client, +15% revenue; chatbots on WhatsApp, Instagram and Telegram; voice agents with Twilio and ElevenLabs; more than 20 websites; the agency's processes rebuilt in ClickUp while it grew from 50 to 200 people.

2017 – 2020
Business AnalystAutomotive group · Rome

KPI dashboards in Power BI on SQL, AWS and internal APIs for a fleet of 200,000 vehicles; idle stock down 25%; four analysts trained.

I can help you with …

01

AI agents & LLM apps

Multi-agent systems in LangGraph and n8n, RAG on Pinecone or Qdrant with chunking, embeddings and reranking, prompts with structured output and guardrails, evaluation on Langfuse with LLM-as-judge and regression tests. Models from OpenAI, Anthropic, Azure OpenAI, Gemini through OpenRouter, or an open-source model like Qwen 3 on your own servers when privacy and cost matter.

02

Automation & integrations

n8n, Make, Zapier, Google Apps Script, Microsoft Power Platform and Copilot Studio, or custom code in Python and TypeScript, wired into Zendesk, Teams, SharePoint, Salesforce, Airtable, ClickUp, WhatsApp, Instagram, Telegram and voice through Twilio, ElevenLabs, Vapi, Retell and Voiso. Flows that run 24/7 with monitoring, versioning, CI/CD and documentation.

03

From the KPI to the server

Analysis of the process with the stakeholder, the number to move, the architecture, the servers in Docker or Kubernetes, the security tests, the weekly improvement loop on real data, the hand-over documents. One owner for the whole path, or a lead for your team: sprints, milestones, QA per block, benchmark-driven design.

How I work

Every system I have built started with a number the business wanted to move: tickets per day, leads per month, sites per month, minutes to the first reply. The architecture follows the number, not the other way round.

Own the whole path

Prompt, retrieval, orchestration, integrations, servers, security, documentation. If it runs in production, it is mine until it is monitored, tested and handed over with the documents the next person needs.

Prove it on real traffic

Langfuse evaluations on retrieval and answers, CSAT, a comparison of every new flow version with the previous one before release, and a weekly improvement loop on the real conversations. A RAG score that went from below 0.6 to 0.9 is the kind of proof I look for.

Benchmark first

Before building, I look at the best product in the category, Intercom for the support widget, Zendesk for the CRM, and I write down what beating it means for this client. Then the blocks, the milestones and the QA tests follow that list.

AI engineer · LLM agents · RAG · evals · automation · SK

Certifications

  • AI Agents Course
    Hugging Face
  • Evaluating AI Agents
    DeepLearning.AI
  • Prompt Engineering for Developers
    DeepLearning.AI
  • Claude with the Anthropic API
    Anthropic Academy
  • Introduction to LangGraph
    LangChain Academy
  • Certification · Web3Unity
    Make
  • Certification · Mask
    n8n

Master in Business Administration & Supply Chain (2023–2025) and BA in Business Administration & Economics (2020–2023), Tor Vergata University, Rome, both while working. High School Diploma in Halifax, Canada. Ukrainian native, Italian C2, English C1, Russian C1, Spanish B1.

Let's start a
project together

Open to AI Engineer roles and consulting across Europe: remote, hybrid or on site. Based in Rome, open to relocate. Write me what the process is and which number you want to move; I answer personally.

  1. 01
    Emailkorenyev@gmail.com
    copy
  2. 02
    Phone+39 339 299 8566
    copy
  3. 03
    LocationRome, Italy · remote across Europe · open to relocate · EU citizen
  4. 04
    LanguagesItalian, English, Ukrainian, Russian, Spanish

Contact details

korenyev@gmail.com
+39 339 299 8566

Location

Rome, Italy
Remote · open to relocate

Socials

Email
Phone
CV, one page (PDF)

AI Support Widget

Role / services

AI Automation Engineer · sole engineer
Multi-agent support widget · RAG · Zendesk

Stack

n8n · LangChain · LangGraph
GPT-4o mini · Gemini 2.5 via OpenRouter
Pinecone · MongoDB · Redis · Docker
Zendesk APIs · Langfuse · TypeScript

Client & year

Acrh Software, for an online-service client © 2024

Live demo ↗

Problem

About 50 support agents handled roughly 4,000 tickets a day by hand, with peaks of more than a hundred conversations in five to ten minutes. Under overload the first reply took up to 18 minutes and customer satisfaction sat at 2.5 out of 5. Every ticket, including the trivial ones, cost human time, and the knowledge needed to answer was scattered across the CRM and years of message history. The brief: a widget that answers most tickets by itself, in the customer's language, and leaves humans only the cases that need judgment. The benchmark I set before building was Intercom.

What I built

A chat widget on the client's site, deployed through Google Tag Manager, that understands the request in any language, checks the customer's account when they are logged in, answers from a knowledge base built on the client's own CRM and message history, and hands complex cases to a human in Zendesk with the whole transcript and account context attached. n8n orchestrates the main, escalation and reporting flows; LangGraph runs the cyclic logic per intent, so the graph decides step by step whether to answer, ask, verify or escalate. Each agent has its own prompt, GPT-4o mini as main model and Gemini 2.5 through OpenRouter as fallback. Pinecone holds the knowledge base, MongoDB the shared memory, Redis the cache. I set up and hardened the servers myself: everything runs in Docker on the project's own infrastructure, with monitoring on the servers and on every n8n node so that bugs surface before the business sees them.

Northline · Account×+
‹›↻northline.example/account☆⋮interactive mock-up
NorthlineProductsOrdersAccountHelpMarco R.
Welcome back, Marco
Your orders, your plan, your requests. One place.
Track an order
2 ordersin transit · next delivery Thu
Pro planactive · renews 12 Dec
1 requestopen · answered by the assistant

Popular products

Northline Proyearly · priority support€390 / year
Northline Startermonthly · 1 seat€12 / month
Extra seatsadd-on · per seat€8 / month

Recent orders

#88213Northline Pro · yearlyin transit · Thu
#88102Extra seats ×2delivered · 28 Oct

Help

© NorthlineTermsPrivacyCookiesEN · EUR
Interactive demoThis is the customer’s website.

The AI assistant sits in the bottom-right corner, exactly like on the real site.

The demo starts in a moment, or click the assistant →
Behind the answer live
Session—
Language—
Intent—
Retrieval—
Account—
Policy—
Model—
Outcome—
Zendesk—
Customer service · agent deskZendesk · Sunshine Conversations
Queue · payments & orders
#4821 · handed over by the assistantMarco R. · priority · just now
#4819 · Change my emailAnna P. · 9 min
#4816 · Invoice copyLuis G. · 14 min
Customer

Marco R. · ID 48213 · verified · Pro plan
Orders: #88213 in transit · #88102 delivered

Giulia · agent is typing…Send
N
Northline AIOnline · replies in seconds
EN▾EnglishItalianoEspañol×
How to buyTrack my orderTalk to a person
Write your message…➤
Powered by Northline AI · Privacy
What the business gets live
70%tickets resolved by the widget
3 sfirst reply, was 18 min
2.5 → 3.8customer satisfaction
  1. The customer gets an answer in about three seconds, at any hour, in their language.
  2. Seven tickets out of ten end here, with no agent involved.
  3. The answer comes from the company's own help centre and account data, so it is consistent.
  4. When a person is needed, the hand-over carries the whole conversation: nothing to repeat.
  5. Every chat is filed in Zendesk automatically, so reporting needs no extra work.
  6. The 50 agents were not cut: trained, and partly sold as a service to other companies.
ScenariosBusinessTechnical1 of 5 · plays by itself, then moves to the next · or click one

The real screens are under NDA. This mock-up is rebuilt from the real flow: same steps, same integrations, fictional names.

How it is used

01Customer opens the chat; if logged in, the widget already knows the account through the internal customer-data platform, and account data is used only for authenticated users.
02Language detection with a Python library, tuned on the four main languages; the LLM takes over as fallback in at most 15% of conversations. Then intent classification by the LangGraph flow.
03Retrieval from Pinecone: chunks built from the client's CRM and message history, with a relevance score checked on every answer.
04Policy check: priority cluster, trigger words, account state. The flow answers, asks for a detail, reads a photo through OCR, or escalates.
05Answer in the customer's language in about three seconds, or hand-over to a human through Sunshine Conversations with the full transcript and account context.
06Ticket archived through the Zendesk Ticket API with every field filled; automatic reporting to the Head of Support and the Quality Manager; weekly Langfuse evaluations improve prompts and retrieval.

Architecture

Blue dashed line: the main flow

Results

70%of ~4,000 daily tickets resolved by the widget, 24/7, in any language
3 saverage first reply, up to 7 s on long conversations; was up to 18 minutes
2.5 → 3.8CSAT on widget answers; human agents rose to 3.2 on cleaner, pre-qualified tickets
0.6 → 0.9RAG retrieval score after the weekly Langfuse evaluation loops
≤15%of conversations needing the LLM language fallback
50support agents not cut: trained, and partly sold as a service to other companies

Stack

n8nLangChainLangGraphGPT-4o miniGemini 2.5 · OpenRouterPineconeMongoDBRedisDockerPythonFastAPITypeScriptZendesk Ticket APISunshine ConversationsGoogle Tag ManagerLangfuseVision / OCRGitHub · CI/CD

Engineering decisions

  • One prompt, one main model and one fallback model per agent. The widget itself has a fallback version for when the AI path is down.
  • GPT-4o mini for cost and latency: average reply ~3 s, long conversations capped around 7 s, peak 9 s.
  • Shared memory in MongoDB feeds a weekly improvement loop on real traffic: answer quality, prompts, CSAT, LLM security.
  • Every new version of a flow is compared with the previous one before release, node by node, so behaviour changes are caught before customers see them.
  • Vision and OCR: a customer sends a photo, a receipt for example; the data is extracted, stored in MongoDB and used by the agents.

Security

  • Servers built and hardened from scratch; the data path between orchestrator, server and browser is protected end to end.
  • Penetration tests run through agents I built with rules based on the permission model, grey-box tests on API, latency and infrastructure entry points, review by the internal security team and a black-box test by an external company. Every finding fixed by me.
  • Prompt-injection defence and control of what reaches the model; sensitive data never leaves the perimeter without a reason.

Method and delivery

  • Solo project, more than six months to release, divided into blocks: each block shipped with its own QA, monitoring and documentation.
  • All automations versioned on GitHub with CI/CD pipelines.
  • Final deliverables: API documentation, a playbook for the customer-service team and the technical project document.

What it changed for the team

The 50-person support team was not cut. It was trained on the new flow and partly offered to other companies as a service, so the business turned a cost centre into a new line of revenue.

Next: an open-source model on company servers

Migration to Qwen 3 from Hugging Face with Qdrant, built with the ML and DevOps teams, for privacy, latency, control and the option to improve the model. The local model also acts as a filter on the data sent to external LLMs. Fine-tuning in preparation, then the same model will serve the internal teams and the widget itself.

What it covers

The request types the assistant handles on the customer's site, from help-center questions to the handover to a human.

01Help-center answers
9:41●●● 5G
Northline AIonline
Which payment methods do you accept?
Card, PayPal and bank transfer. Transfers are credited within one business day.
answered in 2.9 s · archived in Zendesk, fields filled
Write your message…➤

Answers come from a RAG over the client's knowledge base. Every resolved chat is archived in Zendesk as a ticket with the fields already filled.

02Orders & account, logged in
9:41●●● 5G
Northline AIonline
Where is my order?
Order #88213 is in transit, delivery Thursday. Here is the tracking link: northline.example/track/88213
Perfect, thanks!
data read from the customer-data platform
Write your message…➤

Personal data only for authenticated customers, read through a protected connection to the client's internal customer-data platform.

03Any language
9:41●●● 5G
Northline AIonline
Come cambio la password?
Vai su Account → Sicurezza → Cambia password: riceverai un codice via SMS per confermare.
Grazie!
language detected: IT
Write your message…➤

A Python library detects the four launch languages; the LLM covers any other language as a fallback in at most 15% of chats.

04Documents by photo
9:41●●● 5G
Northline AIonline
Here is my bill
IMG_2041.jpgphoto · 1.8 MB
I read the document: name and address match your account. You are verified ✓
Vision / OCR → data stored in MongoDB
Write your message…➤

Photos and PDFs are read with Vision/OCR; the extracted data is stored and used by the agents in the next steps.

05Human handover with context
9:41●●● 5G
Northline AIonline
I want a refund, the order arrived damaged.
I’m sorry about that. I’m connecting you with customer service: they can see this chat and your order.
Giulia · customer serviceHi Marco, I’m arranging the refund now. You’ll get a confirmation by email within the hour.
Sunshine Conversations · priority queue
Write your message…➤

Configurable triggers (refund, priority customers, explicit request) hand the chat to a human in Zendesk with transcript and account attached.

06Proactive messages
9:41●●● 5G
Northline AIonline
CRM event · order #88213 delayed
Hi Marco, a quick update: your order was delayed by the carrier and will arrive on Thursday. Want the tracking link?
Yes please
Here it is: northline.example/track/88213
event-driven · defined customer clusters
Write your message…➤

The assistant writes first, on events in the client's CRM or for defined customer clusters.

Content Factory

Role / services

AI Automation Engineer · solo
Agent pipeline · websites · SEO / GEO

Stack

Hermes agents, self-hosted · MCP
Claude Code · Codex · Perplexity · Anthropic API
GPT-6 Astra for images
Static HTML · DevOps deploy script

Client & year

Acrh Software, satellite sites for 1–2 brands © 2026

Live demo ↗

Problem

Brands needed dozens of websites every month to grow their presence and send traffic to the main page: satellite sites around one or two brands, each specific enough to be indexed and read. There was no content team to research, write, design, illustrate and build them, and each site had to be specific enough to be indexed and cheap enough to make dozens a month.

What I built

A pipeline of Hermes agents, self-hosted on the company server, with a dedicated agent for research, one for scraping and composition, one for design, and a final script that publishes. Two ways in. From an example URL: the agents research and scrape a similar site and compose a new one inspired by it. From scratch: the request enters through MCP from Claude Code or Codex, research runs on Perplexity and the Anthropic API, the system scrapes what the operator asked for, then runs a short interview to collect the facts only a human knows, and builds the site. GPT-6 Astra generates the images. One click clones a site with a slightly different design, or a completely different one. A database of every run grows with use and makes the second mode better over time. Output is static HTML, exported and deployed on the client's servers through the DevOps script.

factory.internal×+
‹›↻factory.internal/runs/1843☆⋮interactive mock-up
Factory
Runs
Brands
Templates
Run database
Deploy
Settings
This month96 sitesavg 7:40 · €4.90
Run #1843 · brand: NorthlineCity e-bikes: the commuter guide
queued00:00 · €0.00
RResearchPerplexity · Anthropic
SScrapepages → facts
IInterview4 questions
WWriteClaude · Codex
AImagesGPT-6 Astra
OSEO · GEOchecklist
PPublishstatic HTML
agent log
What the business gets live
~100sites a month
5–10 minper site
~€5per finished site
  1. One request from the operator: no brief, no agency, no content team.
  2. Fresh research plus the facts only your team knows, collected in a two-minute interview.
  3. Pages, images and design produced for every site, each one different.
  4. Search engines and AI engines can find, read and cite the site.
  5. Live on your servers in five to ten minutes, sending traffic to the brand's main page.
ScenariosBusinessTechnical1 of 3 · plays by itself, then moves to the next · or click one

The real screens are under NDA. This mock-up is rebuilt from the real flow: same steps, same integrations, fictional names.

What it ships

Three satellite sites for one brand, from the same pipeline: same research, same SEO and GEO layer, a different design every time. Rebuilt from real runs with a fictional brand.

northline-bikes.example
Editorial guidefrom a topic · 6 pages · 7:30 · €4.50
ride26.example
Bold journalcloned with a new design · 5 pages · 4:50 · €3.10
northline-compare.example
Comparison sitefrom an example URL · 8 pages · 9:10 · €5.20

Every site is static HTML, indexable on its own, and links back to the brand's main page.

How it is used

01The operator gives a topic, or the URL of a site to take as example, from Claude Code or Codex through MCP.
02Research and scraping agents collect fresh facts; the interview asks only what the agents cannot know.
03Writing agents compose the pages; the image agent generates the visuals with GPT-6 Astra; everything is stored in the run database.
04The SEO and GEO agent applies the full checklist: keywords, headings, structured data, Open Graph, sitemap, light images, FAQ, llms.txt, hreflang.
05Static HTML is exported and deployed to the client's servers through the DevOps script; the site is live in five to ten minutes.

Architecture

Blue dashed line: the main flow

Results

~100sites a month from one or two brands
5–10 minfrom input to a published site
~€5cost per finished site, API calls and images included
1 clickto clone a site with a new design

Stack

Hermes agentsMCPClaude CodeCodexPerplexityAnthropic APIGPT-6 AstraScrapingRun databaseStatic HTMLDevOps deploy script

Why agents, not templates

Templates give the same site every time, and search engines know it. Agents research the topic, interview the operator and write for that topic, so each site is specific, readable and indexable. Cost stays near five euros because the expensive steps, research and images, are cached in the run database and reused.

The SEO and GEO checklist

  • Keyword research and keyword-to-page mapping; title tags and meta descriptions; H1, H2, H3 hierarchy.
  • Clean URLs, canonical tags, sitemap.xml, robots.txt; internal linking.
  • Alt text and light, optimised images for crawling; Core Web Vitals; mobile first.
  • Structured data in schema.org JSON-LD; Open Graph.
  • GEO, Generative Engine Optimization: FAQ sections and llms.txt so that AI search engines can read and cite the site; hreflang for multilingual sites.

Economics

About a hundred sites a month, five to ten minutes each, around five euros per site. The sites are satellites of one or two brands and send traffic to the brand's main page; traffic is tracked at brand level.

Operations CRM

Role / services

Team Lead · 3 AI engineers
Custom CRM · real-time alerts · AI routing

Stack

TypeScript · Java · Kubernetes · microservices
Kafka · AWS · Tableau
Voiso voice & SMS · Telegram
AI routing agent · semantic knowledge base

Client & year

Acrh Software, for the same online-service client © 2026

Live demo ↗

Problem

Support, sales and management worked on separate tools and saw the same customer from different angles. Business events, fraud signals, payments and refunds, blocked accounts, affiliate and influencer activity, reached people late, through reports, instead of the moment they happened. The brief: one platform for all three teams, with Zendesk as the benchmark to beat, built on the company's own servers.

What I built

One platform for support, sales and management: the same customers, real-time alerts, voice, SMS and Telegram from one screen, a knowledge base in the style of Notion embedded in the product, analytics on AWS and Tableau, and an AI layer that routes requests and answers from the knowledge base. Architecture defined together with DevOps, the development department and the client's PM and Quality Manager; Kubernetes microservices on company servers, one service per engine, front end entirely in TypeScript with parts in Java. I lead three AI engineers: two-week sprints with a reserve of about ten hours for urgent fixes, QA test at the end of each milestone against the benchmark, async improvements, blocker management, daily problem solving with Customer Service, the Quality Manager and the QA manager.

crm.internal×+
‹›↻crm.internal/tickets/4821☆⋮interactive mock-up
Search tickets, customers, settings…Tickets+ NewSerhiy K.
Inbox · new 3
#4830 · ¿Dónde está mi reembolso?Northline · Sofía L. · just now · email
#4829 · Invoice copyNorthline · Jan K. · 4 min · web
#4828 · Cannot log inNorthline · Dana R. · 7 min · Telegram
AI routing agentwaitingclassifies, routes and drafts · the operator confirms
Language—
Intent—
Priority—
Knowledge base—
Route—
Owner—
Knowledge base · semantic search
Search the knowledge base…
Suggested reply waiting for the analysis
EditSend in SpanishApply route + reply

Roadmap: the browser extension will execute the confirmed action for the operator.

Inbox · Customer service 12
#4821 · Payment not creditedNorthline · Marco R. · 2 min · via AI widget
#4819 · Change my emailNorthline · Anna P. · 9 min · Telegram
#4816 · Promo code not appliedNorthline · Luis G. · 14 min · web
#4810 · Verification documentsNorthline · Ola K. · 31 min · email
#4821 · Payment not creditedOpenHighSLA 11:40 left
Customer

Marco R.
ID 48213 · verified
Segment: VIP · IT

Account

Balance €1,240.00
Last payment €300 · 20 min ago · pending
Provider: CardPay

Fields

Topic: Payments
Country: IT
Brand: Northline

Marco R. · 12:02Hi, I made a €300 payment twenty minutes ago and it still shows as pending on my account.
AI widget · summaryIntent: payment pending · provider CardPay · 20 min · policy: hand-over after 15 min · transcript attached.
Knowledge base · suggestedPayment pending more than 15 minutes: check the provider status, open a payments task, reply with the expected time.
Public replyInternal note
Hi Marco, I can see your €300 payment with CardPay in pending status. I opened a task with the payments team; the usual time is under 30 minutes and you will get an email as soon as it is credited.
Apply macroCall · VoisoSMSSend
Timeline
12:02 chat opened on the AI widget · intent: payment pending
12:04 handed over · route: Payments team · SLA 15 min
12:05 assigned to Serhiy K. · knowledge base article suggested
Admin · Routes
VIPPriority customers · 3 steps
PaymentsPayments team · 2 steps
DefaultRound-robin · 1 step
+ New route
Route · VIPEnabledWho gets the ticket, in which order
TriggerCustomer segment is VIPor message contains: refund, complaint, regulator
Step 1Account manager of the customerwait 1 min · then next step
Step 2Account manager on shiftwait 2 min · then next step
Step 3VIP support queuealert on Telegram · priority high
Admin · Access
Anna P.support_agent · shift A
Luis G.vip_manager
Ola K.team_lead
Payments botservice account
Anna P. · support_agentRole sets the base, every right can be switched per person
See analytics
Write automation rules
See customer contacts
Export customer data
Transfer tickets to VIP queue
Call and SMS via Voiso
Edit knowledge base
Manage shifts

Every change is written to the audit log.

Workspace · Shifts
Week 455 people · morning, evening, night
Week 46draft
Requests2 to approve
Shift schedule · week 45Everyone sees their own time zone · one click to start a shift
Mon 2
Tue 3
Wed 4
Thu 5
Fri 6
Sat 7
Sun 8
Anna P.
09-17
09-17
09-17
09-17
09-17
off
off
Luis G.
13-21
13-21
off
off
13-21
13-21
13-21
Ola K.
off
22-06
22-06
22-06
22-06
off
22-06
Igor P.
09-17
off
09-17
09-17
off
09-17
09-17
Carla M.
13-21
13-21
13-21
off
off
13-21
13-21

Coverage: morning 2 · evening 2 · night 1, every day.

Analytics · last 30 days
Overviewall brands · all channels
Tickets
Speed · SLA
Satisfaction
Team
OverviewCompared with the previous period · sample data
Created1,312+4%
Resolved1,268+6%
Open now44−12%
First response3 swidget
SLA met95%+2 pts
CSAT3.8widget
Web widget58%
Telegram22%
Email12%
Voice · SMS8%
Alerts · live 0
Stream connectedKafka · waiting for events
Alert detail0 pending · events arrive in real time
AI routing agentPress a button below to raise an alert.
What the business gets live
0pending alerts
1,000+users reached a month
10–20kcommunications a month
  1. Events from every department land on one screen.
  2. Alerts arrive the moment they happen; nothing waits in a queue.
  3. The AI suggests who should handle it and what to answer; the operator confirms.
  4. Call, SMS and Telegram from the same screen: no tool switching.
  5. Management sees volumes and outcomes in Tableau, with access under control.
ScenariosBusinessTechnical1 of 7 · plays by itself, then moves to the next · or click one

The real screens are under NDA. This mock-up is rebuilt from the real flow: same steps, same integrations, fictional names.

How it is used

01Business data from every department lands on AWS: anti-fraud, affiliate and influencer activity, blocked users, payments and refunds, custom alerts requested by the teams.
02The ML pipeline, built with an ML engineer, publishes events to Kafka; the alert service consumes the stream and raises the alert in the CRM with zero pending.
03The AI routing agent classifies the alert, suggests the owner and pulls the right article from the semantic knowledge base.
04The operator opens the customer card and acts from one screen: Voiso call or SMS, Telegram message, note, task.
05Analytics on AWS and Tableau track volumes and outcomes; access management decides who sees what, role by role.

Architecture

Blue dashed line: the main flow

Results

1,000+users a month reached with ad-hoc communication
10–20kcommunications a month through the CRM
0pending alerts: events reach the screen in real time
MVPdelivered on milestones, in final QA by Quality, QA and Security teams

Stack

TypeScriptJavaKubernetesDocker microservicesKafkaAWSTableauVoisoTelegram APIAI routing agentSemantic knowledge baseAccess management

Components, in build order

  • Backend and front end.
  • Access management: roles and permissions.
  • Workspace for the support operators.
  • Analytics connected to AWS and a Tableau workspace.
  • Business alerts embedded in the CRM from department data on AWS.
  • Real-time alerts over Kafka, built with an ML engineer.
  • Embedded knowledge base, voice and SMS through Voiso, Telegram for customer communication.

How the team works

Blocks with milestones; a QA test at the end of each milestone and a comparison with the benchmark; improvements handled async; blockers removed daily. Two-week sprints per engineer, Agile mindset, and a small reserve in every sprint for what breaks.

The AI layer

An agent with intelligent routing, a knowledge base with semantic search, and a browser extension of the agent that executes routine tasks for the operators. The CRM serves customer service, management and sales, so the same agent works on support requests and on lead production.

Roadmap

An on-premise LLM (Qwen 3) with full access to CRM data and the internal customer-data platform; an agent with its own knowledge base that helps support answer faster; the browser extension through which support sets actions that run automatically for the customer.

Teams Assistants

Role / services

AI Automation Engineer · solo
Copilot Studio agents · Teams · website FAQ

Stack

Microsoft Copilot Studio · Azure OpenAI
Microsoft Teams · SharePoint
Databricks

Client & year

Acrh Software, internal stakeholder © 2024–2025

Live demo ↗

Problem

Employees asked HR, Finance and Legal the same routine questions every day: vacation days, expense limits, which template to use. Each answer took time from the people who had to give it, and the knowledge lived in documents nobody opened. On the company website, visitors had no self-service and no simple way to leave a request. The company already lived in Microsoft 365, so the answer had to live there too.

What I built

One assistant per department, in the Teams channel where people already work. The HR agent holds all the shared HR knowledge, answers the frequent questions and logs everything; Finance and Legal follow the same logic. Agents built in Microsoft Copilot Studio, grounded on SharePoint documents, with Azure OpenAI for the models and Databricks for logs, data sharing and continuous improvement. The same stack powers an assistant on the company website: general information, connected directly to SharePoint and Databricks, with a lead step that asks the visitor to send the request by email when the conversation shows intent. Built right after the support widget, alone, for an internal stakeholder of Acrh Software.

Microsoft Teams×+
‹›↻teams.microsoft.com · Northline · hr☆⋮interactive mock-up
‹ ›Search (Ctrl+E)⋯SK
Activity
Chat
Teams
Calendar
Calls
OneDrive
Apps
Teams⋯ +
NNorthline⋯
General
hr
finance
legal
2 hidden channels
Apps
Website assistant
NhrPostsFilesNotesHR assistant+▣ Meet ▾
BIU⫶🔗☺📎⋯
Start a post➤
What the business gets live
3departments covered 24/7
0routine questions left to HR, Finance, Legal
FAQ + leadson the website
  1. Employees ask in the channel they already use, in plain language.
  2. The answer comes from the department's own documents, with the source attached.
  3. HR, Finance and Legal stop answering the same questions every week.
  4. The website version answers visitors and captures leads for sales.
ScenariosBusinessTechnical1 of 4 · plays by itself, then moves to the next · or click one

The real screens are under NDA. This mock-up is rebuilt from the real flow: same steps, same integrations, fictional names.

How it is used

01An employee asks the assistant in the department channel, in plain language, as they would ask a colleague.
02Copilot Studio grounds the answer on the department's SharePoint documents and on company data in Databricks; Azure OpenAI generates the reply.
03The answer comes with its source document, so it can be checked; the conversation is logged to Databricks for review and improvement.
04On the website the same assistant answers FAQ and, when the visitor shows intent, asks to send the request by email: the lead reaches sales with the conversation attached.

Architecture

Blue dashed line: the main flow

Results

3departments covered 24/7: HR, Finance, Legal
0routine questions left to the people who used to answer them
FAQ + leadshandled on the company website by the same stack

Stack

Microsoft Copilot StudioAzure OpenAIMicrosoft TeamsSharePointDatabricks

Why Copilot Studio

The client already lived in Microsoft 365: Teams, SharePoint, Azure. Building where people already are removed adoption friction; nobody had to learn a new tool. Grounding on SharePoint keeps every answer sourced and auditable, and Databricks keeps the logs that drive the improvement loop.

Three departments, one pattern

  • HR: vacation, policies, onboarding questions, with the full shared HR knowledge behind it.
  • Finance: expense rules, limits, procedures.
  • Legal: templates, versions, when a clause needs human review.
  • Every conversation logged, so the departments see what people actually ask and fix the documents, not just the answers.

Website assistant and lead capture

The assistant answers first and asks for the request by email only when the visitor shows buying intent. Leads reach sales with the conversation attached, so the first human reply already knows the context.

Real-Estate Lead Widget

Role / services

AI Automation Agent Developer · solo
Lead widget · Make flows · booking

Stack

OpenAI on Replit · Voiceflow
Airtable CRM · Make
Telegram · email · Google Calendar

Client & year

8 Four Agency, Dubai, for a real-estate client © 2021

Live demo ↗

Problem

Leads arrived by email and were read late. Five sales managers spent their day on routine qualification, copying names and phone numbers, and lost buyers who had already moved on to the next agency. The client wanted a visible innovation on the website and, above all, leads that arrive clean and get answered immediately.

What I built

A conversational widget embedded in the client's site with all the information on the properties and buildings for sale. The bot's code and prompt live on Replit, OpenAI is the model, the conversation is designed in Voiceflow, Airtable is the CRM, Make runs the automations. The widget collects the buyer's name, phone and email, the key field. Flow one: the moment a lead is saved, the manager gets a Telegram notification with the lead. Flow two: the buyer receives a personalised email with the availability that matches their request and a button to book an appointment. Flow three: the click opens a request on the manager's Google Calendar and Meet, the manager accepts, the buyer gets the confirmation. Proactive messages fire when the visitor clicks key buttons, which lifted leads a further five points.

Marina Homes · 2-bedroom, sea view×+
‹›↻marinahomes.example/listing/mh-2041☆⋮interactive mock-up
Marina HomesBuyRentNew buildsAgentsMortgagesBook a visit
Home › Buy › Marina district › 2-bedroom apartment, sea view
Sea view · Marina district1 / 14
+10
Ref. MH-2041 · available · updated today
2-bedroom apartment, 92 m²
€310,000€1,180 / month with 20% down · calculate
2 bed2 bath92 m²Floor 6 · liftBalcony 11 m²Parking

Bright two-bedroom apartment on the sixth floor of a 2019 building, with a south-facing balcony over the marina, open kitchen and a parking space in the garage.

Mortgage calculatorFloor planShare
G
Giulia R.Senior agent · Marina office · replies in minutes
Call

Similar homes nearby

€295,0002 bed · 85 m² · Marina
€340,0003 bed · 104 m² · Harbour
€275,0002 bed · 78 m² · Old port
M
Marina Homes● online · answers in seconds
Write a message…↑
Behind the site · Make scenario
AAirtablelead saved
MMake3 flows
TTelegrammanager alert
EEmailmatching homes
CCalendarvisit booked
What the business gets live
+15%client revenue
+10% → +15%monthly leads
5managers freed from qualification
  1. Every visitor who asks gets an answer and leaves clean contact details.
  2. The manager is alerted on Telegram with a summary, not a raw form.
  3. The buyer receives matching homes by email, with a booking button.
  4. The visit lands in the manager's calendar in one click.
  5. Proactive messages on key clicks lift leads from +10% to +15%.
ScenariosBusinessTechnical1 of 2 · plays by itself, then moves to the next · or click one

The real screens are under NDA. This mock-up is rebuilt from the real flow: same steps, same integrations, fictional names.

How it is used

01The visitor asks about a property; the assistant answers from the listing data and collects name, phone and email.
02The lead is saved in Airtable; Make starts the flows immediately.
03The manager receives the lead on Telegram with the conversation summary, seconds after the visitor typed it.
04The buyer receives an email with matching properties and a booking button.
05One click opens the manager's calendar; the manager accepts and the meeting is confirmed to the buyer.

Architecture

Blue dashed line: the main flow

Results

+15%client revenue
+10% → +15%monthly leads, the second step from proactive messaging
5managers onboarded and freed from routine qualification
0manual data entry: leads arrive clean, with name, phone and email

Stack

OpenAIReplitVoiceflowMakeAirtableTelegram Bot APIEmail automationGoogle Calendar · Meet

What made the difference

Email was the key field: the follow-up with matching homes did the selling while the manager was busy. Proactive messages on key clicks, mortgage calculator, floor plan, added five points of leads on their own. And the managers stopped copying data by hand, because it arrived already structured.

Also at the agency, 2020–2024

  • Content and auto-posting automations on Facebook, Instagram, VK and X via Make, for the agency and for clients.
  • The whole way of working of the agency rebuilt in ClickUp as the team grew from 50 to 200 people: HR integrations with automatic onboarding and offboarding, analytics from the client CRM inside ClickUp, structured conversations with roles and permissions, a task manager and a custom scheduling and meeting platform.
  • More than 20 client websites built end to end in JavaScript, Next.js and Astro, with API connections to the CRM, deployed on the clients' servers.
9:41●●● 5G
Manager · Telegramalert
New lead
Marco Rossi · 2BR Marina · ~€300k · wants a visit
9:41●●● 5G
Google Calendarbooking
Thu 16:00 · visit · Marina 2BR
Accepted by the manager · confirmed to the buyer

What each person receives: the manager, the buyer, the calendar.

Chat & Voice Agents

Role / services

AI Automation Agent Developer · one bot per client
WhatsApp · Instagram · Telegram · voice

Stack

WhatsApp · Instagram · Telegram APIs
Make · n8n · OpenAI · Anthropic · OpenRouter
Google Apps Script CRM
Twilio · ElevenLabs · Vapi · Retell

Client & year

8 Four Agency, Dubai, for SME clients © 2021–2024

Live demo ↗

Problem

Clients needed to answer customers at any hour and qualify every contact without hiring staff. Conversations spiked with every ad campaign, and a missed message was a lost customer. It was the most requested build at the agency, and every client had a different stakeholder, a different channel and a different definition of a good lead.

What I built

A bot that starts from a keyword on WhatsApp, Instagram or Telegram, runs a defined flow with an LLM inside, qualifies the contact with a precise prompt written for that client, and files it in a custom CRM built in Google Apps Script, where the lead moves from cold to warm to hot on completed steps. The bots served both customer service, talking directly with the end user, and support for the client's own team. From 2022 the same clients got voice agents: a voice receptionist and an HR agent that collects candidate data, built on Twilio and ElevenLabs; outbound agents on Vapi and Retell that call leads from the client's lists and ask the qualifying questions. Orchestration in Make and n8n with custom code; models from OpenAI, Anthropic and OpenRouter.

WhatsApp×+
‹›↻WhatsApp Business · client bot☆⋮interactive mock-up
Leads · Client StoreGoogle Sheets · Apps Script
#NameChannelInterestStageNext
Cold0
Warm0
Hot0
Automations · n8n
Keyword → flowPROMO starts the qualification flow on every channel
Lead stagecold → warm → hot, written to the sheet in real time
Owner notifiedHOT lead → message to the owner with the summary
Live transcript waiting for the call
What the business gets live
1,000+conversations a month
100%of campaign peaks absorbed
4voice agent types
  1. Every message from an ad is answered within seconds, 24/7.
  2. The bot asks the qualifying questions a salesperson would.
  3. Each contact lands in the CRM with a stage: cold, warm, hot.
  4. The owner is notified only when a lead is hot.
  5. Voice agents cover the phone, including outbound calls.
ScenariosBusinessTechnical1 of 2 · plays by itself, then moves to the next · or click one

The real screens are under NDA. This mock-up is rebuilt from the real flow: same steps, same integrations, fictional names.

How it is used

01A message with a keyword, from an ad or a post, starts the flow on WhatsApp, Instagram or Telegram.
02The LLM, with a dedicated prompt, understands the request and asks the qualifying questions written as explicit criteria.
03The contact is categorised and written to the custom CRM as a cold lead.
04Each completed step, budget, timing, contact details, moves the lead to warm and then hot; the owner is notified.
05Voice agents cover the phone: receptionist, HR data collection, outbound calls with qualifying questions.

Architecture

Blue dashed line: the main flow

Results

1,000+conversations a month across the bots, 24/7
100%of campaign peaks absorbed, no channel left uncovered
cold → hotqualification fully automated on completed steps
4voice agent types: receptionist, HR, sales, outbound

Stack

WhatsApp Business APIInstagram Messaging APITelegram Bot APIMaken8nOpenAIAnthropicOpenRouterGoogle Apps Script CRMTwilioElevenLabsVapiRetell

Design rules I kept

  • One prompt per client, with the qualification criteria written as explicit questions, never left to the model's judgment.
  • Pipeline stages change only on completed steps: a lead cannot become hot without contact details.
  • Every bot runs 24/7; when a campaign spikes, conversations grow without a channel going uncovered.

Voice agents, 2022–2024

  • Voice receptionist on Twilio and ElevenLabs: answers, routes, takes the message.
  • HR voice agent: collects candidate data in a conversation that follows the prompt.
  • Outbound agents on Vapi and Retell: call the leads, ask the qualifying questions, hand the result to the CRM.
  • A Sales agent, and a Finance agent that processes internal data, on the same orchestration.

Before all this · Business Analyst, 2017–2020

Automotive group in Rome, more than 1,000 employees, a fleet of about 200,000 vehicles. Power BI KPI dashboards built on SQL, AWS extracts and internal APIs with the IT department, for the whole sales department and for management with alerts. Idle stock down 25% because data moved faster and used cars sold sooner. KPI and invoice control for a supplier worth two to three million euros a year. Four new analysts onboarded and trained.

9:41●●● 5G
Client StoreInstagram
Is the downtown gym open on Sunday?
Yes, 8–20. Want a free trial?
lead → cold
9:41●●● 5G
Outbound callvoice
You asked about membership yesterday, two minutes?
Sure.
transcript → CRM · HOT

Same flow on every channel; voice agents cover the phone.