1001 Remote Jobs
Свежие вакансии удаленной работы
Сегодня: 18-Sep-2026 01:29 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
Зарплата:
Регион: віддалено
Подробный просмотр вакансии (вы будете перенаправлены на сторонний веб-сайт)
Новые вакансии / Все вакансии
Вакансия Компания Открыта
Senior Quant/ML Researcher
Навыки: Python
Регион: Москва
hirix 17-Sep-2026
11:50 GMT
Python Developer / AI Engineer (Document Processing)
Навыки: Python
Регион: Москва
AYROSA 17-Sep-2026
11:47 GMT
Senior .NET разработчик (PL\SQL)
Навыки: Csharp, Sql
Регион: Москва
ГНИВЦ 17-Sep-2026
11:26 GMT
Middle General QA Engineer 04058371
Навыки: Android, Python, Qa
Регион: Львів, віддалено
Pecode 17-Sep-2026
10:27 GMT
Sourcer / Recruiter
Регион: віддалено
BAKOTECH 17-Sep-2026
10:20 GMT
Технолог-разработчик косметики для животных (R&D)
Регион: Санкт-Петербург
DOGIGO 17-Sep-2026
10:16 GMT
Программист 1С
Зарплата: от 170 000 до 270 000 руб.
Регион: Москва
ИВБВ ГРУПП 17-Sep-2026
10:16 GMT
Торговый представитель по продажам рекламных услуг
Регион: Ташкент
Yango Group 17-Sep-2026
10:16 GMT
Тестировщик / Модератор AI игр
Регион: Сербия
Playgama 17-Sep-2026
10:16 GMT
Менеджер по продажам (горячие заявки) / Начинающий специалист
Зарплата: от 70 000 до 120 000 руб.
Регион: Нижний Новгород
Лабарум Групп 17-Sep-2026
10:16 GMT
Аудитор
Зарплата: от 80 000 руб.
Регион: Рязань
АИКЦ Эксперт-аудитор 17-Sep-2026
10:16 GMT
Региональный менеджер по продажам складской техники
Зарплата: от 150 000 руб.
Регион: Челябинск
Торговый Дом Вертикаль 17-Sep-2026
10:16 GMT
Региональный менеджер по продажам складской техники
Зарплата: от 150 000 руб.
Регион: Набережные Челны
Торговый Дом Вертикаль 17-Sep-2026
10:16 GMT
Диспетчер интернет магазина со знанием русского языка (без продаж)
Регион: Бишкек
Телепилот.ру 17-Sep-2026
10:15 GMT
Финансовый консультант
Зарплата: от 30 000 до 100 000 руб.
Регион: Люберцы (Московская область)
Everia Life 17-Sep-2026
10:15 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:
1001rejo.ru
Мобильная версия:
m.1001remotejobs.ru
Copyright © 2020-2022 1001 Remote Jobs