{"id":551806,"url":"https://alion.io/job/instat-frontend-razrabotchik-react","title":"Фронтенд разработчик (React)","company":{"id":450484,"name":"Instat","domain":"instat.pro","url":"https://alion.io/company/instat","size_band":null,"is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":null,"truth_index":null},"role":"Frontend","role_family":"Frontend","seniority":"middle","employment_type":"full_time","work_mode":"remote","remote_scope":"stated_regions","remote_scope_basis":"inferred_payroll_markers","remote_working_hours":null,"hiring_geo_confidence":"inferred","locations":["Moscow, Russia"],"countries":["RU"],"hiring_countries":["RU","BY","KZ","KG","AM"],"hiring_countries_total":5,"salary":{"min":100000,"max":320000,"currency":"RUB","period":"month","gross":null,"usd_annual":43308},"salary_estimate":null,"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"GitHub","optional":false},{"name":"JavaScript","optional":false},{"name":"Next.js","optional":false},{"name":"React.js","optional":false},{"name":"TypeScript","optional":false}],"status":"live","first_seen_at":"2026-09-08T00:00:00Z","employer_posted_date":null,"last_verified_at":"2026-09-08T00:00:00Z","board_verified":false,"closed_at":null,"days_open":47,"trust":{"level":"not_scored","repost_count":null,"flags":[],"days_open":47},"description":"Навыки: React, TypeScript, БЭМ, Веб-разработка, Адаптивная верстка, CSS, HTML, JavaScript. Квалификация: Middle. Специализации: Фронтенд разработчик.\nФронтенд-разработчик - React / Next.js\nИщем фронтенд-разработчика в действующий веб-проект для работы с генерацияами. Есть готовый бэкенд и макеты в фигме. Нужно собирать по ним интерфейс и доводить до рабочего состояния пользовательские сценарии.\nНа старте нагрузка будет выше: нужно за короткий срок реализовать как можно больше готовых макетов. Объём и сроки согласуем с учётом вашей доступности. После реализации макетов и канваса останется поддержка: исправления, небольшие доработки и обновления интерфейса.\nЗадачи\n- Верстать экраны по макетам, адаптировать их под разные размеры экрана, собирать общие компоненты.\n- Подключать API: формы и настройки, загрузку файлов, библиотеку результатов, личный кабинет.\n- Реализовать ассинхронный флоу в лучшем из вариантов с долгими операциями: показывать ожидание, ошибки, результат и возможность повторить действие.\n- Следующим этапом - сделать канвас на React Flow: добавление и соединение нод, сохранение рабочего пространства, запуск обработки и показ результата.\nЧто нужно уметь:\nПисать React + TypeScript компоненты, уверенно работать с HTML/CSS и разбираться в чужом коде. Понимать HTTP/REST, асинхронные запросы и состояние интерфейса. В проекте используется Next.js.\nДля канваса пригодятся React Flow, понимание дебаунс и производительности методов JS по ECMA и умение быстрой интеграции по API.\nОплата и отбор:\nОплата - от 100 000 рублей в месяц, по договору с ИП. Абсолютно все члены команды после 3-6 месяцев онбординга прирастают проектами, если осваиваются на изначальном слоте и готовы брать больше работы. Делаете быстро и без замечаний - получаете больше оплачиваемого объема.\nПервый технический этап:\nhttps://github.com/instatdigital/frontend-checkout-challenge\nhttps://github.com/instatdigital/frontend-canvas-challenge\nВ каждом задании есть готовый локальный бэкенд, документация и критерии оценки. ВАЖНО обобщать код. Ошибки не должны обрабатываться в каждом вызове фетча, фетч не должен быть разным в каждом компоненте. DRY выкручиваем на максимум и обобщаем все, что можно обобщить. Самый обобщенный код, где есть минимальная повторяемость операций, будет признан лучшим. Отдельно, если вы не знаете, почему какой-нибудь единый .map().filter() хуже, чем один .reduce(), то вы не сможете никогда писать производительный код и вам так же будет тяжело пройти наш фильтр.\nМожно пользоваться чем угодно. Важно понимать решение и уметь его защитить.\nПроверяем присланные решения, с авторами наиболее удачных работ проводим прямое техническое собеседование: разбираем решение и и смотрим на софт скиллы - мы работаем только в атмосфере взаимного уважения, не терпим токсичности и тягучей тупости в обсуждении решений.\nДля отклика пришлите ссылку на свой репозиторий с тестовым и резюме (старт возможен на следующий день после апрува кандитата).","description_format":"text","description_chars":2957,"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":[],"lifecycle":[{"event":"open","at":"2026-09-08T16:12:31Z"}],"visa":[],"liveness":{"score":10,"band":"cold","label":"Long shot","p_open":0.4,"p_active":0.579,"p_room":0.45,"age_days":47,"expected_fill_days":28,"reasons":["seen:47","win:tail"],"computed_at":"2026-10-25T05:49:26Z"},"pay":{"stated_usd_annual":43308,"is_top_pay":false},"html_url":"https://alion.io/job/instat-frontend-razrabotchik-react","json_url":"https://alion.io/job/instat-frontend-razrabotchik-react.json","meta":{"generated_at":"2026-10-25T19:48:29Z","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":27908,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-26T00: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":450484},"rest":"https://alion.io/mcp/rest/get_company?id=450484"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Finstat-frontend-razrabotchik-react"},{"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%2Finstat-frontend-razrabotchik-react"},{"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%2Finstat-frontend-razrabotchik-react"},{"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/instat-frontend-razrabotchik-react\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Finstat-frontend-razrabotchik-react"}]}