Как я начал делать свой продукт и до сих пор не бросил
У многих возникает идея сделать свой проект. Это может быть приложение, YouTube-канал, Telegram-канал или всё что угодно, но обычно всё заканчивается, так и не начавшись.
Сегодня расскажу историю о том, как у меня появилась идея создания продукта для подготовки к собеседованиям RepeatIT и через какие стадии я прошёл и прохожу.
В конце 2024 года мне захотелось сделать проект, который приносил бы пользу мне и людям. Я подумал о том, в чём я неплохо разбираюсь и как на пересечении этого сделать продукт.
Я учил английский язык, неплохо разбирался в формировании привычек, а также активно продвигался по карьере. Делать очередное приложение по изучению языка или трекер привычек я не хотел, так как не было уникальной идеи, которую хотелось бы реализовать.
Я начал думать в сторону работы и вспомнил, что я научился неплохо готовиться к собесам, используя интервальные повторения для изучения теории, и тут пазл сошёлся.
Решил сделать веб-приложение для подготовки к собесам. Прошерстил интернет, и на тот момент ничего подобного не было. Были всякие базы вопросов, но без чёткой системы учить по ним материал уныло и неэффективно. Я загорелся этой идеей, но к реализации приступил только через полгода...
Самая главная ошибка, которую люди совершают на старте чего-либо — они хотят идеально. Идеально не бывает, и нужно просто начать делать и постепенно улучшать.
Моя ошибка — я начал изучать фронтенд, и после трёх месяцев изучения фронта я забросил это дело, так как появились более приоритетные дела.
В итоге спустя полгода вынашивания этой идеи я наконец-то приступил к реализации. Я поставил себе цель сделать как могу и довести до какого-то ощутимого результата.
Путь самурая:
1. Отказался от веб-версии и выбрал формат Telegram-бота.
2. Проанализировал большинство продуктов по этой теме.
3. Составил список необходимых фич.
4. Сделал прототип с переходами и прорисовал все состояния.
5. Разбирался в возможностях Telegram и итеративно реализовывал прототип.
6. Переписал open-source-алгоритм интервальных повторений на Kotlin.
7. Реализовал фичи для геймификации и уведомлений.
Самое сложное было разобраться в реализации алгоритма интервальных повторений. Он основан на математической модели памяти и данных о прошлых повторениях. Алгоритм оценивает сложность карточки, устойчивость знания в памяти и вероятность того, что пользователь вспомнит материал, а затем рассчитывает подходящий момент для следующего повторения. Так как это одна из главных фич продукта, мне было важно понять, как всё устроено внутри, и протестировать результат на разных данных.
Также я верю, что обучение следует геймифицировать, чтобы большие цели разбивать на микроцели, поэтому добавил ежедневную цель, статистику по вопросам и streak — цепочку дней, когда пользователь занимается без пропусков. Это используется во многих приложениях и добавляет осязаемый прогресс.
На разработку ушло приблизительно полгода, около 300 часов, 1–2 часа в день до работы или после, но разработка, как оказалось, не самое сложное...
После разработки и деплоя на VPS настало время делать материал для подготовки к собеседованиям.
Взял 500 вопросов из личной базы, убрал оттуда треть лишних вопросов и в течение 3 месяцев добавлял по 5–10 вопросов в день, проверяя лично каждый вопрос. Сейчас уже готовы вопросы по Java Core, Concurrency, Collections, JVM, SQL DB, Spring и Hibernate. В ближайшее время хочу добавить новые темы и полировать базу, убирая лишние вопросы.
Скоро будет год с начала проекта, и на протяжении этого времени я продолжаю это делать лишь потому, что сам верю в пользу продукта.
За последние два месяца проект достиг 300 пользователей, и в начале мая появились первые продажи. Приятно, что незнакомые мне люди увидели ценность в продукте, и это даёт силы заниматься проектом дальше.
Буду также делиться ходом работы над RepeatIT на этом канале, делая некий build in public.
Если уже заходил и занимался, то пиши в комментариях о своём опыте, будет интересно почитать.
@tkachevinsights
У многих возникает идея сделать свой проект. Это может быть приложение, YouTube-канал, Telegram-канал или всё что угодно, но обычно всё заканчивается, так и не начавшись.
Сегодня расскажу историю о том, как у меня появилась идея создания продукта для подготовки к собеседованиям RepeatIT и через какие стадии я прошёл и прохожу.
В конце 2024 года мне захотелось сделать проект, который приносил бы пользу мне и людям. Я подумал о том, в чём я неплохо разбираюсь и как на пересечении этого сделать продукт.
Я учил английский язык, неплохо разбирался в формировании привычек, а также активно продвигался по карьере. Делать очередное приложение по изучению языка или трекер привычек я не хотел, так как не было уникальной идеи, которую хотелось бы реализовать.
Я начал думать в сторону работы и вспомнил, что я научился неплохо готовиться к собесам, используя интервальные повторения для изучения теории, и тут пазл сошёлся.
Решил сделать веб-приложение для подготовки к собесам. Прошерстил интернет, и на тот момент ничего подобного не было. Были всякие базы вопросов, но без чёткой системы учить по ним материал уныло и неэффективно. Я загорелся этой идеей, но к реализации приступил только через полгода...
Самая главная ошибка, которую люди совершают на старте чего-либо — они хотят идеально. Идеально не бывает, и нужно просто начать делать и постепенно улучшать.
Моя ошибка — я начал изучать фронтенд, и после трёх месяцев изучения фронта я забросил это дело, так как появились более приоритетные дела.
В итоге спустя полгода вынашивания этой идеи я наконец-то приступил к реализации. Я поставил себе цель сделать как могу и довести до какого-то ощутимого результата.
Путь самурая:
1. Отказался от веб-версии и выбрал формат Telegram-бота.
2. Проанализировал большинство продуктов по этой теме.
3. Составил список необходимых фич.
4. Сделал прототип с переходами и прорисовал все состояния.
5. Разбирался в возможностях Telegram и итеративно реализовывал прототип.
6. Переписал open-source-алгоритм интервальных повторений на Kotlin.
7. Реализовал фичи для геймификации и уведомлений.
Самое сложное было разобраться в реализации алгоритма интервальных повторений. Он основан на математической модели памяти и данных о прошлых повторениях. Алгоритм оценивает сложность карточки, устойчивость знания в памяти и вероятность того, что пользователь вспомнит материал, а затем рассчитывает подходящий момент для следующего повторения. Так как это одна из главных фич продукта, мне было важно понять, как всё устроено внутри, и протестировать результат на разных данных.
Также я верю, что обучение следует геймифицировать, чтобы большие цели разбивать на микроцели, поэтому добавил ежедневную цель, статистику по вопросам и streak — цепочку дней, когда пользователь занимается без пропусков. Это используется во многих приложениях и добавляет осязаемый прогресс.
На разработку ушло приблизительно полгода, около 300 часов, 1–2 часа в день до работы или после, но разработка, как оказалось, не самое сложное...
После разработки и деплоя на VPS настало время делать материал для подготовки к собеседованиям.
Взял 500 вопросов из личной базы, убрал оттуда треть лишних вопросов и в течение 3 месяцев добавлял по 5–10 вопросов в день, проверяя лично каждый вопрос. Сейчас уже готовы вопросы по Java Core, Concurrency, Collections, JVM, SQL DB, Spring и Hibernate. В ближайшее время хочу добавить новые темы и полировать базу, убирая лишние вопросы.
Скоро будет год с начала проекта, и на протяжении этого времени я продолжаю это делать лишь потому, что сам верю в пользу продукта.
За последние два месяца проект достиг 300 пользователей, и в начале мая появились первые продажи. Приятно, что незнакомые мне люди увидели ценность в продукте, и это даёт силы заниматься проектом дальше.
Буду также делиться ходом работы над RepeatIT на этом канале, делая некий build in public.
Если уже заходил и занимался, то пиши в комментариях о своём опыте, будет интересно почитать.
@tkachevinsights