Domov/ delo/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.

03 Kar sem dostavil · rešeni izzivi

Šest stvari dostavljenih,
tri težke rešene.

Ključni prispevki

  • 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.

Rešeni izzivi

  • 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.
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
04 Tehnološki sklad

Kaj poganja stvari.

ReactTypeScriptTailwindPHPMySQLOpenAIfunction callingshadow DOMGDPR
Pogovorimo se

Pripravljeni popraviti, zgraditi
ali skalirati?

30 minut, z mano osebno. Preberem vaš sistem kot dnevniško datoteko in povem, kaj bi naredil najprej. Brez prezentacij, brez prodajnega lijaka.

Davor Majc, ustanovitelj, Numen

Kaj dobite na klicu
→ enostranska diagnostika
→ 2–3 obliki rešitve, razvrščeni po učinku
→ okvirni strošek + časovnica za vsako
→ da/ne — ali sem prava izbira
+386 40 828 474 · Blejska Dobrava, SI