{"id":2030340,"url":"https://alion.io/job/sprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform","title":"Full-Stack Engineer (TypeScript) — AI Agent Platform","company":{"id":20814,"name":"Sprouter Technologies Inc.","domain":"sprouter.ai","url":"https://alion.io/company/sprouter-technologies-inc","size_band":null,"is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"HeadHunter","truth_index":null},"role":"Backend","role_family":"Backend","seniority":null,"employment_type":null,"work_mode":"remote","remote_scope":"stated_regions","remote_scope_basis":"board_field","remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Tomsk, Russia"],"countries":["RU"],"hiring_countries":["RU","BY","KZ","KG","AM"],"hiring_countries_total":5,"salary":{"min":null,"max":160000,"currency":"RUB","period":"month","gross":null,"usd_annual":21564},"salary_estimate":null,"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"AI Agents","optional":false},{"name":"Claude","optional":false},{"name":"Claude Code","optional":false},{"name":"Cursor","optional":false},{"name":"Docker","optional":false},{"name":"Git","optional":false},{"name":"MSW","optional":false},{"name":"Nest.JS","optional":false},{"name":"Next.js","optional":false},{"name":"Node JS","optional":false},{"name":"OpenAI Agents SDK","optional":false},{"name":"OpenAI Codex","optional":false},{"name":"PostgreSQL","optional":false},{"name":"React.js","optional":false},{"name":"Storybook","optional":false},{"name":"Tailwind CSS","optional":false},{"name":"tRPC","optional":false},{"name":"TypeScript","optional":false},{"name":"Vitest","optional":false},{"name":"Zod","optional":false},{"name":"GitHub","optional":true},{"name":"Gmail","optional":true},{"name":"Google Drive","optional":true},{"name":"JavaScript","optional":true},{"name":"LLM","optional":true},{"name":"pnpm","optional":true},{"name":"Slack","optional":true},{"name":"Stripe","optional":true},{"name":"Turborepo","optional":true}],"status":"live","first_seen_at":"2026-10-07T14:04:37Z","employer_posted_date":"2026-10-07","last_verified_at":"2026-10-11T23:30:09Z","board_verified":true,"closed_at":null,"days_open":5,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":5},"description":"О компании\n Sprouter создаёт платформу, на которой компании поручают свою реальную работу командам AI-агентов. Команда агентов подключается к приложениям самой компании - Gmail, Slack, HubSpot, Google Drive и другим, - запускает рабочие процессы по расписанию и по запросу и доставляет результат туда, где люди уже работают. Чувствительные действия проходят через слой согласований, а каждый запуск тарифицируется в кредитах. Продукт работает с реальными клиентами и меняется каждую неделю.\n О роли\n Вы будете вести фичи из роадмапа от начала до конца - бэкенд, фронтенд и тесты, - используя Claude Code как основной инструмент.\n Первыми идут две фичи. Первая - чтобы веб-приложение хорошо работало на телефоне: адаптивная вёрстка и устанавливаемое веб-приложение. Вторая - реферальная программа для партнёров: коды, атрибуция при регистрации и условия начисления кредитов. После этого - общая работа над бэкендом и фронтендом по всей платформе.\n Обязанности\n Выпускать фичи целиком: общий контракт, бэкенд, UI, тесты и Storybook-stories.\nМобильный веб - вместе с нашим design engineer: брейкпоинты, адаптивный каркас приложения и чат, мобильные версии ключевых экранов, устанавливаемое PWA.\nРеферальные коды и тарифы: консоль оператора, атрибуция при регистрации, условия по кредитам, применяемые через наш леджер кредитов, и защита от злоупотреблений.\nУправлять сессиями Claude Code и ревьюить их результат так, будто его написал незнакомый человек. Доказывать, что изменение работает, - тестами и фактами.\nФиксировать решения: короткая запись о решении (ADR) каждый раз, когда меняется правило системы.\n Наш стек\n TypeScript-монорепозиторий на pnpm и Turborepo.\nБэкенд: NestJS, tRPC с контрактами на Zod, Drizzle ORM поверх PostgreSQL.\nВеб: Next.js (App Router), React 19, Base UI, Tailwind CSS 4, TanStack Query.\nТесты: Vitest (в том числе browser mode) и MSW. Компоненты каталогизированы в Storybook.\nРантайм агентов: Claude Agent SDK.\nЛокальный Docker merge gate: каждый PR проходит его перед мержем.\n Требования\n 3+ года продакшн-разработки на TypeScript - и на бэкенде (Node.js), и на фронтенде (React).\nPostgreSQL и миграции в продакшене. Вы по умолчанию думаете о транзакциях, идемпотентности, состояниях гонки и авторизации.\nУверенный CSS и адаптивная вёрстка: можете заставить плотный десктопный интерфейс работать на экране шириной 360 px.\nТестирование - часть работы, а не то, что добавляется после неё.\nМесяцы ежедневной агентной разработки (Claude Code, агент Cursor, Codex или аналоги) и привычка критически ревьюить дифф модели.\nУверенный Git: небольшие pull request'ы, чистая история, rebase.\nРазговорный английский. Весь код, документация и сам продукт - на английском.\n Будет плюсом\n NestJS, tRPC, Zod, Drizzle, Next.js App Router, Tailwind.\nVitest browser mode, MSW, Storybook.\nОпыт с PWA.\nПлатежи, биллинг, кредиты или леджер-системы; Stripe.\nDocker.\nРазработка на LLM API.\n Как мы работаем\n Небольшая команда в режиме LLM-first: большую часть кода пишет Claude Code, а инженеры ставят задачи, ревьюят и проверяют результат. Мы ожидаем, что вы уже так работаете.\nКаждая задача - issue в GitHub. Решения фиксируются в ADR. Сначала тесты, и каждый pull request перед мержем проходит локальный Docker merge gate.\nНаша dev-среда запускает реальные модели на реальных подключённых приложениях, поэтому каждый запуск стоит реальных денег.\nВысокий темп и плотная документация: в первые недели придётся много читать.\n Условия\n Полностью удалённая работа и гибкий график.\nПрямая работа с основателем и реальная ответственность за фичи, которые вы делаете.\nРаботающий продукт с реальными клиентами, который создаётся с помощью новейших AI-инструментов разработки.\n Этапы отбора\n 1. Звонок с основателем, частично на английском.\n2. Короткий блок технических вопросов.\n3. Возможно, небольшое тестовое задание.","description_format":"text","description_chars":3820,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"Russian","level":"Advanced (C1)","optional":false}]},"benefits":[],"hiring_locations":[{"name":"Russia","iso":"RU","kind":"country"},{"name":"Belarus","iso":"BY","kind":"region"},{"name":"Kazakhstan","iso":"KZ","kind":"region"},{"name":"Kyrgyzstan","iso":"KG","kind":"region"},{"name":"Armenia","iso":"AM","kind":"region"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Artificial Intelligence","Mining","Mining Tech","Industrial AI"],"lifecycle":[{"event":"open","at":"2026-10-07T14:09:17Z"}],"visa":[],"liveness":{"score":90,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.901,"p_room":1,"age_days":4,"expected_fill_days":26,"reasons":["conf:7","velocity","win:early"],"computed_at":"2026-10-12T06:55:09Z"},"pay":{"stated_usd_annual":21564,"is_top_pay":false},"html_url":"https://alion.io/job/sprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform","json_url":"https://alion.io/job/sprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform.json","meta":{"generated_at":"2026-10-12T16:46:17Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":26659,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-13T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":20814},"rest":"https://alion.io/mcp/rest/get_company?id=20814"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fsprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fsprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fsprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/sprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fsprouter-technologies-inc-full-stack-engineer-typescript-ai-agent-platform"}]}