Технічне завдання

Glint — parent-first family utility для екранного часу

Продукт: Glint Домен: glint.family Ринок: NA, English-first Платформа Phase 0/MVP: iOS 16+ Версія: 1.1

!Release correction — 2026-08-15

■ Цей блок має пріоритет

Наведені нижче рішення замінюють усі суперечливі вимоги історичного ТЗ v1.1 для поточного source candidate 1.0 (63). A63 має статус development-artifact-ready-hold, а публічний реліз — HOLD. Старі розділи про A61/A62, launch Premium, платні Screen Time рівні та спільний cross-product runtime зберігаються лише як historical-only discovery/source record і не є поточним release scope.

Build 63 — Family Review. RevenueCat 5.80.3 обслуговує Family Review, а Screen Time залишається безкоштовним. Поточний статус — development-artifact-ready-hold; реліз — HOLD. лише опціональну щотижневу Family Review для підтвердженого guardian у host apps GlintKids і GlintParent. Child runtime та extensions не мають commerce. Усі Screen Time можливості, вибір app/category bucket, shield, квести, схвалення, зароблені хвилини, запуск сесії, денні правила та автоматичне повторне блокування безкоштовні й не залежать від entitlement. Текст Family Review зберігається лише на guardian device, current + 11 записів, виключений із backup і не надсилається до RevenueCat, Supabase чи child. Неактивний або недоступний entitlement зберігає read/export; active entitlement дозволяє write. Release RevenueCat public SDK key порожній, тому Distribution archive/upload/submission заборонені до його перевіреного binding і всіх поточних distribution/privacy/deletion доказів. Один signed Development artifact з exact clean source d2cc8d9551a45b1b1f02f0a4d80e344ab6863c47 незалежно READY, але не встановлений. It is not a Distribution archive or TestFlight/App Store evidence. Production aligned: 24 migrations, pairing v15, sync v7, lifecycle v11; schema-13 smoke PASS із шістьма нульовими residue counters. Physical R0–R8 лишається 0/2, A63 install/device proof відсутній, guardian deletion та active-commerce schema-6 лишаються HOLD. Screen Time і всі пов'язані функції безкоштовні. Статус кандидата — development-artifact-ready-hold; реліз лишається HOLD.

Device-neutral proof. Поточна операторська мова: guardian/adult device та adult-operated managed-child iPhone or iPad. Другий iPhone, Face ID або участь неповнолітньої дитини в TestFlight не є вимогою.

DuetNest/API bridge — post-v1 architecture only. Можливий consented read-only family-time summary проходить лише через company-owned Integration Gateway. Public v1 не містить DuetNest runtime, спільної бази, service-role ключів, user tokens або спільного App Group. DuetNest не може approve, block, unlock чи змінювати Screen Time rules; opaque Apple tokens, readable app identity, raw DeviceActivity та PII не виходять за межі Glint. Реалізація можлива лише після окремого consent, deletion, revocation, privacy та rollout review.

Shipping contour. Публічний продукт — один app com.160418.glint.kids з Guardian і Child modes. GlintParent є development/UI-test harness і не входить до App Store binary. Консультація Apple є advisory input, а не preapproval; реліз визначається точним signed/uploaded artifact і перевіреними gates.

!Release correction — 2026-08-11

■ Цей блок має пріоритет

Наведені нижче рішення замінюють усі суперечливі вимоги історичного ТЗ v1.1 для поточного source candidate 1.0 (62). A62 має статус source-ahead-hold, а реліз — HOLD. Старі розділи про launch Premium, платні Screen Time рівні та спільний cross-product runtime зберігаються лише як історія discovery та не є поточним release scope.

