Codelabs — инженерная компания полного цикла
RU|EN|KK

16+ лет · 297 репозиториев кода · системы, которые работают прямо сейчас

Системы, которым нельзя ошибаться

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

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

Участник международного технопарка «Астана Хаб»

~1.5 млн
денежных операций в сутки
столько проводит платформа, которую мы построили и обслуживаем
2.18 млн
игроков на одной платформе
и 1.24 млн пополнений счёта за 30 дней
85 млн+
операций в криптошлюзе
приём и вывод в 10 блокчейн-сетях
16+ лет
команда работает вместе
первый код в наших репозиториях — 2009 года

Как с нами работают

01

Построить продукт с нуля

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

02

Починить и ускорить то, что уже работает

Система тормозит, теряет деньги или падает под нагрузкой — находим настоящую причину и доводим исправление до продакшена. Один такой разбор ускорил расчёт ставок в 15 раз, другой избавил платформу от 267 двойных выплат.

03

Взять на себя эксплуатацию

Серверы, обновления, мониторинг, резервные копии, дежурство при авариях. Для нас это не побочная активность: мы держим собственную инфраструктуру на 300+ проектов, пять независимых систем наблюдения и разбираем каждую серьёзную аварию до первопричины.

Что мы делаем

6 из 11 направлений
01

Системы, в которых считаются деньги

Высоконагруженные транзакционные системы

Кошельки, платежи, начисления, ставки — всё, где ошибка в одной строке кода превращается в реальный убыток. Мы строим их так, чтобы платёж нельзя было провести дважды, а баланс не мог уйти в минус, даже когда тысячи людей платят в одну и ту же секунду. А если операция зависла где-то между вашей системой и банком — она не останется висеть: система сама доведёт её до конца или вернёт деньги.

Платформа, которую мы ведём, проводит около 1.5 млн денежных операций в сутки. После того как мы переписали расчёт выплат, исчезли 267 двойных выплат и очередь из 437 тысяч зависших задач.

02

Приём и вывод денег любым способом

Платёжная интеграция и финтех

Подключаем к вашему продукту то, чем реально платят ваши клиенты: банковские переводы, мобильные деньги, криптовалюту, наличные через кассу или терминал. Каждый платёжный провайдер разговаривает по-своему, и половина из них — на языке десятилетней давности. Для нас это рутина. Если подходящего шлюза на рынке нет — строим свой: у нас уже есть собственный, с 21 подключённой платёжной системой.

Больше 20 интеграций в Карибском регионе, Латинской Америке и СНГ. Плюс собственная сеть денежных переводов: человек вносит наличные в одной стране, получатель забирает их в другой по PIN-коду.

03

Приём криптовалюты и обмен на обычные деньги

Криптопроцессинг

Клиент платит вам в USDT, биткоине или другой монете — вы получаете сумму в местной валюте и не думаете о блокчейне. Курс подбирается автоматически по реальным заявкам на биржах, входящие платежи проверяются на «грязное» происхождение, ключи от кошельков лежат зашифрованными и расшифровываются только в момент перевода.

Наш шлюз работает с 10 сетями — Ethereum, TRON, Solana, TON, Bitcoin и другими. За время работы прошло больше 85 млн операций, база данных выросла до 283 ГБ.

04

Данные, которые обновляются мгновенно

Real-time системы и потоковые данные

Коэффициенты ставок, биржевые котировки, показания датчиков — всё, что меняется по несколько раз в секунду и должно одновременно дойти до тысяч экранов. Здесь мало «просто передать данные»: нужно, чтобы у человека не прыгали цифры, ничего не терялось при обрыве связи и события не перепутались местами. Мы написали такое ядро с нуля и знаем, где оно ломается.

Наше ядро принимает поток котировок по 12 видам спорта и раздаёт его тысячам браузеров одновременно. Работает в продакшене с 2020 года.

05

Видео в реальном времени и управление техникой через браузер

Live-видео и удалённое управление оборудованием

Показываем сотни и тысячи живых видеопотоков в браузере — без плагинов и с задержкой в доли секунды. Самый наглядный наш проект: человек из браузера играет на настоящем игровом автомате, который физически стоит в зале. Нажатие на экране доходит до платы внутри корпуса и замыкает контакт, автомат отрабатывает, камера показывает результат. Тот же подход работает для любой техники, которой нужно управлять на расстоянии и видеть результат своими глазами.

Около 1000 подключённых автоматов и примерно 2000 одновременных видеопотоков: экран и камера на каждый аппарат.

06

Электроника: от чертежа платы до готового устройства

Встраиваемые системы и электроника

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

Свои платы и прошивки на ESP32, STM32 и AVR — вплоть до сетевой платы, для которой пришлось написать собственный сетевой стек: готовый не помещался в память микроконтроллера.

Ещё: Аналитика и отчёты по большим данным · Игровые платформы и математика игр · Мобильные приложения · Тестирование и ускорение медленных систем · Серверы и эксплуатация

Все 11 услуг →

Что уже построено

5 из 12 кейсов
CASE 01iGaming-платформа под ключ

Игровая платформа, которой пользуются 2 миллиона человек

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

ПлатформаПлатежиВысокая нагрузка
  • 2.18 млн игроков
  • ~1.5 млн денежных операций в сутки
  • 15 брендов из одной кодовой базы
  • база данных распределена по 13 серверам
CASE 03Букмекерский конвейер реального времени

Коэффициенты, которые не отстают от матча

