Як я створив платформу SaaS, працюючи на повний робочий день, за допомогою Ruby on Rails

pic

Інтелект рекламодавців HiEnergy Rocket

Створення платформи Software-as-a-Service (SaaS) вимагає балансу між технічною ефективністю, масштабованістю та орієнтацією на користувача. HiEnergy Rocket Advertiser Intelligence була задумана як рішення на базі штучного інтелекту для оптимізації пошуку та аналізу афілійованих маркетингових програм.

Цю платформу я створював під час своїх ночей і вихідних у співпраці з моїми співзасновниками в HiEnergy Agency: Dexter Dethmers, колишнім керівником у Honey та CJ, і Jen Goodwin, досвідченим лідером з великим досвідом роботи в CJ. Разом ми поєднали наші знання для створення платформи, яка спрощує пошук афілійованих програм, зберігаючи при цьому акцент на зручності та продуктивності.

Коли Декстер звернувся до мене зі своїм баченням побудови цього інструменту з нуля, я відразу ж зацікавився. Спочатку я думав, що це буде веселе побічне завдання на 40 годин — можливість створити щось важливе і одночасно покращити свої навички. Я працював з Декстером, коли він консультував компанію, де я був інженером, і я знав його здатність мислити масштабно і реалізовувати ідеї з точністю. Те, що почалося як проста концепція, швидко переросло в великий проєкт, який змусив мене зростати в тих напрямках, яких я не очікував.

Маючи досвід створення кількох продуктів з нуля, я завжди вважав такі проєкти можливістю для нетворкінгу, удосконалення своїх технічних навичок і співпраці з талановитими людьми. Це п’ятий продукт, який я створив з нуля, і він відображає мою глибоку пристрасть до інженерії — використання технологій для створення інноваційних і масштабованих рішень.

Я розглядаю інженерію як надмірно оплачувану роботу синього комірця — в її основі лежить будівництво, вирішення проблем і вдосконалення систем для їх безперебійної роботи. Є глибоке задоволення від того, щоб побачити, як продукт переходить від концепції до реального рішення, яке люди активно використовують. Хоча технічні виклики є приємними, справжнє задоволення приходить від розуміння, що те, що я створюю, має значущий вплив, роблячи складні проблеми простішими та доступнішими для користувачів.

Якщо вам цікаво, що ми створили, ви можете спробувати нашу безкоштовну версію сьогодні: HiEnergy Rocket.

Технологічний стек

Щоб забезпечити швидке впровадження та довготривалу підтримку, я вибрав стек, який оптимізує ефективність розробки та продуктивність:

  • Ruby on Rails: Надзвичайно продуктивний фреймворк для швидкого прототипування та масштабованого розгортання.
  • OpenAI API: Використовується для нормалізації маркетингових текстів і класифікації рекламодавців через мережі.
  • Gemini API: Інтегровано для очищення та стандартизації даних, що забезпечує єдину аналітику через кілька мереж.
  • PostgreSQL: Масштабована реляційна база даних для керування структурованими наборами даних.
  • Bootstrap 5: Використано для створення чуйного, мінімалістичного інтерфейсу з підходом, орієнтованим на мобільні пристрої.
  • D3.js: Використано для динамічної візуалізації даних, що дозволяє легше інтерпретувати складні метрики.
  • Solid Queue: Використано для обробки в фоновому режимі, оптимізуючи продуктивність і забезпечуючи безперебійні робочі процеси.

Цей техстек дозволив мені створити та розгорнути платформу самостійно, забезпечуючи її довготривалу підтримку та продуктивність.

Процес розробки

Орієнтованість на користувача та підхід "mobile-first"

Основним принципом розробки HiEnergy Rocket був підхід less-is-more — акцент на інтуїтивну взаємодію та усунення зайвої складності.
pic

Інтелект рекламодавців HiEnergy Rocket

Метою було створити інтерфейс з орієнтацією на мобільні пристрої (mobile-first), який не вимагав би навчання користувача або документації, забезпечуючи бездоганний користувацький досвід.

pic

Крім 50 рядків CSS, це стандартний Bootstrap 5, Простота — це краса

Платформи афілійованого маркетингу, такі як Awin та Rakuten, надають потужний набір функцій, але часто мають складні, незручні інтерфейси, що ускладнюють їх навігацію. Як маленька команда, ми помітили прогалину на ринку — можливість створити просту, зручну альтернативу, яка ставить на перше місце ясність, ефективність та автоматизацію, замість непотрібної складності.

pic

Ми збираємо дані з кількох джерел, щоб створити стандартизовані списки для кожного рекламодавця через всі мережі.

Ця стаття описує наш підхід до створення HiEnergy Rocket, платформи на основі штучного інтелекту та API для інтелекту рекламодавців, з акцентом на масштабованість, автоматизацію та надійність даних.

Якщо вам цікаво дізнатися більше про те, що ми створили, ви можете спробувати безкоштовну версію сьогодні: HiEnergy Rocket.

Використання розробки через тестування та програмування за допомогою ШІ