Build 62 — Family Review. RevenueCat 5.80.3 обслуговує Family Review, а Screen Time залишається безкоштовним. Поточний статус — source-ahead-hold; реліз — HOLD. лише опціональну щотижневу Family Review для підтвердженого guardian у host apps GlintKids і GlintParent. Child runtime та extensions не мають commerce. Усі Screen Time можливості, вибір app/category bucket, shield, квести, схвалення, зароблені хвилини, запуск сесії, денні правила та автоматичне повторне блокування безкоштовні й не залежать від entitlement. Текст Family Review зберігається лише на iPhone guardian, current + 11 записів, виключений із backup і не надсилається до RevenueCat, Supabase чи child. Неактивний або недоступний entitlement зберігає read/export; active entitlement дозволяє write. Release RevenueCat public SDK key порожній, тому archive/upload/submission заборонені до його перевіреного binding і всіх поточних distribution/privacy/deletion доказів. Screen Time і всі пов'язані функції безкоштовні. Статус кандидата — source-ahead-hold; реліз лишається HOLD.

DuetNest/API bridge — post-v1 architecture only. Можливий consented read-only family-time summary проходить лише через company-owned Integration Gateway. Public v1 не містить DuetNest runtime, спільної бази, service-role ключів, user tokens або спільного App Group. DuetNest не може approve, block, unlock чи змінювати Screen Time rules; opaque Apple tokens, readable app identity, raw DeviceActivity та PII не виходять за межі Glint. Реалізація можлива лише після окремого consent, deletion, revocation, privacy та rollout review.

Shipping contour. Публічний продукт — один app com.160418.glint.kids з Guardian і Child modes. GlintParent є development/UI-test harness і не входить до App Store binary. Консультація Apple є advisory input, а не preapproval; реліз визначається точним signed/uploaded artifact і перевіреними gates.

01Decision memo

Bottom line. Glint має сильний wedge: дитина заробляє екранний час реальними справами. Це сильніше за chore-app і тепліше за control-app. Але без gates, distribution і moat це шлях до хорошого B2C exit, не до великої сімейної платформи.

Рекомендація. Йти далі, але не будувати повний MVP до Phase 0. Рішення є Type 1-ish через нативний стек, Apple entitlement, дитячі фото і COPPA. Phase 0 перетворює ризик на набір Type 2 gates.

■ Не починати з UI

Перший артефакт продукту — не polished app, а доказ, що Apple Family Controls entitlement, real-device enforcement і parental-consent/privacy model не блокують концепцію.

◆ Що змінилося у v1.1

ТЗ переписано навколо gates: parent-first позиціонування, Family OS амбіція, урізаний MVP, AI fallback, ephemeral photo processing, окрема модель screen-time credits і явний distribution/moat шар.

02Продуктова теза

Проблема. Щоденні конфлікти за iPad/Roblox/YouTube виснажують сім'ю. Apple Screen Time технічно існує, але він складний, каральний і не створює у дитини відчуття agency.

Рішення. Glint переводить екранний час із поля бою у сімейну економіку: дитина заробляє хвилини реальними справами, батько задає межі, система застосовує правила локально на пристрої.

Wedge. Головна валюта MVP — не абстрактні бали, а хвилини бажаного екрану. У дитячому UI це може називатися іскрами, але продуктова правда така: 1 spark = 1 minute або нагорода прямо показується як +15 min.

Амбіція. Glint стартує як screen-time wedge, але проектується як Family OS: screen time → відповідальність → allowance/fintech → autonomy/trust ledger. Без цього він лишається маленьким subscription app.

◆ Позиціонування

Glint — parent-first family utility. Дитина має теплий companion loop, але покупець, довіра, consent, privacy і value prop сидять у батька.

03Цілі та метрики

North Star

Кількість сімей, де Glint щотижня реально enforcement-регулює екранний час: active enforcing families.

Phase 0 gates