Букмекеру приходит поток изменений коэффициентов по 12 видам спорта. Их нужно мгновенно разложить по матчам и разослать во все открытые браузеры так, чтобы никто не увидел устаревшую цену и не успел поставить по ней. Мы написали для этого собственное ядро на C++ и свой протокол доставки: если у игрока оборвалась связь, он получит не мусор, а корректно восстановленную картину.

Real-timeC++Ставки
  • 12 видов спорта в одном потоке
  • работает в продакшене с 2020 года
  • этот же поток продаётся партнёрам как отдельный продукт
CASE 05Криптоплатёжный шлюз

Криптоплатежи в 10 блокчейн-сетях

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

КриптоПлатежиПроверка на AML
  • больше 85 млн операций
  • 10 сетей: Ethereum, TRON, Solana, TON, Bitcoin и другие
  • курс считается автоматически по заявкам на биржах
CASE 06Live-видео и удалённое управление оборудованием

Игра на настоящем автомате — из браузера

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

ВидеоЭлектроникаWebRTC
  • около 1000 автоматов онлайн
  • 1998 одновременных видеопотоков
  • своя плата и своя прошивка внутри автомата
CASE 07IoT-трекинг и локальное позиционирование

Датчик на футболисте и тепловая карта поля

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

IoTСпортЭлектроника
  • своя плата: радиомодуль, датчики движения, ЭКГ, GPS
  • положение считается по радиосигналу с нескольких приёмников
  • зарядные капсулы для меток — тоже наша разработка
Остальные семь — на странице кейсов.Все 12 кейсов →

Что можем построить под вас

7 направлений

Это не сделанные проекты, а задачи, которые ложатся на уже построенное. У каждой указано, на чём именно основан опыт, — чтобы можно было проверить, а не поверить на слово.

01

Аналитика поверх боевой базы, не роняя её

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

Опора — Хранилище отчётности на 1.63 млрд строк, поток изменений из боевой базы, отчётность по нескольким часовым поясам без сдвига границ суток.

Кому — Тем, кто вырос из отчётов, которые запускают ночью прямо на боевой базе.

02

Платёжный контур и кошелёк внутри сервиса

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

Опора — Денежное ядро, через которое проходит около 1.5 млн операций в сутки, с автоматической сверкой расхождений.

Кому — Маркетплейсам, курьерским и сервисным платформам, подписочным продуктам.

03

IoT-продукт под ключ: от платы до личного кабинета

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

Опора — Носимое устройство собственной разработки: своя плата с радиомодулем, датчиками движения, ЭКГ и GPS, обновление прошивки без визита к устройству.

Кому — Производству, агро, ЖКХ, контролю холодовой цепи.

04

Сбор показаний с промышленного оборудования

Счётчики, контроллеры, весы и датчики говорят каждый на своём протоколе. Мы приводим их к одной картине с историей, порогами и оповещением, когда показание вышло за норму.

Опора — Драйверы промышленной периферии по спецификации протокола и сетевые контроллеры на микроконтроллерах — вплоть до собственного сетевого стека на плате.

Кому — Энергоучёту, ЖКХ, производству.

05

Удалённый доступ к физическому объекту через браузер

Живое видео с малой задержкой плюс управление реальным оборудованием в кадре: осмотреть товар, принять работу, запустить стенд, поторговаться на живом лоте — не приезжая на место.

Опора — Около тысячи устройств онлайн и 1998 одновременных видеопотоков, где нажатие кнопки в браузере замыкает контакт на плате внутри корпуса.

Кому — Аукционам, удалённой приёмке, шоурумам, сервису оборудования.

06

Конвейер быстро меняющихся цен

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

Опора — Ядро котировочного потока на C++ в продакшене с 2020 года: снапшот плюс инкременты, собственный протокол доставки.

Кому — Биржевым витринам, аукционам, динамическому ценообразованию, диспетчерским.

07

Тиражирование продукта под партнёров

Один код — много брендов: оформление, домены, лимиты и тарифы задаются настройкой, а не копией проекта под каждого клиента. Обновление выкатывается всем сразу, а не семь раз подряд.

Опора — 15 брендов из одной кодовой базы на действующей платформе, сборка и выкладка тиражей автоматизированы.

Кому — Тем, кто начал продавать свою платформу другим компаниям.

На чём работаем

опыт в проде, не список из вакансии
Чем пишем серверную часть
Основа систем, где считаются деньги и держится нагрузка.
PHP (Symfony, Laravel, RoadRunner)C++ (Qt, CUDA)Node.js / TypeScriptJava (Spring, Kafka)PythonC (микроконтроллеры)
Что видит пользователь
Сайты, личные кабинеты, панели управления, игры в браузере.
ReactReact Router (SSR)Vue / NuxtEffectorTailwindMantine
Где храним данные
От денежных операций до архивов на миллиарды строк.
MariaDB / MySQL (Galera)ClickHousePostgreSQLRedisMongoDBMinIO
Как передаём данные мгновенно
Живые обновления в браузере и очереди между сервисами.
RabbitMQKafkaCentrifugouWebSockets.jsWebSocketсобственные протоколы TCP / UDP
Из чего делаем устройства
Схема, плата, прошивка, радиосвязь.
ESP32 (ESP-IDF, FreeRTOS)STM32 (HAL, CubeMX)AVRRaspberry PiKiCad, ProteusUWB (Decawave)
На чём всё это живёт
Серверы, автоматическая выкладка обновлений, мониторинг, бэкапы.
DockerAnsibleGitLab CInginxZabbixPrometheus / Grafana
Весь стек →

Опишите задачу — ответим, что из неё у нас уже построено

Расскажите, что нужно сделать. Ответим, что из этого у нас уже построено и работает.