logo Luckylo

Блог

0 просмотров

Как я разрабатываю SAYLINO: от идеи AI-переводчика до работающего сервиса

Как я разрабатываю SAYLINO

Честная история разработки SAYLINO: как большая идея сервиса для перевода и изучения языков постепенно превратилась в работающий продукт — с ошибками, переделками, AI-инструментами и функциями, которые ещё только предстоит реализовать.

Я не начинала SAYLINO с мысли: «Сейчас я создам ещё один переводчик». Переводчиков и без меня достаточно. И языковых приложений тоже. Мне хотелось собрать сервис, которым я сама могла бы пользоваться в обычной жизни: когда нужно понять голосовое сообщение, перевести видео, разобрать текст на скриншоте, прочитать рукописную записку или проверить, насколько хорошо ты на самом деле знаешь английский.

Так появилась первая формулировка: SAYLINO — это сервис для перевода, изучения языков и речевой практики. Правда, потом мне пришлось её несколько раз разобрать, собрать заново и перестать пытаться уместить весь проект в один экран.

Сначала идей было очень много: перевод текста, голоса, аудио и видео; распознавание фотографий, скриншотов и рукописного текста; языковой учитель, короткие уроки, личный словарь, статистика, тренажёр произношения, ролевые диалоги и игры для запоминания слов.

На бумаге всё это выглядело как один большой красивый продукт. В разработке довольно быстро выяснилось, что «переводчик» и «учитель» — вообще-то два разных продукта.

Человек открывает переводчик не для того, чтобы его учили. Ему нужно быстро получить результат: загрузить файл, вставить текст, выбрать язык и понять содержание. А в раздел «Учитель» человек приходит надолго. Там нужны программа, сохранение прогресса, повторение и обратная связь.

Saylino-main-page

В какой-то момент я прямо зафиксировала: Translator и Teacher не должны быть смешаны. Это два независимых раздела внутри одного сервиса. Сейчас такое решение кажется очевидным, но я пришла к нему только после нескольких попыток объяснить проект самой себе.

Название SAYLINO тоже появилось не сразу. Я перебирала варианты, проверяла домены и искала слово, связанное с речью, но не похожее на очередной «AI Translate Pro». В итоге осталось выдуманное SAYLINO, в котором слышится say — «говорить». Оно не ограничивает продукт одним переводом.

Технически проект я строю на Next.js и TypeScript. SAYLINO — веб-приложение, потому что мне хотелось, чтобы оно работало без обязательной установки и было доступно с разных устройств. Разработку я веду с AI-инструментами, но это не магическая кнопка «создай мне стартап». Большая часть работы — правильно сформулировать задачу, разбить её на этапы, проверить решение, увидеть, где модель пошла не туда, и вернуть её обратно.

Иногда одна фраза в задании полностью меняет архитектуру. Можно сказать: «Сделай переводчик голоса». Но что это означает? Записывать звук с микрофона или загружать файл? Определять исходный язык автоматически? Возвращать текст или озвученный перевод? Какие форматы принимать? Что показывать, если речь не распознана? Где хранить загруженные данные?

В первом MVP у меня вообще не было микрофона, поэтому я сознательно сделала загрузку аудиофайла. Это был хороший урок: отсутствие одной функции не обязательно блокирует весь продукт. Можно собрать рабочую вертикаль — загрузка, распознавание, перевод, результат — и только потом расширять интерфейс.

Saylino
Saylino

После того как заработала основная цепочка, началась менее эффектная, но важная работа: ограничения файлов, валидация, сообщения об ошибках, типы, безопасность, поведение интерфейса во время обработки. Пользователь не должен гадать, завис сервис или работает. И не должен получать загадочное «Something went wrong», если просто загрузил неподдерживаемый файл.

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

Самым сложным оказалось не написать вопросы, а проверить, что они действительно соответствуют уровню. Некоторые формулировки были грамматически правильными, но неестественными. Где-то слово, заявленное как B1, оказывалось сложнее. Где-то два ответа можно было защитить одновременно. Где-то объяснение не совпадало с заданием. Всё это приходилось пересматривать вручную.

Для меня это одна из главных особенностей разработки с AI. Он может быстро создать большой объём материала, но скорость генерации не равна качеству продукта. Если не проверять логику, можно получить убедительную систему, которая уверенно оценивает пользователя неправильно.

Saylino
Saylino

Сейчас в SAYLINO полноценно работает раздел Translator. Можно переводить текст, аудио, видео и изображения, выбирать язык результата и получать перевод в текстовом или голосовом формате. Работает и тест на определение уровня английского языка.

При этом я не хочу изображать проект завершённым. Он не завершён. Раздел Teacher пока находится в разработке. Ещё не реализована значительная часть запланированного: полноценные уроки, личный словарь, повторение слов по темам, статистика, разговорные сценарии, тренажёр произношения, игры и создание персональных собеседников.

Даже в работающем переводчике есть что улучшать: обработку больших файлов, точность распознавания, скорость, мобильный интерфейс, лимиты, тарифы и сценарии ошибок. Мне захотелось написать об SAYLINO сейчас, а не после условного «идеального релиза». Обычно проекты показывают, когда всё уже красиво упаковано и кажется, что автор с самого начала точно знал, куда идёт. У меня было не так.

Я начинала с большого облака идей. Потом разделяла их на продукты. Переделывала формулировки. Упрощала первый MVP. Возвращалась к архитектуре после ошибок сборки. Проверяла задания, которые выглядели правильными, но правильными не были. И постепенно училась ставить задачу не в форме «сделай хорошо», а так, чтобы было понятно, что именно должно произойти на каждом шаге.

Saylino
Saylino

Сейчас SAYLINO уже можно открыть и использовать по назначению. Это не макет и не страница с обещанием «скоро запуск». Переводчик работает. Тест работает. Но весь проект всё ещё находится на стадии активной разработки.

И, если честно, мне именно это в нём и нравится. Он уже приносит пользу, но ещё не застыл. Я могу пересматривать решения и постепенно превращать большой список идей в работающий продукт — одну функцию за другой.

Saylino
Saylino