GateПорігЧому
Entitlement / App Review feasibilityНе блокує real-device TestFlight spikeБез цього core продукт не існує
Real-device enforcementAuthorize → select bucket → shield → unlock → offline reset працюєЦе єдиний технічний moat MVP
Guided setup completion≥ 50% у 10–15 concierge familiesSetup — найбільша точка втрати
D7 active families≥ 40%Чи входить у побут
Parent daily workload≤ 2 хв/день на approvalsБатько не має стати оператором системи
Willingness to payВибір $6.99/mo або $49.99/year після annual-only 14-day trialБез WTP це feature, не бізнес

MVP operating metrics

МетрикаЦільСенс
Onboarding completion≥ 55%Parent → kid device paired → enforcement live
D7 active families≥ 40%Раннє утримання
Trial → paid≥ 8–10%Початковий paid signal
Auto / parent-approved completion≥ 80% без конфліктуСистема знижує тертя, навіть якщо AI не завжди вирішує
Monthly churn≤ 8%Категорія тримається на retention

04Користувачі та позиціонування

РольMVPПрава
Primary GuardianMVPСтворює сім'ю, додає одну дитину, налаштовує device pairing, бакети, ліміти, approval queue і підписку.
ChildMVPБачить доступні хвилини/іскри, виконує квести, надсилає proof, витрачає час у дозволених бакетах.
Co-Guardianv1Другий батько/опікун, approvals, перегляд, часткове керування. Не входить у MVP.
▲ App Store stance

Не позиціонувати як child-first Kids Category без окремого рішення. У v1.1 Glint є parent-first utility з child companion, parental gates, мінімальним data collection і корисністю для батька незалежно від дитячого entertainment шару.

◆ Віковий фокус

MVP — діти 6–12. 13–14 можна підтримати тоном і налаштуваннями, але основний loop має працювати для молодших сімей, де конфлікт за екран найбільш повторюваний.

05Scope: gates / MVP / v1

МодульФазаРішення
Family Controls entitlement + real-device enforcement spikePhase 0AБінарний gate перед UI/MVP
10–15 сімей concierge desirability testPhase 0BПеревірити setup, D7, конфлікти, WTP
One guardian, one child, one paired deviceMVPСкоротити координаційну складність
Screen-time rewards: base+bonus до daily capMVPEarned-only надто каральний
Bedtime/downtime overrideMVPЗдоровий sleep boundary сильніший за earned time
Quest templates + custom questMVPШвидкий старт без довгого setup
Approval queue + optional AI assistMVPAI не є єдиною опорою core loop
Subscription trial after enforcement liveMVPPaywall тільки після доказу value
Dream goalsv1Винести з MVP, щоб не розмити валюту часу
AI parenting copilotv1Sticky layer після core retention
Graduation, levels, badges, streaksv1Не до доказу loop
Full co-parent / multi-homev1Складність ролей після single-family MVP
AndroidPhase 3Окремий слабший enforcement path
Fintech / card / allowancePhase 3Потенційний Family OS expansion, не початковий proof
Бал слухняності, рейтинг дитини, соц-стрічкаNeverТоксично для довіри і brand promise

06Ключові сценарії

6.1 Phase 0A: technical spike

Request entitlement

Подати Family Controls entitlement з чітким use case: parent-approved screen-time management for family wellbeing.

Authorize

На реальному дитячому пристрої пройти FamilyControls authorization через guardian approval.

Select bucket

FamilyActivityPicker → opaque tokens → локально зберегти bucket label і token selection.

Shield

ManagedSettings блокує обраний bucket після base limit або schedule rule.

Unlock

Додати earned minutes, зняти shield до cap, потім повернути shield.

Stress cases

Offline, new day reset, app reinstall, permissions revoked, tamper/uninstall behavior.

6.2 Parent onboarding

Sign in and create family

Apple Sign-In або email. Створюється primary guardian і family.

Add one child

Ім'я, вік, avatar/card color. Мінімум персональних даних.

Choose protection mode

Рекомендований Protected Family використовує child Apple Account + Family Sharing. Cooperative Device дозволяє звичайному iPhone добровільно авторизувати Glint локально, але без anti-tamper гарантії.

