Зачем айтишнику типизировать медпаспорт кота? Как я в 14 лет создал «LeetCode с лапками»
Приветики! На связи Вова, мне 14 лет, и последние месяцы я провёл не за играми, а в обнимку с IDE. Итогом этой бессонницы стал «ЛитКот» (leetcot.ru) — мой пет-проект, который задумывался как весёлая альтернатива душным алгоритмическим тренажёрам.
Сейчас на платформе уже 55 работающих задач, полностью готовый фронтенд, интерактивная песочница, а вот живых юзеров — ровно ноль. Написать код оказалось сильно проще, чем заявить о себе, поэтому я пришёл на VC за честным фидбеком от взрослых разрабов.
Ниже — честный лонгрид о том, как устроен проект изнутри, какие технологии я туда зашил и почему классические тренажёры всем надоели.
В чём боль обычного LeetCode?
Когда ты только вкатываешься в разработку или хочешь размять мозги после работы, ты идёшь на стандартные платформы. И сразу упираешься в тоску: «Дан массив целых чисел X, найдите индекс Y...». Полезно для ума? Да. Мотивирует? Вообще нет. Мозг джуна отключается на третьей задаче из-за отсутствия нормального контекста.
Я подумал: а что любят все айтишники? Котиков и мемы.
Так родился концепт «ЛитКота». Я переписал классические алгоритмические задачи, завернув их в кошачьи жизненные ситуации. Вместо абстрактных массивов мы управляем кошачьей стаей, спасаем питомцев и наводим порядок в базах данных.
Что под капотом: детальный разбор фич
Платформа уже вышла из стадии слепого концепта — сейчас это полноценный продакшн продукт . Я постарался сделать интерфейс максимально чистым, завез кастомную тёмную тему и собрал несколько ключевых модулей.
1. Интерактивная SQL-рыбалка
Скьюэлька это больно. НО я превратил её в интерактивную рыбалку, где вместо скучных таблиц вымышленных корпораций ты управляешь кошачьим уловом.
Мы зашили туда всю боевую базу, которая нужна на реальной работе: фильтры, сортировку, JOIN, группировки, а также INSERT, UPDATE и DELETE.
Всё завернуто в фановые кошачьи сюжеты. Например:
- «Пустые миски» — учимся отлавливать NULL значения через COALESCE, чтобы понять, кого из котов обделили кормом.
- «Кот-самозванец» — копаемся в группировках с помощью HAVING и GROUP BY, чтобы вычислить лишних в стае.
- «Починить миски котов» — разбираемся, как массово обновлять данные через UPDATE.
К слову у меня реализована полноценная ферма проверки кода.
2. Алгоритмы как спасательная операция
Сухая теория про бинарные деревья или стек обычно пугает. У нас это убрано. Например, классическая задача Maximum Depth of Binary Tree на «ЛитКоте» выглядит так: «Пушистый друг залез на бинарное дерево. Вам необходимо узнать его максимальную глубину, чтобы понять, насколько высоко он находится и как его снять».
Внутри встроена полноценная IDE. Писать код можно на разных языках:
- Python: для классических алгоритмов и работы со структурами данных.
- TypeScript: для любителей хардкорных Type Challenges (например, есть задача, где нужно правильно типизировать медицинский паспорт кота со всеми прививками и ветеринарными отметками).
Все задачи разбиты по уровням: от «Новичка» (простые указатели) до категории «Экстрим», куда я спрятал жесткое динамическое программирование. Если лень выбирать самому, работает кнопка «Случайная задача».
Главная проблема: кода много, трафика — ноль
Технически проект полностью готов, автотесты работают без сбоев, интерфейс вылизан (занимались этим в рамках нашей микро-команды Arlist Tech). Но суровая реальность пет-проектов бьёт в дых: когда ты закрываешь редактор кода, проект никто сам по себе не находит. Сейчас на сайте сижу только я и пара друзей, которых я заставил зарегистрироваться.
Залетайте тестировать)
Исходный код:
Будем вместе с Барсиком ждать вас на leetcot.ru