AI Chat App with React Native/Flutter –> Survey, DB, Subscription & Custom Prompts
========================================
Прошу проаналізувати бриф вимог та звернути
увагу на пункти вказані у розділі 10:
Орієнтовні питання для оцінки виконавцем
========================================
1. Загальна інформація
Мета: Мобільний додаток для глибокого спілкування з ChatGPT (OpenAI) з фокусом на розвитку «нелінійного мислення» (когнітивний тренажер).
Якщо описана інформація виглядає не чітко, в першій ітерації таргет це AppStore.
Основні особливості
Без власного беку: використання Firebase Functions як проміжного сервера для створення та обробки промптів до OpenAI API, зберігання ключа, контроля ліміта токенів, створення контексту попередніх повідомлень) Також контролі підписки.
Зберігання даних: Firebase (Authentification, Firestore/Realtime DB).
Авторизація: Firebase Auth (Google/Apple).
Підписка: через RevenueCat (місячна/річна).
2. Технологічний стек
Фреймворк: Flutter (Dart) або React Native (TypeScript/JavaScript).
Firebase:
Auth (Google, Apple, Email)
Firestore / Realtime DB (зберігання історії чатів, профілів)
Firebase Functions (проксі до OpenAI, логіка перевірки підписок/лімітів)
Firebase Remote Config (за потреби - динамічні налаштування)
OpenAI API: GPT-3.5-Turbo / GPT-4 (запити через Functions).
RevenueCat: керування підписками (App Store).
Платформа: iOS 13+ (початково).
3. Основний функціонал
3.1 Онбординг та демо-режим
Лого Анімоване (Анімацію зробимо та надамо окремо)
Вітальний екран, 3-5 слайдів-«intro» з описом переваг.
Онбординг із вибором інтересів (5-6 екранів, чекбокси). Дані зберігаються локально або у Firebase (для анонімного користувача). Онбординг тригерить Firebase Function щоб почати Демо чат, на основі отриманних на онбордингу даних.
Демо-чат (до 10 безкоштовних повідомленнь): ChatGPT пише перше повідомлення, у відповідь можна відправити обмежену кількість (до 8-10 повідомлень).
Paywall після вичерпання демо-ліміту: пропозиція оформити підписку.
Registration після офоммлення підписки.
3.2 Чат (аналог ChatGPT)
Лента діалогу (user/assistant).
Історія чатів у списку (можливість створювати нові та видаляти).
Обмеження повідомлень (суточний ліміт) у платній підписці на день до 300.
Системний промпт (задається на стороні Functions) для «нелінійного» стилю відповідей.
До OpenAI також надсилається контекст N останніх повідомлень, або до 15 повідомлень або до ліміту токенів, 4000 до GPT 3.5 turbo здається
3.3 Профіль користувача
Перегляд/редагування email та даних з онбординга (інтереси).
Інформація про чинну підписку (RevenueCat).
Вихід з акаунта, видалення даних (GDPR).
3.4 Додаткові екрани
Feedback / Оцінка: короткий опитувальник про враження.
FAQ / Підтримка: відповіді на поширені питання.
Про нас / Політики: юридичні документи (конфіденційність, угода).
Соцмережі: лінки на соцмережі (якщо будуть).
4. Підписка та монетизація
RevenueCat:
Місячна / річна підписка.
Перевірка статусу через SDK.
Paywall з варіантами планів.
Логіка лімітів:
Зберігати лічильник у Firebase (dailyMessageCount).
У Functions перед кожним запитом перевіряти статус підписки та ліміти. (Або більш оптимальний спосіб, якщо знаєте)
5. Архітектура даних (Firestore)
/users/{userId}
email, subscriptionStatus, onboardingInterests, dailyMessageCount, lastMessageDate, тощо.
/users/{userId}/conversations/{conversationId}
title, type (regular / onboarding / diary), createdAt, updatedAt.
/users/{userId}/conversations/{conversationId}/messages/{messageId}
role ("user"/"assistant"), content, createdAt.
Історія чатів зберігається у підколекціях Messages. Для демо-режиму можна зберігати локально або в анонімному акаунті.
6. Firebase Functions (логіка проксі до OpenAI)
Приймання запитів від клієнта (текст повідомлення, ідентифікатор чату).
Перевірка авторизації (Firebase Auth) та статусу підписки (RevenueCat).
Системний промпт (задається на стороні Functions) для «нелінійного» стилю відповідей.
Формування контексту для OpenAI:
Системний промпт + останні N повідомлень із Firestore.
Інтереси/налаштування користувача з онбордингу.
Контроль ліміту токенів, щоб не вийти за межі, які дозволяє модель OpenAI
Виклик OpenAI (GPT-3.5 / GPT-4), отримання відповіді.
Збереження відповіді (assistant) в Firestore.
Облік лімітів: щоденний лічильник, оновлюється по UTC, кількість токенів, тощо.
Ключ OpenAI зберігається в середовищі Firebase Functions or Remote Config, не передається на клієнт.
7. Орієнтовні етапи розробки (MVP-підхід)
Етап 1. Проектне налаштування
Ініціалізація Flutter / React Native.
Налаштування Firebase (Auth, Firestore, Functions).
Базова навігація, “скелет” додатка.
Етап 2. Онбординг та авторизація
Екрани з інфо-слайдами, чекбоксами.
Анонімний або звичайний вхід (Google/Apple).
Збереження даних онбордингу у Firestore.
Етап 3. Чат та інтеграція з OpenAI
Реалізація інтерфейсу чату: список чатів, лента повідомлень.
Firebase Functions-проксі до OpenAI.
Зберігання історії у Firestore, оновлення в реальному часі (за потреби).
Етап 4. Підписка (RevenueCat), Paywall, ліміти
Налаштування продуктів (місячна / річна).
Логіка “demo chat then paywall to buy premium” (кількість повідомлень, перевірка статусу).
Paywall-екран та сценарій оновлення підписки.
Етап 5. Профіль, налаштування, GDPR
Перегляд/редагування профілю, кнопка “Вийти”.
Видалення акаунта (з Firebase Auth та Firestore).
Екран “Feedback”, “FAQ” тощо.
Етап 6. Тестування та реліз
Перевірка сценаріїв (вхід, чат, підписка, видалення).
Публікація в App Store.
(За потреби — Етап 7: Додаткові режими мислення, “дневник инсайтов”, локалізація, тощо.)
[Запис екранів по мірі готовності - recordings.]
8. Орієнтовні критерії приймання (MVP)
Онбординг:
a) Logo
b) Info slider
c) Onboarding survey (collect data -> sent to Function to launch demo chat)
d) працює логіка демо-режиму (до 8 відповідей чату і від чату теж 8 повідомленнь) + Paywall після ліміту.Чат: надсилання та отримання відповідей від GPT; історія зберігається у Firebase.
Облік підписки: при оплаті через RevenueCat відображається “premium” у Firebase, знімаються обмеження.
Профіль: редагування даних, перегляд статусу підписки, видалення акаунта.
Безпека: немає “утікання” OpenAI-ключа, все працює через Functions.
Стабільність: офлайн-режим показує старі повідомлення, без падінь додатка.
9. Дизайн та UI/UX
Базова розкладка під iPhone SE (750×1334), iPhone 12–15 (1170×2532), iPhone 15 Pro Max (1290×2796).
Стиль: мінімалістичний, з анімаціями завантаження відповідей GPT.
Figma/Прототип: Надаються Figma mockups у власному стилі використовуючи Cupertino UI kit. Буде можливість спілкування з UI/UX дизайнером, якщо буде потреба щось змінити, виправити і т.п
10. Орієнтовні питання для оцінки виконавцем
Тривалість реалізації MVP (включно з налаштуванням Firebase, RevenueCat, базовим чатом, deploy to AppStore).
Якомога більш точна ціна, за яку виконацець готовий розробити описаний додаток. Повинна включати QA, тобто доведення до робочого стану, передачу коду та сертифікатів, публікацію на AppStore.
Чи був досвід з OpenAI API, Firebase Functions, RevenueCat, щоб врахувати Потенційні ризики: обмеження OpenAI, правила App Store, GDPR.
Подальша підтримка: умови оновлень, виправлення багів та масштабування.
-
Уточніть будь ласка - ви вказали що розробка на Flutter, але по тексту ТЗ в основному йдеться тільки про IOS додаток. Скажіть, розробка потрібна під обидві платформи?
-
Доброго дня. Девелопер зміг би точніше оцінити, яки бачив мокапи. Можете надати покликання для оцінки?
-
Актуальні фриланс-проєкти в категорії Javascript та Typescript
Розробка повного стеку — Панель управління Amazon PPC (Етап 1)Потрібен full-stack розробник з досвідом роботи з Amazon API для реалізації Stage 1 внутрішнього PPC-дашборда. Проект реальний, дані живі, все готово до старту. Прототип фронтенда (5 сторінок, React + TypeScript): ЩО ВЖЕ ГОТОВО — Фронтенд-прототип на React 18 + TypeScript +… Javascript та Typescript, Веб-програмування ∙ 7 годин 14 хвилин тому ∙ 12 ставок |
Розробка сайту-конструктора фотокниг і фоторамокМета проекту Необхідно розробити сучасний веб-сайт для замовлення фотокниг, фоторамок та іншої персоналізованої фотопродукції. Головне завдання проекту — надати клієнту можливість самостійно створити готовий макет виробу без участі дизайнера безпосередньо на сайті.Основний… Javascript та Typescript, Веб-програмування ∙ 1 день 23 години тому ∙ 88 ставок |
Повноцінна розробкаNeed a full-stack developer who is free for work and not looking to get rich immediately from this project. This is my test site: readyhome.ge the prototype of which I want to create (not referring to design). In the footer, there is Russian language, fill out the questionnaire… Javascript та Typescript, Веб-програмування ∙ 2 дні 11 годин тому ∙ 79 ставок |
Команда для самописного маркетплейса ритуальних послуг.Шукаємо команду для запуску та розвитку самописного національного маркетплейсу ритуальних послуг. Одразу: не шукаємо одиночок, джунів і “збирачів сайтів”. Потрібна сильна продуктова команда рівня middle+/senior з реальними кейсами маркетплейсів/складних SaaS. Прошу не… Javascript та Typescript, Веб-програмування ∙ 2 дні 17 годин тому ∙ 25 ставок |
Доопрацювання існуючого проекту Next.js/Supabase: оффери, CRM, аналітика, AI-чатЄ діючий проект WatchGenius — платформа аналітики люксових годинників з каталогом моделей, ціновою аналітикою, зовнішніми офферами, формами заявок та AI-чатом. Проект вже частково розроблений. Потрібен не сайт з нуля, а досвідчений full-stack розробник, який зможе розібратися в… Javascript та Typescript, Веб-програмування ∙ 4 дні 19 годин тому ∙ 54 ставки |