home/ work/Dealko
AI Lead & Full-Stack · 2024 — 2025 · First in SI

Dealko

The first Slovenian AI assistant for comparing telecom packages — intelligent conversation, lead qualification, and a GDPR-compliant embeddable widget that drops into partner sites in minutes.

Role AI lead & full-stack
Duration 2024 → 2025
Market Slovenia · first
Delivery embeddable widget · JS SDK
Domain Telecom · AI · Lead gen
Status Live · production
Market milestone
First in SI
AI telecom assistant
Delivery format
Widget
embeddable JS SDK
Compliance
GDPR
lead-consent flow
Market position
category creator
first Slovenian AI telecom comparison
partner-site.si/ponudbeIzberite pravi paketPrimerjajte ponudbe slovenskih operaterjevTelco A€29/mo40 GB · 1000 minTelco B€19/mo20 GB · 500 minTelco C€39/mo100 GB · neomejenoDealko● LIVEPozdravljeni 👋 Povejte mi, kajpotrebujete — koliko GB, kolikolinij, streaming?AGENT · plan3 linije, 80 GB, streaming bundle:Telco C · €48 /mo ↓Pusti kontaktGDPR ✓

Overview

Most telecom comparison tools in Slovenia are static tables. Dealko is the first to let a user actually talk about what they need — “three lines, 80 GB shared, streaming included” — and get a qualified recommendation back, along with a GDPR-compliant path to become a warm lead for the matching operator.

I built the system end-to-end: a React widget that drops into any partner site with a single <script> tag, a PHP backend that brokers conversations and enforces GDPR consent, and an OpenAI layer with tool-calling for plan lookup, port-eligibility checks, and lead handoff.

The interesting engineering isn’t the LLM — it’s the GDPR consent flow, the idempotent lead-handoff to the operator’s backoffice, and the widget architecture that keeps conversation state even when the user reloads the page.

Architecture

~/dealko/architecture/system-map.svg
01 — CLIENT SURFACESEmbeddable widgetReact · single <script> tag · shadow DOMOperator admin consoleReact · tenants · logs · analyticsPartner site (telco comparison portal)widget injected · host page untouchedBrokerPHP · budget · content safety · GDPR consenttool-calling router · idempotent lead handoffnever calls OpenAI from the browser02 — INTELLIGENCE & DATAOpenAIGPT · tool-callsPlan catalogMySQL · operator dataConversation logMySQL · GDPR-taggedOperator CRM (lead handoff)idempotent · consented leads only

Reading the diagram: The widget embedded on partner sites and the operator console both speak only to the PHP broker — never directly to OpenAI. The broker enforces budget, GDPR consent, content safety, and idempotent lead handoff. Leads reach the operator CRM only after explicit consent has been recorded.

The interesting engineering isn't the LLM — it's the GDPR consent flow, the idempotent hand-off to the operator's CRM, and the widget architecture that survives a page reload mid-conversation.
Davor Majc, AI lead / Dealko
03 What I delivered · challenges solved

Six things shipped,
three hard ones solved.

Key contributions

  • Built the React widget with shadow-DOM isolation so it can't leak styles into partner sites.
  • PHP broker enforcing budget, consent, content safety, and tool-call routing.
  • OpenAI integration with function-calling for plan lookup, port-eligibility, and lead handoff.
  • GDPR-first lead flow — explicit consent capture, deletion-on-request, conversation retention policy.
  • Operator admin console for partners to watch live conversations and debug edge cases.

Challenges solved

  • Being first in market — no reference design to copy from, UX patterns invented from scratch.
  • GDPR-compliant conversation logging without losing the context needed to debug AI behavior.
  • Idempotent lead handoff so a network retry never creates a duplicate lead in the CRM.
04 Tech stack

What's under the hood.

ReactTypeScriptTailwindPHPMySQLOpenAIfunction callingshadow DOMGDPR
Let's talk

Ready to fix, build,
or scale?

30 minutes, with me personally. I'll read your system like a log file and tell you what I'd do first. No pitch deck, no sales funnel.

Davor Majc, founder, Numen

What you get on call
→ a one-page diagnosis
→ 2–3 fix shapes, ranked by leverage
→ rough cost + timeline for each
→ yes/no — am I the right fit
+386 40 828 474 · Blejska Dobrava, SI