Один із основних принципів нашої методології розробки був Test-Driven Development (TDD), що допомогло нам забезпечити надійність коду, підтримуваність та довгострокову масштабованість. Використовуючи RSpec, ми змогли реалізувати ретельне покриття тестами, що дозволило платформі розвиватися без накопичення технічного боргу.

Додатково ми впровадили інструменти парного програмування на основі ШІ, щоб прискорити розробку і підвищити точність. Ці інструменти надали:

  • Контекстно-обізнані підказки для коду, що зменшує когнітивне навантаження і покращує ефективність
  • Автоматичні інсайти для налагодження, значно зменшуючи час на вирішення проблем
  • Рефакторинг на основі ШІ, допомагаючи нам підтримувати чистий та оптимізований код

Такий підхід з використанням ШІ дозволив нам швидко ітераційно розвивати платформу, забезпечити високу якість коду і підтримувати структурований та масштабований процес розробки.

Придбання та стандартизація даних: Ніякого веб-скрейпінгу

На відміну від багатьох конкурентних рішень, HiEnergy Rocket суворо дотримується принципів отримання даних через API, що гарантує повну відповідність політикам афілійованих мереж. Наша платформа побудована на структурованих наборах даних, отриманих безпосередньо з офіційних API афілійованих мереж, що дозволяє уникнути ненадійних методів веб-скрейпінгу.

Такий підхід гарантує:

  • Цілісність і точність даних
  • Оновлення в реальному часі безпосередньо від мереж
  • Довгострокову відповідність платформам афілійованого маркетингу

Поставивши на перше місце структуровану інтеграцію API, ми усунули ризики, пов'язані з непослідовністю даних і порушенням вимог, гарантуючи, що наш користувач завжди отримує високоякісні, точні дані.

pic

Наша домашня сторінка — WebFlow

Нормалізація та категоризація на основі ШІ

Однією з найбільших проблем у сфері афілійованого маркетингу є обробка неструктурованих маркетингових текстів з різних мереж.
Щоб вирішити цю проблему, ми розробили систему нормалізації контенту на базі ШІ, яка використовує як OpenAI API, так і Gemini API.

Ця система дозволяє нам:

  • Стандартизувати та вдосконалювати сирі описи рекламодавців для ясності та узгодженості
  • Класифікувати рекламодавців по мережах, роблячи пошук і порівняння легким
  • Структурувати рекламний контент, сприяючи прийняттю рішень, заснованих на даних

pic

Ми використовуємо ШІ для класифікації та рекомендацій схожих рекламодавців.

Автоматизуючи ці задачі за допомогою машинного навчання, ми значно знизили непослідовності, покращили зручність роботи з даними і створили більш безперешкодний користувацький досвід. Крім того, наш ШІ класифікує рекламодавців на основі ключових атрибутів, таких як індустрія, демографія аудиторії та метрики взаємодії. Визначаючи шаблони та схожості, наша система інтелектуально рекомендує релевантних рекламодавців, покращуючи знайденість і спрощуючи прийняття рішень.

Оптимізований розвиток фронтенду та візуалізація даних

Для забезпечення інтуїтивно зрозумілого користувацького досвіду ми спроектували інтерфейс HiEnergy Rocket з Bootstrap 5, надаючи сучасний, чуйний інтерфейс.

Крім того, ми використали D3.js для просунутої візуалізації даних, що дозволяє користувачам отримувати глибші інсайти через інтерактивні діаграми, графіки та порівняльну аналітику.

pic

Я витратив кілька годин, питавши ChatGPT, як зробити мої діаграми D3 схожими на McKinsey.

Rocket AI дає користувачам можливість визначати шаблони в даних, які інакше залишилися б прихованими.

pic

Основні функції

  • Динамічний пошук та фільтрація — Фільтрація в реальному часі для уточнення результатів рекламодавців
  • Система закладок — Користувачі можуть відстежувати і повернутися до улюблених програм рекламодавців
  • Експорт у CSV — Користувачі можуть завантажити структуровані дані для подальшого офлайн аналізу

Цей підхід "UI-first" зробив HiEnergy Rocket дуже доступним, навіть для користувачів, незнайомих зі складними панелями управління афілійованими мережами.

pic

Навіть Google ставить нам прямі оцінки "А"

Розширення можливостей: CMS для рекламодавців на основі API

Окрім основної платформи HiEnergy Rocket, ми також побудували потужне API, яке служить основою для рішень CMS для рекламодавців, що використовуються кількома нашими клієнтами. Це API дозволяє безперешкодно здійснювати отримання даних, управління програмами та автоматизовані інсайти, дозволяючи бізнесам інтегрувати інтелект для афілійованих програм безпосередньо у їх робочі процеси.

Ключові можливості нашого API включають:

  • Щогодинна синхронізація даних рекламодавців
  • Автоматизоване відстеження програм та аналітика продуктивності
  • Індивідуальні інтеграції для масштабованого управління афілійованими програмами

