KYF Documentation — Technical Guide

KYF — Technical Guide

Release: v0.1.0 • Updated: 2026-09-03

Current architecture

KYF v0.1.0 is an unlisted WordPress page with browser-local state. Profiles live in localStorage under kyf.profiles.v1. Each profile stores a name/nickname, relationship, interview mode, answers keyed by stable question IDs, optional media signals, and timestamps.

Question contract

The questionnaire contains exactly 38 stable question IDs grouped into Movies & TV, Music, Food & Drink, Style, Places & Life, Activities, Future, People, Support, Values and Family. Suggested chips are presentation helpers only; the free-text answer remains the source.

Decision engine

The first engine is deterministic and explainable. Suggestions read explicit answer fields and generate a recommendation plus a “Why” line. It does not infer hidden personality, health, politics, religion or other sensitive traits. Future scoring should preserve this explainability contract.

BrightWatcher integration

BrightWatcher v0.12.17 writes same-origin local signals to brightwatcher.kyf.signals.v1 when media is watched or saved. Each signal contains media ID, title, topic, source, action type and timestamp. KYF imports these signals only when the user presses Import BrightWatcher Signals. This reuses BrightWatcher’s provider/trust architecture without moving family answers into BrightWatcher.

Netflix integration

Netflix Viewing Activity CSV is parsed entirely in the browser. KYF stores imported titles locally and deliberately treats viewing history as “watched,” not “liked.” No Netflix credentials are collected.

Spotify integration path

Spotify’s official Web API supports OAuth 2.0 access to permitted personal data such as top artists/tracks and library/recent-playback data. A future KYF adapter should request only the minimum scopes needed, store derived preference signals rather than long-lived raw tokens where possible, and provide disconnect/delete controls. No Spotify credential or token is stored in v0.1.0.

Promotion firewall

Recommendation fit and BrightWatcher trust/value signals must be computed before sponsorship. Sponsored inventory may be filtered to relevant candidates, but payment cannot increase preference fit or trust. Sponsored placement must remain visually labeled.

Server-side Jewish resource monitor

The former ChatGPT scheduled resource watch is disabled. Supabase now owns the recurring task through pg_cron + pg_net + the torah-rocket-resource-watch Edge Function. The catalog is stored in jewish_learning.community_resources; checks are stored in community_resource_checks. The server job runs daily at 12:30 UTC, uses a database-generated authorization token, follows redirects, stores HTTP status/title/fingerprint, and does not access KYF profiles or Conversion content.

Privacy roadmap

Before server-synced family accounts are added, KYF needs explicit per-member consent, authenticated household access, encrypted transport/storage, field-level visibility, audit/delete/export controls, and a strict separation between family data and advertising analytics.

User GuideBusiness/ProductDiagrams