Как собрать свой центр управления миром на TypeScript и Rust

06 апр 2026
86,132
13,064
490
4 недели

Представьте, что вам нужно одновременно следить за курсом биткоина, перемещением авианосцев в Тихом океане, вспышками лесных пожаров и свежими новостями из ИТ-сектора. Обычно для этого открывают десяток вкладок, которые нещадно едят память и внимание. Разработчик Эли Хабиб решил эту проблему радикально, создав World Monitor — опенсорсный проект, который превращает хаос глобальных данных в единый интерактивный дашборд.

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

Что умеет этот цифровой глобус

Проект собирает данные из более чем 65 источников. Внутри — 435 новостных лент, разбитых по категориям, данные о полетах самолетов в реальном времени, котировки акций с 92 бирж и даже мониторинг инфраструктурных объектов.

World Monitor Dashboard

Главная фишка — визуализация. Автор не стал ограничиваться плоской картой. В World Monitor встроены сразу два движка:

Реклама
  1. Трехмерный глобус на базе globe.gl и Three.js для глобального обзора.
  2. Плоская WebGL-карта на deck.gl для детальной работы со слоями данных.

Интересно, что проект умеет коррелировать события. Например, он может подсветить связь между экономическим кризисом в регионе и перемещением военных грузов. Для этого используется ИИ, который синтезирует краткие сводки из огромного потока новостей.

Техническая начинка и архитектура

С точки зрения стека World Monitor — это зоопарк технологий в хорошем смысле слова. Фронтенд написан на чистом TypeScript с использованием Vite. Вместо тяжелых фреймворков автор выбрал производительные библиотеки для визуализации данных.

Десктопная версия работает на Tauri 2. Это отличный выбор: Rust в основе обеспечивает безопасность и скорость, а интерфейс остается привычным вебом. При этом у приложения есть «сайдкар» на Node.js для тяжелых задач.

Меня удивил подход к API. Вместо обычного JSON здесь используются Protocol Buffers (92 прото-файла и 22 сервиса). Это говорит о том, что проект изначально проектировался под высокую нагрузку и четкие контракты данных.

Еще одна крутая деталь — поддержка локальных нейросетей. Если у вас установлен Ollama, World Monitor будет использовать его для анализа текстов. Никаких платных ключей OpenAI и отправки данных на чужие сервера. Все крутится на вашем железе.

Как это запустить и пощупать

Развернуть проект локально на удивление просто. Вам не понадобятся переменные окружения для базовой работы, что редкость для таких систем.

git clone https://github.com/koala73/worldmonitor.git
cd worldmonitor
npm install
npm run dev

После этого дашборд будет доступен по адресу localhost:5173. Если вам не нужен весь мир сразу, можно запустить тематические вариации:

  • npm run dev:tech — только технологии;
  • npm run dev:finance — рынки и крипта;
  • npm run dev:happy — позитивные новости (да, такое там тоже есть).

Практическая польза

Зачем это разработчику? Во-первых, это эталонный пример того, как работать с визуализацией больших объемов геоданных. Если вы когда-нибудь ломали голову над тем, как отобразить тысячи объектов на карте без лагов, загляните в исходники — там много ответов.

Во-вторых, это готовая база для OSINT-инструментов или корпоративных мониторингов. Лицензия AGPL-3.0 позволяет использовать код в личных и образовательных целях. Если захотите сделать на этом коммерческий SaaS, придется договариваться с автором, но для пет-проекта или внутреннего инструмента компании это золотая жила.

Кому стоит обратить внимание

Проект точно понравится тем, кто:

  • Увлекается визуализацией данных и картографией.
  • Хочет посмотреть на реальное применение Tauri 2 в связке с Rust.
  • Ищет способы интеграции локальных LLM в свои приложения.
  • Просто любит красивые дашборды в стиле киберпанка.

World Monitor выглядит как инструмент из фильмов про хакеров, но за визуальными эффектами скрывается серьезная инженерная работа с потоками данных и оптимизацией рендеринга. Определенно стоит того, чтобы поставить звезду на GitHub и изучить структуру проекта.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.