Якщо ви зацікавлені в тому, як наш CMS для рекламодавців на основі API може покращити вашу роботу, ви можете спробувати це сьогодні. Зв’яжіться з нами для отримання додаткової інформації про доступ до API та варіанти інтеграції.

Розгортання, масштабованість і обробка в фоновому режимі

Для розгортання ми вибрали Heroku, використовуючи його повністю кероване середовище хостингу для спрощення управління інфраструктурою.
Автоматичне масштабування Heroku дозволило нам ефективно обробляти коливання трафіку, забезпечуючи оптимальну продуктивність без зайвих операційних витрат.

Для управління фоновими завданнями і забезпечення неперервної обробки даних, ми інтегрували Solid Queue для:

  • Асинхронного збору даних з афілійованих мереж
  • Ефективної обробки API-запитів без блокування користувацького досвіду
  • Масштабованості завдяки оптимізованому управлінню чергами

Такий підхід забезпечив, що HiEnergy Rocket залишалася дуже чуйною, навіть коли обробляла масштабні завдання з обробки даних в реальному часі.

Результати та прийняття в галузі

З моменту запуску, HiEnergy Rocket Advertiser Intelligence виросла до понад 300 активних користувачів з 56 компаній, включаючи кілька нових технологічних стартапів, які покладаються на платформу для отримання інсайтів з афілійованого маркетингу.

Відомі компанії, що використовують HiEnergy Rocket:

  • PIE
  • Beacons.ai
  • Checkmate
  • Dupe

Це прийняття підкреслює ефективність платформи у спрощенні управління афілійованими програмами та сприянні прийняттю рішень на основі даних.

Основні висновки

Орієнтованість на користувача покращує прийняття та залученість — Спрощений, інтуїтивно зрозумілий інтерфейс підвищує зручність використання і збільшує утримання користувачів.

Ruby on Rails забезпечує швидку та масштабовану розробку — Гнучкість фреймворку сприяє швидким ітераціям при збереженні довгострокової масштабованості.

Нормалізація та категоризація контенту за допомогою ШІ — Стандартизує дані рекламодавців для поліпшення узгодженості, пошуковості та аналізу.

API-орієнтоване отримання даних забезпечує відповідність і точність — Покладання на офіційні API афілійованих мереж гарантує цілісність даних та оновлення в реальному часі, усуваючи ризики, пов'язані з веб-скрейпінгом.

Test-Driven Development (TDD) з RSpec підтримує надійність коду — Ретельні методи тестування зменшують технічний борг, підвищують підтримуваність та підтримують міцний життєвий цикл розробки.

Розробка за допомогою ШІ підвищує ефективність і якість коду — Інструменти на основі ШІ прискорюють розробку, автоматизують рефакторинг і спрощують налагодження, підвищуючи загальну продуктивність.

Використання OpenAI та Gemini API для інтелектуальної структурування даних — Автоматизує очищення контенту, категоризацію та збагачення для покращення якості та зручності використання даних.

Оптимізована обробка в фоновому режимі з Solid Queue — Забезпечує безперешкодне, не блокуюче оброблення даних, покращуючи чуйність системи та масштабованість.

Heroku спрощує розгортання та масштабування — Надає повністю керовану інфраструктуру з можливістю автоматичного масштабування, хоча оптимізація витрат залишається ключовим моментом для росту.

Принципи дизайну KISS та YAGNI сприяють підтримуваності — Віддаючи перевагу простоті (KISS: “Keep It Simple, Stupid”) і униканню зайвої складності (YAGNI: “You Aren’t Gonna Need It”), система залишається лаконічною, ефективною і легко розширюваною.

Принципи архітектури SOLID сприяють масштабованості та розширюваності — Дотримання принципів Єдиного обов’язку, Відкритості/Закритості, Замінності Ліскова, Сегрегації інтерфейсів та Інверсії залежностей забезпечує модульний, підтримуваний і готовий до майбутніх змін дизайн програмного забезпечення.

Висновок: Уроки для розробників SaaS

Створення HiEnergy Rocket вимагало стратегічного підходу до архітектури системи, автоматизації та пріоритетів функцій. Зосереджуючись на обробці даних на основі ШІ, мінімалістичному UI та автоматизованих методах тестування, ми створили масштабовану, ефективну та зручну платформу, яка отримала значне прийняття в галузі.

Для розробників, які хочуть створювати SaaS-додатки — чи то самостійно, чи в маленькій команді — ключовим є пріоритет автоматизації, підтримуваності та ефективності.
Завдяки використанню інструментів на базі ШІ, ретельних тестових фреймворків і добре підібраного технологічного стеку, можливо запустити складні, високопродуктивні програмні рішення — навіть працюючи на повний робочий день.

Якщо ви хочете дізнатися більше про те, що ми створили, ви можете спробувати нашу безкоштовну версію сьогодні: HiEnergy Rocket.

Слідкуйте за мною на LinkedIn для більше оновлень
Зареєструйтеся для Rocket

Перекладено з: How I Built a SaaS Platform While Working Full-Time With Ruby on Rails