Blog

  • Продажи в чатах для агентств

    Продажи в чатах для агентств

    Юные предприниматели и фрилансеры думают, что в телеграм чатах нет клиентов. А те, кто пытается продавать, сливают продажи.

    Долгое время для моего агентства чаты были основным источником новых лидов. Мы брались за разные работы: маркетинг, разработка, поддержка, SEO, закупка трафика, дизайн.

    Как это было устроено:
    – Завели роль Лидоруб — сотрудник, который первый сталкивается с лидами или ловит их в интернете. Его задача — быстро реагировать. Не нужно быть классным продажником, достаточно уметь общаться.
    – Завели тг-аккаунт, в котором постоянно сидел наш Лидоруб.
    – Аккаунт был подписан на несколько сотен чатов с предпринимателями, диджитал-специалистами, агентствами, обучающими курсами. Всё, что смогли найти.
    – Чаты отсортированы по папкам. Самые качественные вынесены в отдельные папки, чтобы быстрее реагировать.
    – Лидоруб половину рабочего дня просматривал чаты на предмет запросов на услуги.
    – Если видел сообщение с запросом “а подскажите хорошего директолога”, то публично отвечал “могу порекомендовать Никиту” и давал контакт нашего продажника.
    – Другой вариант — лидоруб сам откликался на запрос и проводил первичный диалог, выявлял потребность (что именно нужно) и квалифицировал клиента (а скиньте ссылку на ваш сайт).
    – Продажник ждал лиды, поэтому оперативно реагировал. Писал клиенту сам, подхватывал диалоги, назначал встречи.
    – Мы откликались на любые запросы, в том числе мелкие. Задача была наладить коммуникацию и завоевать доверие. Целевому клиенту можно было сделать самую маленькую задачу, а потом продавать комплекс услуг или долгий проект.

    Мой личный рекорд продажи из чатов в тот период — сделка на 1.3 млн рублей.

    Этой схемы хватало, чтобы создать в небольшом агентстве постоянный приток новых клиентов. Без каких-либо автоматических сервисов и спама. В чатах разнородные клиенты, разные ниши, очень разные чеки. Клиенты в чатах точно есть и они хотят покупать!

    Посты по теме:
    – Виды лидгена в агентство
    – Лидген на отраслевых выставках
    – Подборка материалов для агентств

  • Попробовал модный веб-сервер Caddy вместо Nginx

    Попробовал модный веб-сервер Caddy вместо Nginx

    Попробовал модный веб-сервер Caddy вместо Nginx.

    Обычно в архитектуре проектов я использую голый NGINX. Мой блог вряд ли в первое время столкнётся с высокими нагрузками, поэтому можно поэкспериментировать.

    NGINX (Engine X) — самый популярный веб-сервер (33% рынка), написанный на C. Изначально был написан 20 лет назад программистом из Rambler.
    Раньше Nginx многие использовали как обратный прокси для Apache2, чтобы его ускорить. Nginx занимался статичными файлами (картинки, CSS), а Apache2 запускал PHP-скрипты. Постепенно Apache2 стали убирать и всю работу переносить на Nginx, потому что он быстрее и лучше держит большие нагрузки. Есть большая экосистема дополнений, отличная документация и множество примеров использования. Стабильный продукт, с которым я работаю на всех проектах.

    А тут в инфополе стал мелькать Caddy. Чем же он покоряет разработчиков?
    – Более лёгкая конфигурация SSL-сертификатов. Точнее, её нет, Caddy делает всё сам — пользователю больше не нужно настраивать стандартные сертификаты Let’s Encrypt.
    – Поддержка HTTP/2 и HTTP/3 из коробки.
    – Поддержка компрессии gzip и zstd из коробки.
    – Простой синтаксис конфигурационных файлов. Очень похож на Nginx, но проще и яснее. Конфиги сокращаются в размере, вероятность ошибки ниже.
    – Caddy — это всего один исполняемый файл без зависимостей. Его легко устанавливать и обновлять.
    – Новый плагин можно подключить к Caddy без перезагрузки и простоя в работе.
    – После установки Caddy показал симпатичную страницу по-умолчанию с небольшой инструкцией.

    Есть у него и минус:
    – Caddy на предельной нагрузке может обработать меньше запросов, чем Nginx. Приоритет Caddy на простоте использования и автоматизации. На этом бенчмарке разница начинается от 10 тысяч запросов в секунду, что практически недостижимо для маленьких проектов.

    Мои впечатления — мне понравилось с ним работать. Действительно легкая установка и конфигурация. Видно, что авторы много работали с другими веб-серверами и свой продукт сделали удобным и современным.

    На моём сайте пока что висит статическая заглушка, вот весь конфиг:

    fullstackfounder.ru {  
           root * /var/www/fullstackfounder.ru/public  
           file_server  
           encode zstd gzip  
    }  
      
    www.fullstackfounder.ru {  
           redir https://fullstackfounder.ru{uri} permanent  
    }

    Аналогичный конфиг у Nginx выглядел бы вот так:

    server {
        listen 80;
        server_name fullstackfounder.ru www.fullstackfounder.ru;
    
        # Redirect all HTTP to HTTPS
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        server_name fullstackfounder.ru;
    
        ssl_certificate     /etc/letsencrypt/live/fullstackfounder.ru/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/fullstackfounder.ru/privkey.pem;
        include             /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam         /etc/letsencrypt/ssl-dhparams.pem;
    
        root /var/www/fullstackfounder.ru/public;
        index index.html index.htm;
    
        # Enable gzip
        gzip on;
        gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
        # Canonical redirect: www → non-www
        if ($host = 'www.fullstackfounder.ru') {
            return 301 https://fullstackfounder.ru$request_uri;
        }
    
        location / {
            try_files $uri $uri/ =404;
        }
    }

    Очевидно, что при работе с Caddy будет проще всё настроить. Мой вывод: дружелюбный сервер для разработки, DevOps, небольших проектов и соло-разработчиков. Сомневаюсь, что он завоюет высокие нагрузки, но свой вклад в улучшение веб-серверов он уже внёс.

    Буду запускать на нём WordPress, посмотрим, что из этого выйдет.

  • Почему я выбираю VDS?

    Почему я выбираю VDS?

    Логично для блога выбрать минимальный тариф на обычном дешёвом хостинге — на так называемом Shared. На таких тарифах на одном сервере размещены сотни клиентских сайтов. Админ хостинга уже настроил все службы и программы, чтобы обычный пользователь мог про это не думать.
    Но я для блога беру минимальный виртуальный сервер примерно за те же деньги. Для меня это полная свобода действий.

    Вот что я смогу сделать на VDS и не смогу на обычном хостинге:
    – Разместить на одном сервере сколько угодно сайтов и привязать к ним любое количество доменов.
    – Динамически менять ресурсы на сервере.
    – Не переживать, что мой сайт перенесли на другой сервер, поэтому нужно поменять IP-адрес в DNS. На шаред хостингах это могут делать несколько раз в год, нужно следить за уведомлениями, чтобы сайт не перестал работать.
    – Настроить сервер под меня с помощью пары ansible-скриптов.
    – Поставить нужный мне веб-сервер Caddy или кастомную сборку NGINX. Избежать Apache2, который до сих пор часто работает на шаред хостингах.
    – Разместить публичную папку сайта в любой папке, а не только в предварительно за меня выбранной public_html. Для моей сборки WP или Laravel это важно.
    – Установить git, composer, WP-CLI нужных мне версий и обновлять их самому.
    – Поставить любую версию PHP с нужными расширениями и оптимизировать все настройки, включая OpCache.
    – Настроить все параметры для базы данных MySQL.
    – Добавить сборщики для фронта (npm, pnpm).
    – Добавить memcached для кэширования в оперативной памяти — пригодится для ускорения WordPress.
    – Управлять логами, менять их формат, включать дополнительные логи для медленных скриптов и запросов. Размещать логи в нужной мне папке.
    – Поставить CI-агента от GitLab, который будет автоматически обновлять сайты после внесения изменений в Git.
    – Отключить FTP-протокол, чтобы сайт не взломали через утечку FTP-паролей.

    Создал VDS у Beget за 290 рублей в месяц.
    Конфигурация: CPU 1 core, 2 GB RAM, 10 GB NVMe, Ubuntu 24.04.

    Посты по теме:
    – План запуска блога
    – Удобный SSH-доступ
    – Выбор хостинга для сайта

  • PNG наносит ответный удар

    PNG наносит ответный удар

    Прошло 20 лет с момента выхода графического формата PNG. Это был не очень понятный формат: JPG лучше сжимал фотографии, GIF можно было анимировать. Единственным явным преимуществом PNG была поддержка полупрозрачности. Помню, чтобы заставить его работать в Internet Explorer 6, приходилось добавлять на сайт дополнительный скрипт.

    На самом деле ценность PNG — в расширенной цветопередаче и компрессии без потери качества (в отличие от JPG).

    Этим летом Adobe, Apple, BBC, Comcast / NBCUniversal, Google, MovieLabs и консорциум W3C объединились и обновили спецификацию формата PNG.

    Что изменилось:
    – Добавлена поддержка HDR — расширенная цветопередача. Именно из-за этой фичи формат решили обновить, что интересно — в интересах субтитров для телетрансляций и кинофильмов.
    – Добавлена поддержка EXIF — метаданные в картинках.
    – Повсеместно внедрены анимированные PNG. Это предлагала Мозилла 20 лет назад, но их тогда не поддержали.
    – В целом, улучшили документацию стандарта.

    Обновленный формат уже поддерживается в Chrome, Safari, Firefox, iOS/macOS, Photoshop, DaVinci Resolve, Avid Media Composer.

    Ожидается скорый выход новых редакций формата, в которых обещают ещё улучшения по цветопередаче и сжатию.

    Спецификация PNG ver. 3
    Статья как работают цветовые пространства от одного из создателей формата

  • Топ постов в канале за июнь по вашим реакциям

    Топ постов в канале за июнь по вашим реакциям

    Больше всего лайков собрали не технарские материалы 🤷‍♂️

    План запуска блога
    Недавний анонс серии постов вышел на 1ое место. Намёк понял, посты уже готовлю.

    Мастермайнд для руководителей агентств
    Я выступал в оффлайне, мне понравилось. А вам понравилось, что я об этом рассказал, судя по реакциям.

    Сравнительный анализ
    Пост-рефлексия про профессиональную самооценку.

    Часовое видео — за 5 минут
    Как с помощью AI сделать саммари из длинных видео.

    Фильм: Человек, который изменил всё / Moneyball
    Рекомендую хорошее кино про ботанов.

    Процентные пункты
    Почти все маркетологи говорят неправильно!

    Как плохая поддержка убивает хороший сервис
    Потерянное воскресенье из-за службы почтовых рассылок.

    Как узнать размер рыночной зарплаты?
    Анализ спроса и предложения на HH.

    MCP простыми словами
    Ботаны дают AI доступ к инструментам.

    Лидген на отраслевых выставках
    Как добыть клиентов в оффлайне.

    Бонус:
    Таблица Open Source вместо платной подписки. Рабочие альтернативы для агентств и стартапов

    Спасибо, что читаете! ❤️

  • Пеликаны на велосипедах

    Пеликаны на велосипедах

    Вам тоже надоели сравнения нейросетей (LLM) между собой? Огромные таблицы с непонятными цифрами, которые понимают только специалисты. Есть более наглядный вариант для бенчмарка. Саймон Виллсон, бывший техдир Eventbrite и один из создателей фреймворка Django, уже несколько лет сравнивает способности LLM на одной задаче:
    Сгенерируй SVG-изображение пеликана, едущего на велосипеде

    Почему эта задача так хороша?
    – SVG — формат для векторной графики, но эта графика описана текстом в виде XML-кода. То есть, это и текст, и код, и изображение одновременно!
    – Нарисовать велосипед — не самая простая задача даже для взрослого человека. Многие не могут вспомнить, как выглядит рама или руль.
    – Пеликан в векторном виде будет мультяшным, его тоже не просто нарисовать.
    – Пеликаны не ездят на велосипедах! Велосипеды не приспособлены для них. Нужно проявить изобретательность, чтобы сделать такую картинку.

    Результаты работы вы видите сами. Модели учатся рисовать птиц за рулём и это у них получается всё лучше. Саймон регулярно публикует новые результаты у себя в блоге. Думаю, мы ещё не раз увидим пеликанов на велосипедах.

    Занимательные ссылки:
    – Свежие пеликаны на велосипедах
    – Самая ранняя подборка пеликанов на велосипедах
    – Подробный обзор LLM за последние полгода и много пеликанов

  • NFT-коллекция аватаров PostHuman

    NFT-коллекция аватаров PostHuman

    Как отдыхает программист? Пишет код для удовольствия!

    На днях произошёл запуск NFT-коллекции, в работе над которой я принял участие в качестве разработчика. В проекте работает команда: менеджмент, дизайнеры, коммьюнити-менеджеры и партнёры.

    Наши пиксельные аватары сделаны по принципу знаменитых Крипто Панков. Слои с головой, одеждой, причёсками и глазами комбинируются случайным образом. У других авторов аватары заранее генерируются, отбираются куратором и лучшие публикуются на блокчейне как коллекция. У нас всё получилось гораздо мощнее — фабрикатор постоянно онлайн и у коллекции нет модератора. Автомат генерирует случайные комбинации из 13 видов слоёв, от заднего фона до цвета глаз. Выпадет одна из 615,000,000,000,000,000 комбинаций!

    Как работает механика:
    – Валидатор Posthuman и Omniflix.TV распространяют NFT-сферы своим пользователям. Многие получат сферу бесплатно или за какие-то активности. Также сферы можно купить на маркете.
    – Сферы работают как билеты или жетончики. Их можно отправить в автомат, который сгенерирует новый NFT-аватар.
    – Аватар можно использовать в приложениях экосистемы или продать на маркете.
    – Аватар будет случайный, поэтому может не понравится пользователю.
    – Аватар можно за небольшую плату сдать в регенератор и получить взамен новую сферу.
    – Это вызывает цикл обменов и генераций, пока не выпадет подходящий аватар.
    – Аватары бывают трёх рас: Человеки (разного пола и цвета кожи), Роботы и Пришельцы.
    – Аватары и сферы бывают разной редкости: Обычные, Бронзовые, Серебряные, Золотые, Платиновые, Бриллиантовые.
    – У частей картинки разная вероятность выпадания. Робот в шапке-ушанке более редкий, чем просто робот. Костюм космонавта более редкий, чем рубашка.

    Как заработать на NFT-аватарах? Я не знаю — я программист :]
    Можно генерировать редкие классные аватарки и продавать на маркетплейсе. Сейчас это дополнительное развлечение для участников блокчейн-экосистемы. Мы запустились пару дней назад, а уже создано 1200 аватаров.

    Промо-лендинг коллекции https://avatars.posthuman.digital/
    Сгенерированные аватары на маркете: https://omniflix.market/c/collectNow/onftdenomf3c4a963c49747039217eba1dc10282e
    Посмотреть, какие аватары выпадают прямо сейчас https://t.me/posthuman_avatars
    Автомат по генерации аватаров https://mint-posthuman-avatar.omniflix.market/

  • Выбор и регистрация домена

    Выбор и регистрация домена

    Иногда я покупаю домены и они лежат на полочке годами, ждут проект. Иногда я не могу придумать домен для проекта неделями.

    Самое главное, что облегчает выбор названия — чёткие критерии выбора.

    Мои критерии при выборе домена:
    – фонетически однозначен — легко правильно записать или запомнить.
    – не содержит дефис — это лишнее слово, если нужно произнести домен вслух.
    – в популярной доменной зоне (ru, com) или отраслевой (fm, agency, vc).
    – смотрю на стоимость продления — это гораздо важнее стоимости регистрации.
    – желательно меньше слов в названии.

    В первую очередь иду на Namecheap в режим поиска домена Beast Mode. Деньги из
    России этот сервис принимать не хочет. Зато здесь лучший поиск по новым и экзотическим доменным зонам. 1200 доменных зон — есть из чего выбрать и почерпнуть идеи.

    Обнаружил там доменные зоны blog, dev, tech, technology, expert. По названию блога начал накидывать слова: CTO, sensei, techdir, fullstack founder. Из всех очевидных сочетаний fullstackfounder.blog оказался свободен — и всего за $3! Длинновато, но полностью отражает суть.

    Дальше иду к российским регистраторам доменов, ведь я хотел бы продливать домен за рубли. Тут меня ждут сюрпризы. В скобках указана стоимость продления. Reg не указывает стоимость продления — это может оказаться ловушкой с иностранным доменом.

    Сравнение для домена fullstackfounder.ru
    namecheap — недоступно
    nic — 189 р. (590 р.)
    reg — 119 р. (?)
    beget — 179 р. (390 р.)

    Сравнение для домена fullstackfounder.blog
    namecheap — $3 ($24)
    nic — недоступно
    reg — 531 р. (?)
    beget — 2930 р. (4010 р.)

    Каждый раз нужно проверять стоимость регистрации у разных регистраторов. Как видите, цена может отличаться в несколько раз.

    По итогу сравнения беру ru домен у Reg. Отказываюсь от всех сопровождающих услуг при заказе — они не нужны, сервис навязывает лишние платежи. Также следую правилу держать домен отдельно от хостинга, поэтому хостинг возьму отдельно.

  • План запуска блога

    План запуска блога

    Когда сталкиваешься со сложной задачей, начинаешь в первую очередь делать то, что уже умеешь. Я столкнулся с задачей по набору читателей в канал и не могу успокоиться, пока не попробую решить этот вопрос как умею — сделаю сайт! Решил, что хочу себе олдскульный блог.

    У блога по сравнению с каналом куча преимуществ:
    – Посетители смогут найти эти статьи в обычном поиске.
    – Этим же посетителям я предложу подписаться на социальные сети.
    – Можно будет публиковать статьи на сайт и автоматически кросс-постить в разные каналы: Телеграм, ВК, Дзен, E-mail-рассылку.
    – Если какую-то социальную сеть забанят или удалят мой аккаунт, контент останется у меня.
    – Нейросети будут обучаться на моих статьях, внесу вклад в общие знания.
    – На сайте можно будет размещать рекламу.

    Чтобы зафиксировать достижение, поставлю себе измеримую цель:
    – через 1 месяц — запустить блог и начать кросс-постинг
    – через 12 месяцев — получать больше 10 000 читателей на сайте ежемесячно

    Для этого буду использовать самый популярный движок для блога WordPress. В серии постов я пройду весь путь от идеи до первых посетителей. Буду ставить себе задачи в трекере и учитывать время по таймеру. Расскажу про все возникающие препятствия. Хочу сделать из этого сайта самый технологически навороченный WordPress на сегодняшний день.
    Буду писать про это несколько раз в неделю. Покажу и техническую изнанку, и маркетинговую составляющую, и контентную кухню. Все цифры раскрою.

  • Как агентству зарабатывать дополнительные деньги

    Как агентству зарабатывать дополнительные деньги

    Агентство выбирает и подключает в проекты клиента множество сервисов:
    – Хостинг и домены
    – Эквайринг
    – CRM или складские системы
    – Телефонию
    – Колл-трекинг и сквозная аналитика
    – E-mail-рассылки
    – SMS-рассылки
    – Мониторинг сайта
    – Пополнение рекламных кабинетов

    Агентство всё равно будет подключать все эти сервисы во время работы, поэтому стоит найти у сервиса партнёрскую программу и заключить договор. Клиенту нужно прямо и честно сказать о наличии статуса партнёра. Это только укрепит доверие к агентству.

    Клиенту выгодно прислушаться к агентству:
    – именно с этим сервисом сотрудники агентства умеют работать, а значит будет меньше ошибок и быстрее работа
    – партнёрская программа зачастую даст выделенную техническую поддержку, а значит более внимательное отношение и решение проблем
    – возможно, что будут дополнительные бонусы, специальные предложения или особые тарифы
    – партнёрская комиссия уже заложена в бизнес-модели сервиса, а значит цена для клиента не изменится
    – агентство больше любит и ценит клиентов, подключающихся через него к сервисам

    Все станут богаче, если клиенты будут подключать все сервисы через агентство.