4 головні уроки, які ми засвоїли при запуску нашого першого сервісу


Минуло три тижні, як ми запустили на сайті Я люблю ІП новий сервіс, який допомагає порівняти тарифи банків для бізнесу. Сьогодні ми хочемо розповісти, як він з'явився, від ідеї до розробки, і поділитися висновками про запуск продукту та першими результатами.
Функціонал сервісу простий: він розраховує вартість обслуговування в різних банках виходячи із заданих параметрів, порівнює тарифи між собою і сортує банки по вартості в рік. Але все ускладнюється тим, що у нас статичний сайт на Jekyll.

Підготовка. До запуску сервісу 6 місяців
Ідея зробити рейтинг банків для бізнесу, щоб допомогти підприємцям відкрити розрахунковий рахунок, була у нас давно. Ми вже писали на цю тему кілька оглядів (1, 2). Але нам хотілося зробити сервіс, в якому дані будуть а) завжди актуальні, б) максимально об'єктивними. Так прийшла ідея порівнювати тарифи банків.
Але у кожного бізнесу свої запити. Хтось робить багато платежів, комусь потрібні готівкові або валютний рахунок. Проаналізувавши тарифи банків, ми з'ясували, що вартість обслуговування найбільше впливає комісія за виведення грошей і за здійснені платежі.
Ми винесли ці два параметри окремо, щоб користувачі вводили туди свої дані. Додатково ми вирішили зробити фільтр по опціях: мобільний банк, інтернет-банк для MacOS, СМС-інформування, відсотки на залишок та ін
Далі ми відібрали дев'ять найпопулярніших банків для бізнесу, заповнили дані в таблиці Google, почали працювати над дизайном і шукати програміста.
Зустрічі з банками. До запуску сервісу 3,5 місяці
Проблем з дизайном практично не було. Ми одразу уявляли, як повинен виглядати сервіс, і намагалися продумати його досконально. Але в процесі все одно щось змінювалося. Урок № 1 потрібно бути готовим переробляти свою роботу. Коли дизайн переміщується з макетів веб, він починає жити зовсім іншим життям.
Першого програміста ми знайшли дуже швидко. Це був наш знайомий, який допоміг нам зробити калькулятор страхових внесків. Він сказав, що через відсутність у нас на сайті бази даних і сервера (наш сайт хоститься на Amazon S3) можуть бути проблеми. Тим не менш, погодився нам допомогти за частку в проекті, і ми почали зустрічатися з банками.
Ми намагалися зв'язатися з банками всіма можливими способами, дзвонили, писали в техпідтримку і в соціальних мережах. Хтось йшов на контакт дуже швидко, хтось ігнорував. У підсумку, через півтора місяці, ми уклали з усіма банками партнерські угоди, щоб прямо надсилати заявки на відкриття рахунку. До речі, ми були першими, хто зустрівся з ВТБ24 і запропонував їм працювати за такою схемою.
Розробка. До запуску сервісу 2 місяці
Спочатку ми планували витратити на розробку два тижні. Але коли ми були готові до неї приступити, наш програміст передумав і не став брати участь у проекті.
Урок № 2 завжди повинен бути запасний варіант. У нас його не було. Ми не планували витрачати гроші на розробку, тому бюджет вийшов дуже обмежений. Ми зрозуміли, що сервіс можна зробити за допомогою Lambda від AWS або Firebase від Google. Але не могли знайти фахівців, які були знайомі з ними на практиці. А ті, у кого був такий досвід, запитували подвійну ціну.
На допомогу прийшов старий добрий Хабр. Ми знайшли всі статті, в яких згадувалися Lambda або Firebase, і написали їх авторам. Хтось відповів, що у нього немає часу, хтось сказав, що не потребує в грошах. Але ми знайшли одного чоловіка, який погодився нам допомогти у вільний від роботи час, щоб прокачати свої знання.
Таким чином, на пошуки програміста у нас пішло два тижні, на розробку — ще півтора місяця. Урок № 3 — всі терміни потрібно множити щонайменше на 2. У тайм-менеджменті є правило, що планувати можна тільки 60 % часу. Решта часу піде на рішення рутинних завдань. Якщо не запланувати для них решту 40 %, то терміни неминуче зрушаться. Так само і у нас, основна частина була готова дуже швидко, весь інший час ми витратили на доопрацювання і поліпшення, які не могли передбачити заздалегідь.
Розповім трохи про самому додатку.
Backend написаний на NodeJS і розгортається на Google App Engine. Додаток встановлює з'єднання з базою даних Firebase (куди імпортується таблиця Google), опрацьовує заявки, як описано в цієї статті, і відправляє повідомлення через api сервісу Mailjet.
Ось список використовуваних бібліотек.
"dependencies": {
"express": "^4.14.0",
"firebase": "^3.2.1",
"firebase-queue": "^1.5.0",
"google-auth-library": "^0.9.8",
"googleapis": "^12.0.0",
"nconf": "^0.8.4",
"node-mailjet": "^3.0.5",
"q": "^1.4.1",
"quoted-printable": "^1.0.0"
}