Pair participating device

Guided flow із чіткими failure states: Family Sharing missing, permissions denied, unsupported iOS, authorization revoked. Product pairing не замінює системний дозвіл Apple.

Create screen buckets

Батько називає бакети: Games, Videos, Social. Сервер не показує ідентичність apps дитині чи аналітиці.

Set base+bonus

Base daily limit, bonus cap, bedtime/downtime, weekday/weekend profiles.

Create first quests

3 шаблони з default minutes. Trial/paywall активується тільки після enforcement live.

6.3 Child daily loop

Open Glint Kids

Бачить available minutes, today cap, іскри як skin, Glo як companion.

Pick quest

Шаблон або призначений квест. Reward показується як конкретні хвилини.

Submit proof

Для MVP proof може бути фото, parent check або lightweight self-report залежно від task type.

Verification path

High-confidence AI → auto suggest; low-confidence або sensitive image → parent approval. Parent can override.

Immediate reward

Після approval: +N minutes, локальний unlock bucket, але не вище daily cap і не під час downtime.

6.4 Parent daily use

Calm state

Parent dashboard: “All on track”, minutes earned, approvals waiting, no surveillance wall.

Approval queue

Edge cases з before/after або short proof, one-tap approve/reject, reason optional.

Boundaries

Parent changes limits, pause/unpause bucket, bedtime remains override.

07Функціональні вимоги

7.1 Onboarding & setup

  • must Apple Sign-In + email auth для primary guardian.
  • must Створення family, додавання однієї дитини в MVP.
  • must Два явні режими: Protected Family через FamilyControlsMember.child і Cooperative Device через FamilyControlsMember.individual.
  • must Protected Family є default і єдиним режимом із anti-circumvention claim. Cooperative Device не можна називати tamper-proof parental control.
  • must Guided failure states: Family Sharing missing, permission denied/revoked, unsupported iOS, entitlement unavailable, cooperative device offline/deleted.
  • must Consent capture до збору child personal data або фото.

7.2 Screen-time economy

  • must Головна валюта — хвилини. Іскри в MVP є visual skin, не окрема економіка.
  • must Default conversion: 1 spark = 1 minute, якщо UI використовує іскри.
  • must Base daily limit + earned bonus + daily cap.
  • must Bedtime/downtime override сильніший за earned minutes.
  • must Screen-time credit ledger окремо від cosmetic spark ledger.

7.3 Quests

  • must Бібліотека шаблонів: room reset, homework, teeth, dishes, reading, outdoor time.
  • must Кастомний quest: title, icon, reward minutes, recurrence, proof type.
  • must Default reward suggestions rules-first; AI calibration optional, not blocking.
  • must Proof type: none/self-report, parent approval, single photo, before/after photo.

7.4 Enforcement

  • must FamilyActivityPicker для bucket selection.
  • must ManagedSettings для shield/unshield selected buckets.
  • must DeviceActivityMonitor для limit reached, new day reset, schedule boundaries.
  • must Shield screen з Glint brand і дією “earn more”.
  • must Local enforcement працює offline; server sync не має бути single point of failure.

7.5 Subscription

  • must Launch pricing: $6.99/mo або $49.99/year; 14-day trial лише на annual.
  • must Trial/paywall після enforcement live і першої зрозумілої перемоги, не на старті setup.
  • must RevenueCat поверх StoreKit 2: offering, entitlement, purchase, restore і server-notification path.

08Архітектура

8.1 Клієнти

ЗастосунокТехнологіяПричина
Glint ParentNative SwiftUIДовіра, permissions, RevenueCat/StoreKit, consistency з child app.
Glint KidsNative SwiftUI + Family Controls extensionsEnforcement, Shield Configuration, DeviceActivityMonitor.
▲ Не Capacitor

