Розробка мобільного додатку для нетворкингу на заходах
Нетворкинговий додаток — це Tinder-механіка, застосована до професійних контактів: свайп або взаємний інтерес, мэтч, чат. Плюс: discovery поблизу, обмін візитками, планування зустрічей. Все це працює в обмеженому часовому вікні заходу.
Профіль та matching
Профіль учасника — ім'я, фото, компанія, посада, інтереси/теги, цілі (шукаю партнера / шукаю клієнтів / відкритий до найму). Теги — основа для алгоритму рекомендацій.
Matching алгоритм: перетин тегів + косинусне схожість на векторах інтересів (якщо список тегів великий). На стороні PostgreSQL: cube extension для векторного схожості або простий array && array оператор для перетину тегів. Для невеликих заходів (до 1000 учасників) — проста SQL-агрегація працює швидше будь-якого ML.
Двусторонній інтерес — «лайк» прихований до взаємності. Реалізується через таблицю interests(from_user_id, to_user_id), мэтч виникає коли існують обидві записи. Webhook або polling для сповіщення про мэтч: push через FCM з вібрацією та звуком.
Discovery поблизу: Bluetooth та геолокація
«Люди поблизу» — популярна функція для нетворкингу на заході. Два підходи:
Bluetooth Low Energy (BLE) beaconing. Кожне пристрій періодично розсилає свій userId у BLE advertisement (Custom Service UUID). Інші пристрої слухають через CBCentralManager.scanForPeripherals(withServices:) (iOS) або BluetoothLeScanner.startScan() (Android). RSSI (сила сигналу) дає приблизну дистанцію. Перевага: працює без інтернету та GPS. Проблема: на iOS у background режимі BLE scanning обмежений — тільки для зареєстрованих Service UUID.
Геолокація. CLLocationManager.requestLocation() (iOS) / FusedLocationProviderClient.getCurrentLocation() (Android). Клієнт відправляє координати на сервер, сервер повертає список користувачів в радіусі N метрів. Геолокація точніше BLE на відкритих просторах, гірше — всередині будівель.
Рекомендуємо комбінацію: геолокація для крупного радіуса (весь venue), BLE для «стоїмо поблизу» (< 10 метрів).
Обмін контактами
Три механіки обміну:
-
QR-код профілю — генеруємо
QRCodeзuserId, сканюємо черезAVMetadataOutput. Найунівёрсальніший варіант. -
NFC bump — iOS 14+
NFCNDEFReaderSession+NFCNDEFWriterSession. Android —NfcAdapter.enableForegroundDispatch(). Обидва пристрої повинні підтримувати NFC та знаходитись вплотну. Крутий UX, але потребує узгодженої дії двох людей. -
Deep link sharing — посилання на профіль через
UIActivityViewController. Одержувач відкриває додаток, додає контакт. Найповільніший, але працює без NFC та камери.
Збережені контакти — список з можливістю експорту vCard (CNContact → .vcf файл через CNContactVCardSerialization). На Android — ContentProviderOperation для додавання в системну адресну книгу (з дозволом WRITE_CONTACTS).
Зустрічі та розпис
Запит на зустріч — учасник пропонує час з доступних слотів. Інтеграція з розписом конференції: слоти між докладами з закладок автоматично відмічаються як доступні.
Прийняття зустрічі — push-сповіщення, додавання у особистий календар через EventKit.EKEventStore (iOS) або CalendarContract (Android). Місце зустрічі — зал конференції, кав'ярня в venue, або кастомний текст.
Нагадування за 10 хвилин — локальне сповіщення. При скасуванні зустрічі іншою стороною — push негайно.
Чат після мэтча
Чат відкривається тільки при взаємному мэтчі. WebSocket з'єднання на мэтч або готовий SDK (Stream Chat, SendBird з freemium). Історія сообщень зберігається для доступу після заходу — цінний контакт не повинен втратись.
Процес та терміни
Профілі + matching + discovery + обмін контактами (QR) — 6–8 тижнів. Зустрічі + NFC + інтеграція з розписом + чат — 2–3 місяці. Вартість розраховується після аналізу вимог.







