Перейти к содержимому
Борис Новичков
РезюмеGitHub ↗
ENRU
Все работы

Lectorea

Что учить и в каком порядке — университетские лекции как карта

Бесплатный каталог университетских лекционных курсов с YouTube, разложенный по тому, что должно идти раньше. Каждый курс знает, от чего он зависит и что открывает, поэтому предмет превращается в маршрут вместо кучи ссылок: выбираете, куда хотите прийти, и сайт выкладывает путь — предпосылка за предпосылкой, с записями к каждому шагу. 236 курсов в 39 областях, 12 500 лекций из 309 университетов и каналов, переобход каждую ночь.

В работе
Роль
В одиночку — продукт, конвейер данных, фронтенд, деплой
Период
апр. 2026 — н. в.
lectorea.org
Карта Lectorea — области знания, нарисованные как территории на трёх континентах

Проблема

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

Любой список «как выучить X самостоятельно» — это чей-то порядок чьих-то закладок. Lectorea делает порядок данными: каждый курс фиксирует, что нужно знать до него, а всё остальное — путь до цели, что становится доступным после завершения, какие колонки вы, возможно, перепрыгнули — выводится из этого графа.

Как это устроено

Каталог добывается, а не набивается руками. Конвейер находит каналы и плейлисты, сопоставляет записи с курсами, проверяет их живость, вытягивает метаданные и картинки и пересобирает датасет каждую ночь через GitHub Actions. npm run data:* — это около двадцати скриптов, по одному на стадию, поэтому неудачный обход можно переиграть с той стадии, на которой он сломался.

Карта генерируется. Области знания становятся территориями, размер которых задан их объёмом, с настоящими береговыми линиями и подписями, проступающими при приближении, — всё это собирается офлайн в тайлы и раздаётся статикой.

Состояние принадлежит читателю. Прогресс по умолчанию живёт в браузере; необязательный вход через Firebase существует только для того, чтобы перенести его на телефон. Аккаунт заводить не нужно, платить не за что, а слежки нет дальше той аналитики, что перечислена в документации.

Это статический сайт. React, Zustand, шаг сборки и CDN — каталогу такого размера не нужен сервер, и именно поэтому он может оставаться бесплатным.

Что здесь сложного

Сопоставление. Курс — это абстракция («Линейная алгебра»); запись — это конкретное прочтение конкретного лектора, в конкретном университете, в конкретном году, иногда разбитое на два плейлиста, а иногда без последних четырёх лекций. Решить, что два плейлиста — один и тот же курс, а третий только похож на него, — это и есть то, от чего зависит, полезен каталог или он шум. И именно на это конвейер тратит больше всего сил.

Внутри продукта

Нажмите на кадр, чтобы увеличить · ← → листать