Core enforcement залежить від FamilyControls, ManagedSettings і DeviceActivity. Web wrapper не є технічним шляхом для MVP.

8.2 Opaque tokens

FamilyActivityPicker повертає opaque app/category/web tokens. Glint не має будувати value prop на знанні конкретних apps.

  • Батько створює людські labels: Games, Videos, Social.
  • До Phase 0 не припускати, що token sets треба або можна безпечно зберігати на backend.
  • Default architectural stance: token selection зберігається локально на child device; server зберігає label, policy metadata і enforcement status.
  • Якщо sync token sets потрібен, рішення приймається тільки після spike і privacy review.

8.3 Backend

  • Supabase Postgres для family, child, quest, credit, consent, audit data.
  • Supabase Auth для guardian accounts; child device session має бути scoped і мінімальний.
  • Supabase Storage лише для короткого photo-processing window; retention/deletion status обов'язковий.
  • Edge Functions для reward rules, AI calls, APNs payloads, retention jobs.
  • APNs для parent/child notifications.

8.4 Модель даних

СутністьКлючові поля / рішення
familyid, primary_guardian_id, subscription_status, created_at
guardianid, family_id, role, auth_provider, email, consent_contact
childid, family_id, display_name, age_band, card_theme, created_at
child_deviceid, child_id, platform, os_version, enforcement_mode, family_sharing_ok, authorization_status, enforcement_active, last_seen_at, last_sync_at
managed_bucketid, child_id, label, local_token_reference, sync_policy, active
screen_rulechild_id, base_limit_minutes, bonus_cap_minutes, daily_cap_minutes, bedtime_schedule
questid, family_id, title, icon, reward_minutes, recurrence, proof_type, assignee_id
submissionid, quest_id, child_id, status, proof_type, submitted_at, approved_by
screen_time_creditid, child_id, delta_minutes, source_type, source_id, expires_at, consumed_at
spark_ledgerid, child_id, delta, reason, cosmetic_only, ts
consent_recordid, guardian_id, child_id, consent_type, notice_version, granted_at, revoked_at
photo_processing_jobid, submission_id, storage_ref, provider, status, ai_result, delete_by, deleted_at
retention_eventid, entity_type, entity_id, action, scheduled_for, completed_at, result
approvalid, submission_id, guardian_id, decision, reason, ts

09AI та фото

9.1 AI stance

AI photo verification is useful, but it must not be the only support beam. Third-party vision over children's room photos is compliance and App Review risk; MVP must work with parent approvals if AI is delayed, rejected, inaccurate, or expensive.

9.2 Verification paths

PathКолиРішення
Parent approvalDefault fallback, low confidence, sensitive photoOne-tap approve/reject, ≤2 хв/день target
AI assistedLow-risk photo tasks, consent presentReturns {verified, confidence, reason}; parent can override
No-photo proofReading, outdoor time, teeth, tiny choresSelf-report + parent spot-check або timer

9.3 Photo handling

  • must In-app camera для photo proof; no gallery upload in MVP.
  • must Explicit parental consent before photo processing.
  • must Ephemeral storage: process → approve/queue → delete by policy.
  • must Retention/deletion status visible in backend audit tables.
  • must Child-safety filter before AI result is used in product flow.

10Compliance & privacy

■ Регуляторний шар

Дані дітей + фото кімнат + AI provider = не деталь реалізації. Це core architecture. Продукт має збирати мінімум даних, мати батьківську згоду, deletion flow і зрозумілу політику third-party sharing.

  • COPPA: direct notice, verifiable parental consent where required, parent review/delete rights, no unnecessary data collection.
  • Apple Kids/privacy: parental gates for child actions that leave safe child experience; privacy policy; no behavioral ads; third-party SDKs only if compatible with kids/privacy constraints.
  • GDPR-K: потрібен перед EU launch або якщо EU users потрапляють у продукт.
  • No ads: жодної поведінкової реклами, жодного продажу даних.
  • Opaque tokens: не перетворювати app usage на surveillance продукт. Це family boundaries utility, не monitoring dashboard.
  • Security: encryption in transit/at rest, scoped child sessions, audit logs для consent/deletion/admin actions.

