Стек, в котором мы работаем

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

Языки
  • TypeScript
  • Python
  • Go
  • Kotlin
  • Swift
  • SQL

TypeScript по обе стороны большинства веб-продуктов, чтобы один инженер вёл функцию от базы данных до экрана. Python там, где живут библиотеки для данных и моделей, Go для сервисов, которые должны быть маленькими и быстрыми, Swift и Kotlin для нативных приложений.

Фронтенд
  • React
  • Next.js
  • Vue
  • Tailwind CSS
  • Vite
  • Playwright

React и Next.js по умолчанию: под них ваша команда сможет нанимать людей после передачи. Vue, если продукт уже на нём. Playwright для сквозных тестов, которые запускаются на каждое изменение.

Бэкенд и API
  • Node.js
  • FastAPI
  • NestJS
  • GraphQL
  • gRPC
  • REST

Node.js или FastAPI, в зависимости от того, где живёт остальной продукт. REST для большинства интеграций, GraphQL, когда много клиентов читают одни данные в разном виде, gRPC между внутренними сервисами.

Данные
  • PostgreSQL
  • Redis
  • ClickHouse
  • Elasticsearch
  • Kafka
  • dbt

PostgreSQL в первую очередь и обычно до конца: большинство продуктов из него не вырастает. Redis для очередей и кэша, ClickHouse, когда аналитика замедлила бы основную базу, Kafka только когда события действительно нужно переигрывать.

Облако и эксплуатация
  • AWS
  • Google Cloud
  • Docker
  • Kubernetes
  • Terraform
  • GitHub Actions

AWS или Google Cloud в вашем собственном аккаунте, а не в нашем, поэтому инфраструктура ваша с первого дня. Всё описано в Terraform и выкатывается из CI: именно это делает чистую передачу возможной.

ИИ и машинное обучение
  • OpenAI
  • Anthropic
  • Gemini
  • pgvector
  • LangGraph
  • PyTorch

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

Мобильная разработка
  • Swift / SwiftUI
  • Kotlin / Compose
  • React Native
  • Expo

Нативные Swift и Kotlin, когда приложение зависит от возможностей устройства или производительности. React Native с Expo, когда одной команде нужно выпускать iOS и Android и делить логику с вебом.

Дизайн и выпуск
  • Figma
  • Storybook
  • Linear
  • Sentry
  • Grafana
  • OpenTelemetry

Figma и Storybook, чтобы дизайн и код описывали одни и те же компоненты. Sentry, Grafana и OpenTelemetry, чтобы проблема появлялась на панели раньше, чем в обращении в поддержку.

Если продукт уже работает на другом, мы работаем в вашем стеке. Переписывание требует обоснования, а не предпочтения.

Как мы выбираем стек для нового проекта

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

Если продукт уже работает на чём-то исправном, мы это оставляем. Переписывание мы рекомендуем только с письменным обоснованием: сколько стоит, что экономит и когда окупается.

Инструмент, который мы не запускали в эксплуатации, называется риском в документе обследования, а не осваивается втихую за ваш счёт.

Расскажите, что вы строите

Для начала хватит короткого описания. В ответ придут вопросы, вилка и две-три вещи, которые её изменят.