1001 Remote Jobs
Свежие вакансии удаленной работы
Сегодня: 12-Aug-2026 11:39 GMT
Просмотр вакансии
Подробный просмотр вакансии (вы будете перенаправлены на сторонний веб-сайт)
Название вакансии: Frontend Developer — Interactive Map Drawing Tool (React + Google Maps + SVG)
Кто разместил: Внешняя вакансия с jobs.dou.ua
Опубликована: 12-Aug-2026 07:35 GMT
Компания: BESTIA
Описание: Project overview
We’re building a web tool that lets users design a fence plan directly on top of Google Maps: draw fence runs, place gates, add posts and accessories, and get a live measurement/estimate. We need an experienced frontend developer to build the drawing and interaction engine — the core mechanics of the map editor itself.

This is a well-specified, self-contained module. You’ll receive:
* A detailed written specification covering every interaction rule (drawing, snapping, joints, angles, closed loops, gates, sliding gates, fence gaps, posts, terrain notation, hotkeys, undo/redo), including a data-model reference and pseudocode for the key mechanics.
* A working interactive HTML/SVG reference build (vanilla JS, no framework) that demonstrates every scenario live — you’ll be able to click through it to see exactly how each interaction should behave before writing any production code.
* A set of acceptance-test scenarios that define “done” for each feature.

What you’ll build
* A React + TypeScript implementation of the reference build’s drawing engine, rendering an SVG overlay synced to a real Google Maps instance (the reference build itself runs on an abstract SVG canvas, not real map coordinates — wiring it up to actual geo-coordinates is part of this task).
* Full interaction logic: drawing fence runs point-by-point with live metric dimensions, magnetic snapping/joining/disjoining between runs, 90°/exact-angle joints, closed loops, swing and sliding gates, real fence gaps around obstacles, automatic and manual posts, site objects (house, tree, pool, etc.), terrain markers (raked/step-down).
* A single-step undo/redo history covering every action (move, join, disjoin, length edit, gap creation).
* Keyboard shortcuts that work regardless of keyboard layout (physical key codes, not typed characters).

Tech stack
* React + TypeScript
* Google Maps JavaScript API (e.g. @vis.gl/react-google-maps or the official loader) with a custom overlay for the SVG layer
* SVG for all geometry, handles, and contextual UI (not Canvas — the spec relies on individual hit-areas, readable rotated text, and DOM-level interactivity)
* Pointer Events API for unified mouse/touch/stylus handling, with a deliberate drag threshold (~4—7px) before a click becomes a drag
* State management of your choice — the reference build implements undo/redo as simple JSON snapshots per action, which is an acceptable pattern to follow rather than a full architectural rewrite

Approach we’re looking for
The reference build already contains working, battle-tested logic for every interaction (snapping, joining, dimensioning, gate geometry). We’re not looking for a ground-up redesign — we want that logic ported and typed, then wired to real map coordinates. A pragmatic port that keeps the proven imperative core close to the reference implementation is preferred over a full idiomatic React rewrite; this keeps cost and timeline down without sacrificing correctness.
What’s out of scope
* Pricing and quote calculations (handled separately)
* Product/catalog data sourcing (handled separately)
* Final visual styling of buttons, panels, and typography (comes from separate design files; you’re implementing behavior, not pixel-perfect skinning)
* Backend, auth, and project storage — a REST backend already exists; you’ll only need to call a save/load endpoint

Requirements
* Strong React + TypeScript experience, comfortable with complex, deeply-nested client-side state
* Prior experience with the Google Maps JavaScript API (custom overlays, coordinate projection)
* Solid SVG skills: manual geometry math (distance, projection onto a segment, angle calculation), not just static SVG markup
* Experience building drag-and-drop interactions from scratch with Pointer Events (not just wrapping a pre-built library)
* Ability to read a detailed written spec precisely and flag ambiguities rather than guessing

Nice to have
* Experience building CAD-like or diagram/floor-plan editors (snapping, joints, dimension lines)
* Familiarity with undo/redo history design for interactive editors

What to include in your application
Please review the specification and reference build, then share:
* Your estimated hours (or a range) for the full scope described above
* Any parts of the spec you’d flag as higher-risk or likely to take longer than expected
* Whether you’d suggest descoping anything (e.g. sliding gates, fence gaps, terrain notation, site objects) to fit a tighter budget, and the estimated impact on hours

Deliverables & acceptance
Work is considered complete when all acceptance-test scenarios from the specification pass on both mouse and touch input, with no console errors and no orphaned data references after delete/split operations.

