Накратко
„AI за всеки“ е български онлайн магазин за книга, която учи хора без технически опит да използват изкуствен интелект в ежедневието и работата си. Изградихме цялата система зад магазина – от рекламните страници и поръчката до създаването на товарителници, проследяването на пратките и изпращането на бонус материалите след доставка. Целта беше малък екип да обработва поръчките почти без ръчна работа, а всяка стъпка по пътя на клиента да се случва автоматично и навреме.
Предизвикателството
Продажбата на физически продукт в България включва много повтаряща се ръчна работа. Всяка поръчка трябва да се потвърди по телефона, за нея се създава товарителница в Еконт, клиентът се уведомява при изпращане, пратката се следи до доставката, а след това се изпращат бонус материалите според закупения пакет. При повече поръчки на ден този процес става бавен и води до грешки: забравени имейли, двойни съобщения или клиенти, уведомени, че пратката им „пътува“, докато тя още стои на склад.
Имаше и още изисквания:
- сайтът трябваше да продава на студен трафик от реклами в Meta;
- трябваше да се измерва кои кампании носят поръчки;
- клиентите, които напускат поръчката по средата, не трябваше да се губят;
- всичко трябваше да работи с минимални разходи за инфраструктура.
Решението
1. Сайт, който продава
Фронтендът е изграден с React 19 и Vite. Има две отделни страници:
- основна продажбена страница за посетители, които вече познават продукта;
- страница за студен трафик, чието заглавие продължава посланието на рекламата.
Така двата потока се измерват поотделно и не си пречат.
За да изглежда продуктът осезаем, направихме интерактивна 3D книга, която се отваря с клик и се прелиства като истинска. Страниците се генерират от PDF файла на книгата чрез собствен скрипт с pdf.js, така че в браузъра никога не попада цялата книга. Добавихме и анимиран WebGL фон, демонстрация как AI отговаря на въпроси в реално време, брояч на наличността и таймер за ограничената оферта.
Формата за поръчка включва избор на офис на Еконт в реално време. Търсенето на град работи и на кирилица, и на латиница, така че „sofia“, „sof“ и „соф“ намират София.
2. Сигурен бекенд без сървър
Бекендът се състои от serverless функции в Netlify, а данните се пазят в Netlify Blobs. При всяка поръчка:
- цените се определят само на сървъра, за да не могат да бъдат променени от браузъра;
- всички полета се проверяват повторно на сървъра;
- ботовете се разпознават по скрито поле и по неестествено бързо попълване, но получават нормален отговор, за да не разберат, че са блокирани;
- клиентът получава брандиран имейл за потвърждение чрез Resend;
- собственикът получава моментално известие на телефона.
Данните за достъп до Еконт са скрити зад прокси функция и никога не достигат до браузъра.
3. Автоматизация на операциите – сърцето на проекта
Бек офисът на бизнеса е Google Sheets таблица, управлявана от Google Apps Script. Процесът е следният:
- 1Нова поръчка. Попада автоматично в таблицата с дата, клиент, адрес, пакет, сума и източник на трафика.
- 2Потвърждение. Служител се обажда на клиента и отбелязва „Потвърдена“. Системата веднага създава товарителница в Еконт и я записва в реда на поръчката.
- 3Изпращане. На всеки 30 минути скрипт проверява статуса на всяка пратка в Еконт. Имейлът „пратката ти е на път“ тръгва едва когато куриерът реално е сканирал пратката, а не когато е създаден етикетът. Така клиентът никога не получава невярна информация.
- 4Доставка. Когато Еконт отчете доставка, клиентът автоматично получава бонус материалите според закупения пакет: документ, промпт шаблони или достъп до AI асистента. Статусът в таблицата се обновява сам.
- 5Защита от повторения. Всеки изпратен имейл се отбелязва в отделна колона, така че нищо не се изпраща два пъти. Отказаните и върнатите поръчки се пропускат.
Екипът все още може да се намеси ръчно: смяната на статус или въвеждането на товарителница задейства същата логика. Скриптът намира колоните по заглавие, а не по позиция, затова таблицата може да се пренарежда, без нещо да се счупи.
4. Автоматизация на маркетинга
- Изоставени колички. Когато посетител напусне страницата за поръчка, въведените данни се запазват чрез
sendBeacon, дори при непълен формуляр. Записът попада в отделен раздел на таблицата. При последваща покупка клиентът се маркира като купил и отпада от списъка. За останалите се създава чернова на имейл, която екипът преглежда и изпраща. - Безплатен материал срещу имейл. Посетителите, които още не са готови да купят, могат да оставят имейла си, за да получат безплатен PDF. Така бизнесът изгражда собствена аудитория, която не зависи от рекламния профил.
- Проследяване на кампаниите. Всяка поръчка носи информация от коя реклама е дошла. Meta Pixel се зарежда едва след съгласие за бисквитки (GDPR), а допълнителни събития отчитат колко надолу скролват посетителите и колко от тях стигат до цената.
- Масови имейли. Скрипт изпраща обновления до всички клиенти, като сам избира правилния вариант на имейла според закупения пакет. Има режим за проба, който само показва кой какво ще получи.
5. Автоматизирано съдържание за Instagram
Изградихме отделен процес за социалните мрежи, който също върви от само себе си:
- 1Всяка неделя функция по график стартира GitHub Actions, където AI генерира седмичен пакет публикации.
- 2Собственикът получава имейл с бутони „Одобри“ и „Отхвърли“ за всяка публикация. Линковете са защитени с HMAC подпис.
- 3Одобрените публикации получават свободни часове за публикуване по реда на одобрението.
- 4Друга функция следи българското време, включително смяната лятно/зимно часово време, и задейства публикуването точно в зададения час.
Процесът е защитен от двойно публикуване.
6. AI функционалности
- AI асистент за промптове (Gemini). Потребителят описва задача с прости думи и получава готов промпт на български. Безплатните опити са ограничени по IP адрес на сървъра, така че не могат да се заобиколят с презареждане. Системата сама избира наличен модел, когато Google спре стар.
- Мониторинг на грешки. Грешките в браузъра се групират и броят, а собственикът получава обобщен имейл с обяснение на разбираем български какво се е объркало, генерирано от AI.
7. Store Kit – от един проект към продукт
За да може системата да се използва многократно, създадохме генератор. От един конфигурационен файл той изгражда нов брандиран магазин за друг клиент: сайт, serverless функции, Apps Script автоматизации, брандирани имейли и ръководство за настройка. Маркетинговите текстове се генерират с Claude API само от името на продукта. Генераторът умишлено не създава измислени отзиви от клиенти.
Интересни технически решения
- Графиците на GitHub са неточни. Cron задачите в GitHub Actions често закъсняват с часове, затова ги стартираме от функции по график в Netlify, които са точни.
- Cron в Netlify не познава часовите зони. Функцията се стартира в двата UTC момента, които отговарят на желания час в София през лятото и зимата. Проверка в кода пропуска само единия от тях всеки ден.
- Еконт е източникът на истината. Имейлите към клиента зависят от реални сканирания на куриера, а не от ръчни отметки.
- Внедряване. Собствен скрипт с esbuild пакетира всяка функция самостоятелно и сглобява готова папка за Netlify.
Резултати
- Обработката на поръчка се свежда до едно телефонно обаждане и една отметка. Всичко останало – товарителница, проследяване, имейли и бонуси – става автоматично.
- Клиентите получават навременна и точна информация на всяка стъпка, без двойни или грешни съобщения.
- Нито един клиент, оставил данни, не се губи: изоставените колички и абонатите за безплатния материал влизат в таблицата.
- Инфраструктурата работи на serverless платформа почти без разходи.
- Системата вече е шаблон, от който се генерират магазини за нови клиенти.
Поуки
Проектът показа, че най-голямата стойност на автоматизацията не е скоростта, а надеждността. Системата прави всяка стъпка точно веднъж и в правилния момент, за разлика от човек с претоварен ден. Най-важните решения бяха бизнес решения, превърнати в код: имейл се изпраща чак когато пратката наистина е тръгнала, а безплатният материал е под офертата, а не над нея.


