К проектам
Проект: Flatmate.dk Год: 2025–2026 Роль: Full-stack, продакт, дизайн

Find the person, then the place.

Tinder-style мэтчинг румейтов по личности — не по планировке квартиры

Контекст

Копенгаген — дорогой город. Снимать одному реально, но накладно. Большинство людей ищут румейтов через Facebook-группы: «Ledigt værelse на Нёрребро!!!» — 50% фотки комнаты, 50% фотки человека. Ноль информации о совместимости.

Результат по данным BoligPortal (2025): до 68% совместных проживаний проваливаются из-за бытового мисмэтча — курение, шум, график сна, гости. Люди тратят месяцы на поиск, а потом ещё и переезжают через полгода.

Идея простая: а что если сматчить людей по стилю жизни ДО того, как они начнут искать квартиру?

Проблема

Существующие платформы (BoligPortal, DBA, Facebook-группы) фокусируются на квадратных метрах и цене. Человек — вторичен. Но именно человек определяет, будет ли жить нормально или через три месяца начнётся война из-за посуды в раковине.

«Квартира не делает соседство. Люди делают.»

Как это работает

Пример мисмэтча
Ханс Кристиан Андерсен, 45
Писатель, Оденсе
🌙 05:00 🧹 Маниакальный порядок 🔥 Боится пожара 🪢 Спит с верёвкой
vs
Нильс Бор, 35
Физик, Копенгаген
🌙 02:00 🧹 Хаос на столе ⚽ Футбол 💬 Споры до утра
Совместимость: 0% — мисмэтч
С Flatmate
Нильс Бор, 35
Физик, Копенгаген
🌙 02:00 🧹 Хаос на столе ⚽ Футбол 💬 Споры до утра
+
Карен Бликсен, 35
Писательница, Рунгстед
🌙 02:00 🧹 Творческий беспорядок 🍷 Вечеринки 📖 Рассказывает истории
Совместимость: 97% ✓

Продукт

01

Свайпы

Tinder-механика: свайпай людей, не квартиры. Карточка с фото, тегами лайфстайла, бюджетом и районом.

02

Compatibility Score

Алгоритм считает совместимость по графикам сна, чистоплотности, шуму, гостям, бюджету. Пользователь сам настраивает веса.

03

Realtime Chat

Supabase Realtime — мгновенные сообщения после взаимного лайка. Обсуждай хоум-рулы до первого кофе.

04

Группы

Объединяйся с матченными людьми и подавай заявки на квартиры вместе. Хозяевам нравятся pre-vetted группы.

05

Блог и гайды

SEO-контент: гайды по районам Копенгагена, чек-листы для румейтов, советы по совместной жизни. Привлекает трафик.

06

Система жалоб

Report + moderation. Safety-first подход: блокировка, трейсинг, превентивные меры. Не dating app.

Архитектура

Frontend Next.js 15 (App Router) · React 19 · TypeScript 5 · Tailwind CSS · Framer Motion · Zustand · TanStack Query
Backend Supabase (PostgreSQL + Auth + Realtime + RLS) · API Routes · Zod-валидация
Push/Email Firebase Cloud Messaging · Resend (транзакционные email)
Мониторинг Sentry (ошибки) · PostHog (продуктовая аналитика) · LogRocket (сессии) · Web Vitals
Тесты Jest (unit) · Playwright (e2e) · Storybook · k6 (load testing)
Деплой Vercel · GitHub Actions · Lighthouse CI · Bundle Analyzer

Стек

Next.js 15 Supabase TypeScript React 19 Tailwind CSS Framer Motion Zustand TanStack Query Firebase Resend Sentry PostHog LogRocket Playwright Storybook k6 next-intl Zod

Что сделано

6 Фич
100% TypeScript
0 kr Бюджет
Амбиций

Продукт собран: свайпы, compatibility scoring, realtime-чат, система групп. Marketing пока не начинал — сначала хочется довести UX до точки, когда первые пользователи скажут «ого». Бесплатно, без ограничений.

Дизайн

Brutalist UI — осознанный выбор. Чёрные рамки, жёсткие тени, моноширинный шрифт для меток, serif для заголовков. Жёлтые, розовые и голубые акценты.

Почему brutalism? Потому что рынок roommate-поиска — это BoligPortal и Facebook. Скучные, шаблонные. Flatmate должен выделяться. Brutalism = честность, прозрачность, никакой лакировки. Совпадает с продуктом: мы не притворяемся dating app.

Mobile-first. Карточки, свайпы, чат — всё заточено под телефон. Desktop — бонус.

Что я узнал

Matching ≠ Dating. Tinder-механика работает для любого мэтчинга, но UX должен чётко разграничивать контекст. Люди не хотят чувствовать, что ищут пару. Каждый элемент дизайна подчёркивает: это про совместное проживание.

Supabase Realtime — мощно, но хрупко. WebSocket-соединения на мобильных падают. Reconnect logic, offline queue, optimistic updates — без этого чат будет глючить. Отдельная статья в Sentry.

Сначала человек, потом квартира. Вся архитектура строится вокруг профиля пользователя, а не объявления. Это неочевидное решение, которое определяет всё: от схемы БД до UX свайпов.

Load testing до запуска. k6 показал, что Supabase Realtime умирает на 200+ одновременных WebSocket-подключений. Починили до того, как заметили пользователи.

В разработке

Flatmate собран и работает. Marketing ещё не начинал — сейчас финализирую UX. Если тема близкая — пишите, обсудим.

Посмотреть flatmate.dk Обсудить проект