Feature Plan (Ramsey) — 2026-02-05
FreshFlip’s TV Welcome Screen turns a guest’s first 30 seconds in the home into a self-serve arrival moment (Wi‑Fi + checkout time + parking instructions), reducing messages, improving reviews, and creating a clear upsell path from Free Lite (single-screen) to a Paid Guest Experience Module that scales across multiple units.
Constraints honored (v1): - Fire TV first, Roku second. - No guest name personalization assumed (Airbnb iCal typically lacks guest name). - Free Lite tier: 1 unit only; single front screen with Wi‑Fi, optional checkout time, and Parking Pass Instructions (single text box, ≤500 chars). No scrolling, no videos, no extra pages. - Paid module pricing: $9.99/mo includes 1 unit; +$5/mo per additional unit; add 5-unit and 10-unit bundles; annual discounted.
Business outcome: - Create a “sticky” on-property touchpoint that improves guest experience and reduces host support load. - Establish a straightforward upsell ladder tied to multi-unit expansion.
Launch positioning (Operator Suite): - Position as FreshFlip Ops (back-of-house: turnovers, proof, alerts) + Guest Experience Module (front-of-house: TV Welcome Screen). - Core narrative: Ops keeps the home ready; Guest Experience makes arrival effortless. Together they reduce operational misses and guest questions. - Compounding value: fewer turnover failures → fewer guest complaints; fewer Wi‑Fi/parking questions → fewer host messages; combined → better reviews and higher retention. - Pricing ladder alignment: Free Lite provides an “instant win” inside the broader Ops ecosystem; paid tiers map cleanly to operator scale (1 unit → base, 5/10-unit bundles → multi-unit operators).
North-star metrics (initial): - Activation: % of hosts who complete TV setup within 24h of enabling. - Guest value proxy: decrease in Wi‑Fi/parking/checkout questions per reservation. - Retention: paid module churn vs baseline.
What we have / assume today (baseline): - Hosts manage property/unit info somewhere in FreshFlip (or will need a minimal config surface). - TV app experience is either non-existent or not productized into a tiered module. - Calendar-based availability likely comes from iCal (Airbnb), but guest identity details are unreliable.
Key gaps: - No “single-screen, no-scroll” welcome UI spec that is compliant with Free Lite constraints. - No pricing/entitlement framework (free vs paid, unit counts, bundles, annual). - No operational tooling for hosts to remotely update content and confirm TVs are correctly paired.
Primary risks: - TV pairing complexity (host setup friction). - Offline or poor Wi‑Fi conditions at properties. - Content moderation/safety (hosts pasting long/unsafe content; we must enforce limits).
Goal: Launch a Free Lite experience that is dead-simple, compliant with constraints, and sets the stage for upgrade.
Host journey (Free Lite): 1. Host selects a property/unit (Free Lite: exactly 1 unit). 2. Host enters: - Wi‑Fi network name (SSID) - Wi‑Fi password - Checkout time (optional) - Parking Pass Instructions (text, ≤500 characters) 3. Host pairs a Fire TV device to that unit. 4. Host sees a preview of the single welcome screen (exact layout).
Guest journey (Free Lite): - Guest turns on TV → sees a single static screen: - “Welcome” (generic; no guest name) - Wi‑Fi details - Checkout time (only if configured) - Parking pass instructions (≤500 chars)
guest_experience_lite_free → maxUnits=1,
allowedFields=[wifi, checkout_time, parking_text]guest_experience_paid → maxUnits=unlimited (metered),
features vary by phaseFire TV app (Android/Fire OS): - Single Activity / screen with static layout. - Remote-config fetch on app start + periodic refresh. - Local cache so screen renders even if network is down.
Pairing & device identity: - Use a pairing code
displayed on TV (host enters in web/app) OR host signs into FreshFlip on
TV and selects unit. - Store mapping:
device_id → unit_id.
Data model (minimum): - Unit fields:
wifi_ssid, wifi_password,
checkout_time (nullable), parking_instructions
(max 500). - Device fields: platform,
device_id, paired_unit_id,
last_seen_at, app_version.
Validation & safety: - Hard enforce character limits. - Basic profanity/PII warning copy (soft) can be added later; for week 1: strict length + no HTML.
Telemetry (minimum): - App launched, config fetched success/fail, time-to-render, pairing success, last_seen.
Definition of Done (Phase 1): - A host can configure Free Lite content for 1 unit. - A paired Fire TV reliably displays the single-screen welcome UI. - Validation prevents scrolling needs (fields constrained to fit).
Goal: Turn TV Welcome into a paid module with metered multi-unit support and host ops tooling.
Free Lite (0$): - 1 unit only - Single screen: Wi‑Fi + optional checkout time + Parking Pass Instructions (≤500 chars)
Paid Guest Experience Module (Monthly): - $9.99/mo includes 1 unit - +$5/mo per additional unit (metered) - Bundle options (discounted vs a-la-carte): - 5-unit bundle: $24.99/mo (covers up to 5 units) - 10-unit bundle: $44.99/mo (covers up to 10 units) - Above bundle cap: +$5/mo per extra unit (or nudge to next bundle when available)
Annual (discounted): - Annual pricing = pay 10 months, get 12 (≈16.7% off) - Paid 1 unit: $9.99/mo → $99.90/yr - 5-unit bundle: $24.99/mo → $249.90/yr - 10-unit bundle: $44.99/mo → $449.90/yr
Go-to-market note (FreshFlip Ops + Guest Experience): - Market the TV Welcome Screen as a complementary add-on to FreshFlip Ops (turnovers/proof/alerts): “Back-of-house runs smooth; front-of-house feels premium.” - Primary distribution: inside the Ops workflow (post-turnover completion, unit setup, device/alerts screens) where operators already think in units and checklists. - Packaging strategy: keep pricing simple and modular (Ops subscription + Guest Experience Module), while using unit-count language and 5/10-unit bundles that match how operators scale.
Upgrade triggers (product surfaces): - Add a 2nd unit → prompt upgrade from Free Lite. - “Enable additional pages / media / branded theme” (coming in Phase 3) → prompt upgrade. - “Fleet health + device status” (Phase 2) → shown as paid benefit.
Multi-unit support (core): - Configure multiple units with the same minimal fields. - Bulk edit option (apply Wi‑Fi + checkout time to many units, override per unit).
Device fleet health: - “Last seen” status per TV. - App version reporting. - Basic alerts: device offline > X days (email/in-app).
Host ops improvements: - Content preview that matches TV rendering (avoid surprises). - “Test mode” on TV that shows pairing + config timestamp.
Entitlements/billing integration: - Subscription plans: monthly/annual, unit-count metering, bundles. - Server-side enforcement: prevent >1 unit on free. - Grace period behavior if billing fails (e.g., keep last known screen for 7 days, then show “Reconnect subscription” banner).
Admin/config surfaces: - A “Units” table with per-unit fields and device mapping. - Bundle-aware UI that explains pricing in plain language.
Operational telemetry: - Device heartbeat interval. - Error reporting (config parse errors, render errors).
Definition of Done (Phase 2): - Paid plan can be purchased and unit limits enforce correctly. - Host can manage >1 unit with metered/bundle pricing. - Dashboard shows device status and last seen. - Roku workstream has a defined spec + backlog; optional first Free Lite Roku build if capacity allows.
Goal: Expand beyond “arrival basics” into a multi-page, branded, dynamic guest experience that compounds value, reduces host workload, and justifies paid retention.
Multi-page flow (Paid only): - Page 1: Welcome + Wi‑Fi (always) - Page 2: House rules / quiet hours - Page 3: Check-in / check-out instructions - Page 4: Local recommendations
Media support (Paid only): - Static images (e.g., parking diagram) with safe file limits. - Short video (optional) — only after we have analytics + performance baselines.
Branding (Paid only): - Host logo and color theme (simple tokens).
Scheduling / automation (Paid only): - “Pre-arrival mode” vs “During stay” content schedule (time-based). - Device auto-refresh cadence controls.
No guest name required: - Personalization remains generic (e.g., “Welcome to the home”) unless/ until we have reliable guest data.
Definition of Done (Phase 3): - Paid users can create multi-page experiences with basic branding. - Roku version reaches parity and is supportable. - Analytics and template system increase retention and perceived value.
Platform dependencies: - Fire TV app foundation (Android/Fire OS): UI, pairing, config fetch, caching. - Roku app foundation (BrightScript/SceneGraph): planned for Phase 2+.
Backend / services: - Config service for unit content (read/write). - Device registry + pairing service. - Entitlements/billing + plan enforcement (free vs paid, units, bundles, annual). - Telemetry pipeline (device heartbeat, config fetch, render success).
Product surfaces: - Host-facing UI for unit configuration and preview. - Upgrade/paywall surfaces tied to triggers (adding units, enabling advanced features).
Operational / QA: - Device lab coverage (at least 2–3 Fire TV models; later Roku). - Release process for TV apps + rollback strategy.
Policy / safety: - Input validation rules (500-char limit; sanitization). - Asset moderation (Phase 3+ when images/video ship).