Back-end разработчик (листинг-платформа недвижимости)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
DubaiHouse — платформа, которая помогает быстро находить действительно выгодные объекты недвижимости: собираем рынок в одном месте и показываем ключевые параметры, чтобы пользователи могли принимать самостоятельные и взвешенные решения.
Формат
-
Part-time, гибкий удалённый график
-
Оплата по часам, ставка по договорённости
-
Онбординг от текущего разработчика, подробное ТЗ отправим кандидатам
Текущая задача проекта
1) Доработка листинга
-
Валидация и доводка существующего парсинга с 3 сайтов (ретраи, стабилизация, антибот-механики, очереди)
-
Дедупликация объектов (строковые метрики + эмбеддинги/векторный поиск), настройка порогов качества
-
Пайплайн изображений: выбор/интеграция AI-модели/API (remover watermark, upscale) и стратегия хранения
-
Развитие GraphQL-API каталога
2) Wishlist (Списки)
-
Анонимные пользователи: добавление объектов в системный список “Unsorted”, хранение в localStorage в пределах браузера, миграция в аккаунт при регистрации.
-
Зарегистрированные пользователи: создание/редактирование/удаление списков, перемещение объектов между списками, заметки и комментарии к объектам, фильтры/сортировка внутри списка; “Unsorted” не удаляется.
-
Шеринг и доступы: генерация ссылки на список (в т.ч. по токену), права доступа (просмотр / комментирование / редактирование), управление участниками.
-
Бэкенд-механики: middleware на права, API для альбомов/элементов/комментариев, endpoint миграции wishlist при регистрации.
Технологический стек
-
Back-end: NestJS + TypeScript, GraphQL, Prisma (PostgreSQL), Docker
-
Парсинг: Playwright, Cheerio, очереди/CRON
-
Данные/поиск: строковые метрики (Levenshtein/Jaro), косинусное сходство, эмбеддинги (OpenAI или аналоги), pgvector (или эквивалент)
-
Инфра/качество: GitHub Actions, pino/winston, Sentry/Prometheus (или аналоги)
-
Примечание по коду: часть текущего функционала на Next.js + Prisma; для парсинга используем/модерируем Playwright
Чем предстоит заниматься
-
Усиливать парсеры и листинг; навести наблюдаемость, алёрты, CI/CD
-
Проектировать и внедрять дедупликацию и векторный поиск
-
Спроектировать и интегрировать пайплайн изображений (watermark removal, super-resolution, хранилище)
-
Реализовать Wishlist-фичи (аноним/рег, шеринг, права, комментарии) и соответствующие API
Требования
-
Продакшн-опыт с NestJS/TypeScript, Prisma + PostgreSQL
-
Практический опыт веб-парсинга (Playwright/Puppeteer, Cheerio), очередей (BullMQ/RabbitMQ/Redis), CRON
-
Опыт с фаззи-метчингом/векторным поиском (pgvector, Qdrant, ES k-NN и пр.)
-
Понимание GraphQL и хорошего API-дизайна
-
Навык работы с логированием/мониторингом/тестами
Будет плюсом
-
Пайплайны обработки изображений (watermark removal, super-resolution, S3/MinIO/R2)
-
Антибот-защиты, прокси-ротация, fingerprinting
-
Опыт в листинг-платформах/каталогах