Відгукнутись на вакансію
Job ID: 180413
Требуемые навыки: Backend, Frontend, Html, Javascript
Зарплата:
Регион: віддалено
Подробный просмотр вакансии (вы будете перенаправлены на сторонний веб-сайт)
Новые вакансии / Все вакансии
Вакансия Компания Открыта
Инженер по ремонту кофемашин
Зарплата: от 90 000 до 110 000 руб.
Регион: Нижний Тагил
ТОРГТЕХНИКА 12-Aug-2026
09:40 GMT
Менеджер по продажам банковских гарантий / финансовых продуктов
Зарплата: от 120 000 руб.
Регион: Москва
РосФин Про 12-Aug-2026
09:40 GMT
Оператор call-центра (без продаж, входящая линия)
Зарплата: от 50 000 до 55 000 руб.
Регион: Воронеж
Триколор Контактный центр 12-Aug-2026
09:40 GMT
Менеджер интернет-магазина/Менеджер клиентского сервиса
Регион: Москва
Dreams by Alena Akhmadullina 12-Aug-2026
09:40 GMT
Оператор консультант в колл -центр на входящие звонки
Регион: Бишкек
ТКАЧЁВА ЕКАТЕРИНА ЮРЬЕВНА 12-Aug-2026
09:40 GMT
Оператор call-центра (без продаж, входящая линия)
Зарплата: от 50 000 до 55 000 руб.
Регион: Саратов
Триколор Контактный центр 12-Aug-2026
09:40 GMT
Оператор call-центра (без продаж, входящая линия)
Зарплата: от 50 000 до 55 000 руб.
Регион: Ростов-на-Дону
Триколор Контактный центр 12-Aug-2026
09:40 GMT
Оператор call-центра (без продаж, входящая линия)
Зарплата: от 50 000 до 55 000 руб.
Регион: Энгельс
Триколор Контактный центр 12-Aug-2026
09:39 GMT
Оператор call-центра (без продаж, входящая линия)
Зарплата: от 50 000 до 55 000 руб.
Регион: Калач-на-Дону
Триколор Контактный центр 12-Aug-2026
09:39 GMT
Оператор call-центра (без продаж, входящая линия)
Зарплата: от 50 000 до 55 000 руб.
Регион: Краснодар
Триколор Контактный центр 12-Aug-2026
09:39 GMT
Оператор call-центра (без продаж, входящая линия)
Зарплата: от 50 000 до 55 000 руб.
Регион: Волгоград
Триколор Контактный центр 12-Aug-2026
09:39 GMT
Оператор колл-центра на входящие звонки
Регион: Бишкек
ТКАЧЁВА ЕКАТЕРИНА ЮРЬЕВНА 12-Aug-2026
09:39 GMT
Оператор call-центра
Зарплата: от 50 000 руб.
Регион: Воронеж
ANCOR 12-Aug-2026
09:39 GMT
Ведущий java разработчик
Навыки: Java
Регион: Москва
СТЭП ЛОДЖИК
(STEP LOGIC)
12-Aug-2026
09:39 GMT
Интервьюер - Проведение интервью с населением
Регион: Андижан
Зеркало Центральная Азия 12-Aug-2026
09:38 GMT
Все вакансии
Удаленные вакансии по навыкам ...
Удаленные вакансии 'android'
Удаленные вакансии 'angular'
Удаленные вакансии 'ajax'
Удаленные вакансии 'aspnet'
Удаленные вакансии 'backend'
Удаленные вакансии 'bigdata'
Удаленные вакансии 'cloud'
Удаленные вакансии 'cms'
Удаленные вакансии 'cpp'
Удаленные вакансии 'csharp'
Удаленные вакансии 'css'
Удаленные вакансии 'devops'
Удаленные вакансии 'drupal'
Удаленные вакансии 'excel'
Удаленные вакансии 'frontend'
Удаленные вакансии 'fullstack'
Удаленные вакансии 'html'
Удаленные вакансии 'java'
Удаленные вакансии 'javascript'
Удаленные вакансии 'joomla'
Удаленные вакансии 'iphone'
Удаленные вакансии 'linux'
Удаленные вакансии 'mysql'
Удаленные вакансии 'php'
Удаленные вакансии 'python'
Удаленные вакансии 'qa'
Удаленные вакансии 'ruby'
Удаленные вакансии 'seo'
Удаленные вакансии 'sql'
Удаленные вакансии 'sysadm'
Удаленные вакансии 'vbnet'
Удаленные вакансии 'xml'
Удаленные вакансии 'wordpress'
Читать RSS-ленты ... Новое!
Лента вакансий для 'android'
Лента вакансий для 'angular'
Лента вакансий для 'ajax'
Лента вакансий для 'aspnet'
Лента вакансий для 'backend'
Лента вакансий для 'bigdata'
Лента вакансий для 'cloud'
Лента вакансий для 'cms'
Лента вакансий для 'cpp'
Лента вакансий для 'csharp'
Лента вакансий для 'css'
Лента вакансий для 'devops'
Лента вакансий для 'drupal'
Лента вакансий для 'excel'
Лента вакансий для 'frontend'
Лента вакансий для 'fullstack'
Лента вакансий для 'html'
Лента вакансий для 'java'
Лента вакансий для 'javascript'
Лента вакансий для 'joomla'
Лента вакансий для 'iphone'
Лента вакансий для 'linux'
Лента вакансий для 'mysql'
Лента вакансий для 'php'
Лента вакансий для 'python'
Лента вакансий для 'qa'
Лента вакансий для 'ruby'
Лента вакансий для 'seo'
Лента вакансий для 'sql'
Лента вакансий для 'sysadm'
Лента вакансий для 'vbnet'
Лента вакансий для 'xml'
Лента вакансий для 'wordpress'
Новое!
Jobs in English
Длинный URL:
www.1001remotejobs.ru
Мобильная версия:
m.1001rejo.ru
Copyright © 2020-2022 1001 Remote Jobs