Одна з проблем, яку потрібно вирішити, — це довге завантаження сервісу на мобільних пристроях. Швидше за все, це пов'язано з тим, що дані з таблиці Google імпортуються в Firebase. Можна залишити Firebase тільки для обробки заявок, але ми вже відчули, наскільки зручно все працює так, як є зараз. Якщо у банку оновилися тарифи, достатньо внести ці дані в таблицю Google, і зміни тут же з'являться на сайті.
Frontend написаний на AngularJS. Ось список використовуваних бібліотек. Для парсингу формул окремо підключений Formula Parser.
"dependencies": {
"angular": "^1.5.7",
"angular-dynamic-number": "^1.12.4",
"angular-ui-router": "^0.3.1",
"angularfire": "^2.0.1",
"angular-ui-mask": "^1.8.7",
"ng-dialog": "^0.6.4"
}

Програма працює наступним чином:
  • ініціалізує зв'язок з Firebase анонімно авторизований користувач,
  • завантажує таблицю і парсити її як xls (майже),
  • при створенні нової заявки надсилає новий
    task
    на
    send
    Firebase.
У production все збирається за допомогою Gulp. На виході виходять файли JS і HTML.
Одне із завдань — встановити Gulp безпосередньо для використання разом з Jekyll, щоб не доводилося копіювати файли з папки.
Перші підсумки. 3 тижні після запуску
Напередодні запуску все відбувалося дуже швидко. Ми працювали майже 24 години в добу. Крім програміста, в команді нас двоє: я займаюся версткою сервісу на сайті (будучи юристом за освітою), а мій партнер відповідав за дизайн. Багато речей доводилося правити самої, бо на постановку завдань пішло б набагато більше часу. Тому довелося швидко навчитися настроювати всі сервіси і розібратися з AngularJS.
Звідси урок № 4 для тих, хто не вміє програмувати, — потрібно розбиратися в коді, якщо ви хочете зробити щось в інтернеті. Ваших знань може бути недостатньо, щоб влаштуватися на роботу програмістом або займатися розробкою на замовлення, але ви повинні не боятися командного рядка і знати основи HTML, CSS і JS.
З самого початку ми визначили наш MVP. Це порівняння мінімальних тарифів для Москви дев'яти найбільш популярних банків для бізнесу. Після запуску ми відразу ж отримали зворотній зв'язок від користувачів, і від представників банків. Виявилося, що мінімальні тарифи розраховані на дуже вузьку аудиторію тих, хто тільки отримує гроші на рахунок. Для підприємців, які активно користуються рахунком для проведення платежів, вигідні інші, більш дорогі тарифи.
Наше наступне завдання — це додати інші тарифи по кожному банку, а також нові банки та міста. В майбутньому ми плануємо розширити сервіс і додати підтримку ТОВ.
А тепер трохи цифр. За ці три тижні на нашому сайті було 10 150 унікальних відвідувачів, майже 28 000 переглянутих сторінок. З них більше 2000 переглядів — на сторінці сервісу. Таким чином, він став 4-м по популярності після двох статей у базі знань та головної сторінки. На сторінці сервісу в середньому проводять 2:40 хвилини.

Люди активно користуються формою і вибирають додаткові опції. Заявки на відкриття рахунку залишили 16 осіб або приблизно 1 % від загального числа. Скільки з них у підсумку відкрили розрахунковий рахунок, ми дізнаємося в наступному місяці.

Це перший сервіс, який ми запустили на нашому на сайті, тому нам дуже цікава ваша думка. Будь-які зауваження та пропозиції пишіть в коментарях.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.