11Distribution & moat

11.1 GTM thesis

Distribution message стартує з однієї гострої обіцянки: stop daily screen-time fights. Не “family productivity”, не “chores”, не “better habits” як головний message.

ChannelMVP testWhy it might work
Parent creators / TikTok / ReelsBefore/after conflict story + waitlistПроблема емоційно видима, shareable, повторювана
Parenting newsletters / communitiesConcierge cohort recruitmentДає якісний feedback і WTP interviews
App Store searchScreen time / parental control intentНизька масштабність, але зрозумілий demand capture
School / therapist partnershipsНе MVPМоже стати trust channel, але довгий sales cycle

11.2 Moat path

  • Data effect: anonymized quest/reward calibration by age/task/family pattern, без surveillance data.
  • Behavioral moat: screen-time rules become household operating rhythm.
  • Trust brand: parent-first, anti-surveillance, no ads, minimal data.
  • Platform expansion: allowance/fintech and trust ledger only after screen-time wedge proves retention.
▲ $100B filter

Screen-time subscription alone is not a $100B path. Family OS might be. The wedge is valid only if it compounds into trust, money, responsibility and autonomy infrastructure.

12Roadmap & validation

ФазаОрієнтирВихід
Phase 0A · Technical2–3 тижніEntitlement request + real-device enforcement spike: authorize, bucket, shield, unlock, offline, tamper.
Phase 0B · DesirabilityПаралельно10–15 сімей concierge test, script: “your kid earns Roblox/YouTube time by doing real things”.
Phase 1 · MVP10–12 тижнів після gatesOne guardian/child/device, base+bonus, buckets, quests, approvals, optional AI assist, subscription trial.
Phase 2 · v1 Platform8–10 тижнівCo-parent, dream goals, graduation, gamification, copilot, richer notification intelligence.
Phase 3 · ExpansionПісля retentionAndroid, allowance/fintech, trust ledger, school/partner distribution.

Go / no-go до MVP

  • Apple entitlement і TestFlight не блокують core enforcement.
  • Real-device enforcement працює offline і переживає common edge cases.
  • ≥50% concierge families проходять guided setup.
  • ≥40% сімей активні на D7.
  • Parent approval workload ≤2 хв/день.
  • Є чіткий WTP signal на $6.99/mo або $49.99/year після annual-only trial.

Monday morning

  1. Подати Family Controls entitlement.
  2. Створити bare SwiftUI spike без UI polish.
  3. Запустити 10-family concierge test з одним message: “Stop daily screen-time fights”.

13Ризики та джерела

Pre-mortem

Як це помреСигналМітигація
Apple не дає entitlement або App Review блокує flowDelay/rejection у Phase 0Не писати MVP до spike; alternative concept: parent-approved rewards без hard enforcement
Setup занадто складний<50% completionGuided setup, concierge onboarding, cut scope to one child/device
AI фото створює compliance riskParent distrust або review concernParent approval fallback, limited photo tasks, ephemeral processing
Дитина обходить системуFrequent permission revoke/uninstall/tamperMeasure in spike, parent alerts, no promise beyond Apple enforcement limits
Retention слабкий після noveltyD30 low, churn highFamily OS v1: co-parent, graduation, allowance/trust expansion only after retention proof
Distribution не масштабуєтьсяCAC вище LTVCreator-led conflict storytelling, parent communities, sharp promise, annual plan

What would change the plan

Якщо Apple/App Review не приймає third-party AI photo flow або Family Controls entitlement затягується/відхиляється, Glint треба різко перезібрати: parent-approved rewards без AI, або інший wedge поза hard enforcement.

Sources