Идея
Портфолио data-инженера должно быть не только читаемым, но и queryable. Этот проект публикует метаданные самого сайта — статьи, проекты и агрегаты активности — как небольшой документированный публичный датасет и позволяет любому выполнять SQL по нему прямо в браузере. Без бэкенда и API-ключей: движок DuckDB-WASM скомпилирован в WebAssembly и работает полностью на стороне клиента.
Как это работает
Build-шаг экспортирует реестр контента в версионируемые таблицы JSON/CSV/Parquet и
catalog.json с описанием каждой таблицы и колонки. На странице DuckDB-WASM
запускается в Web Worker, регистрирует опубликованные файлы и выполняет запросы
локально:
SELECT tag, COUNT(*) AS mentions
FROM (
SELECT UNNEST(STRING_SPLIT(tags, '|')) AS tag FROM articles
UNION ALL
SELECT UNNEST(STRING_SPLIT(tags, '|')) AS tag FROM projects
)
GROUP BY tag
ORDER BY mentions DESC;Результат показывается таблицей и быстрым bar chart, EXPLAIN выводит план
запроса, а текущий запрос кодируется в hash URL — так любой запрос можно
расшарить ссылкой.
Trade-off'ы
- WASM против hosted query API. WASM оставляет всё статикой, бесплатной в хостинге и приватной (запросы не покидают браузер) ценой однократной загрузки движка.
- Курируемый датасет против сырых событий. Публикуются только публичные агрегированные метаданные — без приватных событий и сырых API payloads — поэтому датасет остаётся маленьким, документированным и воспроизводимым.