Boom Media Β· Displayee Β· Decision Doc

πŸ“Ή Security-Camera Live Streaming Add-On

Feasibility, brand compatibility, architecture & pricing β€” for review before build Β· Research date: July 13, 2026 Β· Sold as a BOO client add-on, built inside Displayee

TL;DR β€” Verdict: BUILD IT βœ…

1 Β· Two-Path Product Strategy

Because Eric is an authorized TP-Link reseller (and can obtain dealer accounts for other brands), this add-on has two revenue lanes instead of one:

πŸ…°οΈ Path A β€” Stream what they own

Onboard the client's existing wired cameras / NVR / DVR (Amcrest, Reolink, Hikvision, Dahua/Lorex, XMEye, Tapo…). Install a small bridge box on their LAN; their feeds appear in the Displayee dashboard and on signage screens.

Revenue: monthly add-on fee + one-time setup/install fee (bridge hardware + config).

πŸ…±οΈ Path B β€” Sell them the cameras

For clients with incompatible gear (Ring/Nest/Wyze/Night Owl) or no cameras: sell + install a Boom-standard kit (TP-Link VIGI PoE or Tapo, at reseller margin). Guarantees RTSP/ONVIF compatibility and turns a disqualified lead into a bigger sale.

Revenue: hardware margin + install labor + the same monthly add-on.

Sales qualification rule: "Do you have a wired camera system or an NVR/DVR box?" β†’ Yes = Path A, onboardable. "Only Ring / Nest / Wyze / battery Wi-Fi cams" β†’ Path B (a 4-cam PoE kit starts around $250 in hardware).

2 Β· Brand Compatibility Matrix

Verdicts are for our pipeline: can an on-LAN bridge pull a live stream (RTSP/ONVIF) and relay it to the browser? Sources verified July 2026.

Brand / lineRTSPONVIF3rd-party cloud APIVerdictNotes
Amcrest (Dahua OEM)βœ… On by defaultβœ… Yes❌ (full local HTTP API)WORKS β€” bestReference brand; URLs stable for a decade; NVR channels too; JPEG snapshot API for thumbnails
TP-Link Tapo (wired)βœ… After setupβœ… Port 2020❌ partner-gated, excludes camerasWORKSNeeds per-camera "Camera Account" + Third-Party Compatibility toggle; substream ~640Γ—360; firmware churn risk; battery models = NO
TP-Link VIGI (business)βœ…βœ… Profile SVIGI Cloud VMSWORKSYour reseller line β€” the Path B default (see Β§9)
Reolink (wired/NVR)βœ… Default onβœ… (toggle)❌WORKSh264Preview_01_main|sub; battery Argus/LTE lines = No
Hikvision + Annke/LTS OEMsβœ…βœ… (enable + ONVIF user)❌WORKS/Streaming/Channels/101; NVR ch2 substream = /202. NDAA/FCC caveat for resale (Β§9)
Dahua / Lorex (recorders)βœ…βœ…βŒWORKSSame URLs as Amcrest. Lorex Wi-Fi "Lorex Home" app cams = Partial/No β€” check their compatibility chart
Ubiquiti UniFi Protectβœ… RTSPS :7441βŒβœ… Official local API (2024-25)WORKSMost SaaS-friendly: provision streams programmatically via API key. Premium tier option
Swann (DVR/NVR)βœ… From recorder⚠️ Inconsistent❌PARTIALβ†’WORKS/ch01/0 or Hik-style; SWIFI Wi-Fi cams = No
XMEye / Xiongmai ⭐ Gurapos⚠️ Usually available, often not enabled⚠️ Port 8899, flaky + 2025 CVEs❌ cloud UID path closedPARTIALLAN-only via bridge; security-toxic device class β€” full plan in Β§5
Eufy⚠️ Some models via HomeBase❌❌PARTIALBonus if it works; don't promise. Battery cams only stream while awake
Wyze❌ (Oct 2025 beta fw only, no commitment)❌❌ (reverse-engineered bridge only)NOdocker-wyze-bridge exists but unsupportable for SaaS
Ring❌ Never❌❌ No video-out API; E2EE blocks hacksNOCloud-only by design β†’ Path B upsell
Google Nest❌❌⚠️ SDM WebRTC exists but commercial applications closedNO (for SaaS)$5 sandbox is non-commercial; Google not accepting commercial apps
Night Owl❌ Locked down⚠️ Claimed, unusable❌NOCommon at Costco/Sam's β€” advise replacement (Path B)

Key sources: TP-Link FAQ 2680 Β· Amcrest RTSP KB Β· Reolink RTSP Β· UniFi Protect API Β· Wyze RTSP Β· Nest Device Access Β· iSpy XMEye DB

3 Β· TP-Link Tapo β€” Specifics (your reseller line, consumer tier)

Enabling RTSP/ONVIF (per camera)

  1. Tapo app β†’ Device Settings β†’ Advanced Settings β†’ Camera Account β†’ create a local username/password (6–32 chars, avoid special characters). This is the RTSP/ONVIF enablement.
  2. Newer firmware: Tapo app β†’ Me β†’ Third-Party Services / Tapo Lab β†’ Third-Party Compatibility β†’ ON (default OFF on 2025+ firmware).
  3. ~40 wired models supported incl. C100, C110, C200, C210, C320WS. Battery models = no RTSP (exception: D235/D225/TD25 doorbells when hardwired).
rtsp://CAMERAACCT:PASS@CAMERA_IP:554/stream1   ← main stream (HQ)
rtsp://CAMERAACCT:PASS@CAMERA_IP:554/stream2   ← substream ~640Γ—360@15fps (use this)
ONVIF: port 2020, Profile S
Tapo caveats: only 2 of {Tapo Care cloud, SD-card recording, RTSP} can run at once; max 2 concurrent RTSP pulls per camera; 2025 firmware (e.g. 1.3.1 on C120/C220/C230) temporarily broke RTSP before being patched. Treat Tapo as substream-only, expect occasional firmware churn β€” fine for Path A, but sell VIGI for new installs.

Why VIGI VMS "can't see" Tapo cameras (field note, July 2026)

Tested live on the Boom Media LAN: VIGI VMS Auto Discover only finds VIGI-protocol devices β€” Tapo cameras never appear in the scan. They must be added via Manually Add β†’ ONVIF β†’ camera IP β†’ port 2020 β†’ Camera Account credentials. Same-subnet required (guest Wi-Fi / VLAN / AP client-isolation blocks it).

What VIGI VMS works with

Use VIGI VMS as a free site-survey tool: bring a laptop to a client site, Manually Add β†’ ONVIF their gear. Anything that shows up is a camera Displayee can stream. It's the diagnostic, not the delivery path.

4 Β· Amcrest β€” Specifics (best-in-class, the reference brand)

Camera:  rtsp://user:pass@IP:554/cam/realmonitor?channel=1&subtype=0   (0=main, 1=sub)
NVR:     same URL β€” channel = camera number on the recorder
Playback: /cam/playback?channel=1&starttime=...                        (recorded clips, later, free)
Snapshot: http://IP/cgi-bin/snapshot.cgi?channel=1                      (JPEG β€” cheap dashboard thumbnails)

Sources: Amcrest RTSP KB Β· NVR RTSP KB Β· Official HTTP API spec (PDF)

5 Β· XMEye / Xiongmai Deep-Dive β€” the Gurapos DVR ⭐

Confirmed: Gurapos's DVR is a Xiongmai device registered on the xmeye.net cloud portal (visible under the Boom account by cloud serial, custom device credentials). It's online and healthy β€” but that tells us less than it seems:

Portal working β‰  RTSP enabled. The XMEye portal/apps use the proprietary Sofia/DVRIP protocol over TCP 34567 through Xiongmai's cloud relays. RTSP (port 554) is a completely separate service that must be checked/enabled at the DVR: Main Menu β†’ System β†’ NetService β†’ RTSP.

Why the cloud-ID path is a dead end

Security: never expose this device class to the internet

Gurapos onboarding plan (Path A, bridge-only)

  1. Get DVR local IP + admin credentials + 10 min at the DVR (or its on-LAN web UI).
  2. Enable RTSP: Main Menu β†’ System β†’ NetService β†’ RTSP (port 554).
  3. Probe URL variants (firmware-dependent) from a laptop with VLC:
rtsp://IP:554/user=admin&password=XXX&channel=1&stream=0.sdp?real_stream
rtsp://IP:554/user=admin_password=XXX_channel=1_stream=0.sdp
(stream=0 main Β· stream=1 sub; channel = camera number)
  1. If H.265-only: set the DVR substream codec to H.264 (or transcode at the bridge β€” avoid if possible).
  2. Install bridge box on the LAN; DVR gets zero port forwards, ideally its own VLAN.
  3. Strip audio at the bridge (see Β§10).

6 Β· Field-Test Playbook β€” qualify any client in 15 minutes

  1. Ask: "Wired system or NVR/DVR box?" No β†’ Path B conversation, stop here.
  2. Find the recorder/cameras on the LAN (router client list, or a scan of ports 554/2020/8000/8899/34567).
  3. VLC test (the real go/no-go): Media β†’ Open Network Stream β†’ try the brand's RTSP URL from Β§2–§5. If VLC plays it, Displayee can stream it. Done.
  4. ONVIF fallback: VIGI VMS β†’ Manually Add β†’ ONVIF β†’ device IP + brand's ONVIF port. If channels appear, streams exist (get the RTSP URI from the ONVIF response).
  5. Record findings: brand/model, RTSP URL that worked, substream resolution/codec (H.264?), camera count, upload bandwidth at the site (need ~1 Mbps Γ— cameras pinned to signage; dashboard-only viewing is on-demand).

7 Β· Architecture β€” Options Compared & the Pick

Why not the obvious shortcuts

ApproachVerdictWhy
Port-forward cameras/DVR to the internetDISQUALIFIEDShodan-scanned constantly; camera CVE history (esp. XMEye); credentials in URLs; CGNAT customers can't forward anyway
Camera-native P2P clouds (XMEye, Tapo cloud, …)CLOSEDProprietary, no APIs, ToS walls; nothing to build on
VPN only (Tailscale subnet router)WORKS, PRICES BADLY$1/device/mo past 50 devices at fleet scale; still needs on-site hardware anyway. Plain WireGuard as a management backchannel: yes
Cloudflare Tunnel / StreamNOStream has no RTSP ingest (RTMPS/SRT/WHIP only) and ~$1/1,000 min delivered β‰ˆ $43/mo per 24/7 viewer; Tunnel is a ToS minefield for video
AWS Kinesis Video StreamsWORKS, 10Γ— COSTβ‰ˆ$5–10/cam/mo at 1 Mbps vs pennies self-hosted
On-site bridge dialing outbound β†’ self-hosted relayβœ… THE PATTERNExactly what Eagle Eye ("all connections outbound-only"), Videoloft (Cloud Adapter), and Solink ship. No router changes, survives CGNAT, credentials never leave the LAN

The pick: "Displayee Bridge" (go2rtc at the edge, MediaMTX in the cloud)

[Cameras / DVR on client LAN] β”‚ RTSP (local only β€” nothing exposed) β–Ό [Bridge: Pi 4/5 or ~$150 N100 mini-PC Β· Docker] go2rtc β€” camera-quirk handling (native Tapo support), audio stripped by default, H.265β†’H.264 only if unavoidable β”‚ OUTBOUND ONLY Β· SRT or RTSP-publish over TLS β”‚ (WireGuard backchannel for fleet management) β–Ό [boom-hosting droplet Β· Coolify] MediaMTX (MIT) β€” per-tenant paths, sourceOnDemand β”œβ”€ WebRTC/WHEP β†’ Displayee dashboard live view (sub-second) β”œβ”€ HLS β†’ Bunny CDN β†’ signage players & multi-viewer fan-out (5–30 s delay, fine) └─ auth: HTTP-callback β†’ Next.js API route β†’ Supabase JWT / tenant check

8 Β· Cost Math & Suggested Add-On Pricing

Viewing pattern (per camera)Egress GB/moInfra cost
Owner checks 2 h/day @ 512 kbps substream~13.5~$0.14/mo (usually $0 β€” inside droplet transfer allowance)
8 h/day @ 1 Mbps~108~$1.08/mo
24/7 signage tile @ 1 Mbps~324~$3.24/mo DO Β· $1.62 Bunny volume tier (one pull, N screens)

Ingest is free (DO inbound). DO egress overage $0.01/GiB; Bunny CDN $0.01/GB NA/EU ($0.005 volume). All-in β‰ˆ $0.20–$3.50/cam/mo.

Pricing recommendation (mirrors the Displayee law-firm video pattern):

9 Β· Hardware Kits & Reseller Programs (Path B)

Reseller / dealer programs β€” direct answers

BrandProgramHow to get inReality check
TP-Link (VIGI/Tapo)SolutionX Partner Program β€” Registered β†’ Silver β†’ Gold β†’ Platinum. Higher VIGI/Omada margins, demo-kit discounts, deal registration, dedicated AM; current promo: free VIGI camera via Rewards StoreEric is already in Β· partner portal Β· b2bsales.usa@tp-link.comMargins not public; typically 10–25% off street by tier/deal-reg. Best structured program of the bunch
AmcrestYES β€” Authorized Dealer Program + Dealer Portal (dealer-price ordering). No published NFR/demo program, but refurb SKUs ~30% off work as demo stockApply: amcrest.com/dealer-new Β· portal.amcrest.com Β· dealers@amcrest.com (expect: business entity, resale/tax cert, install-volume info)Discounts thin-but-real β€” street prices are already near-wholesale. No ADI/ScanSource/Ingram distribution; the Dealer Portal is the channel. Worth joining as a free price-hedge
ReolinkPartner program with volume minimums β€” accounts cancelled if minimum missed within 6 monthsreolink.com/distributor-resellerGeared to distributors, not small integrators β€” skip
UbiquitiNo protected margin β€” direct-sale model; distributor margins ~5–10%store.ui.com / ISP SuppliesMoney is in design/install/monthly service, not the box

Ranking for a 5–20 cam/month integrator: TP-Link SolutionX > Amcrest dealer > Reolink. Apply to Amcrest anyway (free), but lead with VIGI.

⚠️ FCC Covered List β€” brands to never resell

Hikvision, Dahua, and their OEMs (Annke, LTS, EmpireTech/Loryta) are on the FCC Covered List. The Oct 2025 FCC enforcement push + a rule effective Dec 26, 2025 (banning devices incorporating covered modules) triggered mass retailer delistings β€” and FCC conditions explicitly reach "equipment distributors, dealers, or re-sellers." Great RTSP, wrong decade: don't build a resale SKU on covered-entity silicon. Amcrest (Dahua OEM) has skated on prior authorizations so far β€” acceptable as a secondary for price-sensitive private SMBs with eyes open, but never for clients with government/NDAA exposure.

Brand-line comparison (4-cam kit basis)

LineExample 4-cam kitHardwarePipeline fit (go2rtc)MarginBoom verdict
TP-Link VIGI4Γ— C440 turret (~$50–60 ea) + NVR1008H-8MP (8Γ— PoE ports, ~$200–250)~$440–490 street, less at partner pricingExcellent β€” native ONVIF Profile S + RTSP, no cloud account; free VIGI Cloud VMS as client bonusβœ… SolutionXPRIMARY
Tapo (wired only)3Γ— C120 (~$35) + C320WS (~$40) + TL-SG1005P switch (~$45)~$160–190Good with camera-account setup; 2-of-3 feature limit; never battery modelsPartial via TP-LinkBudget tier
Amcrest4Γ— IP5M-T1179EW 5MP (~$50–65 ea) + NV4108E-HS NVR (~$99–130)~$330–390Excellent β€” Dahua stack fully open, snapshot APIThin dealer pricingSecondary
ReolinkRLK8-800B4 kit incl. 2TB~$400–470Spotty β€” H.265 main-stream + historic RTSP flakiness; battery/Hub sessions cap ~5 minVolume-gatedAvoid for streaming
Hik/Dahua + OEMs4Γ— 4MP turret + NVR~$300–400Excellent technicallyChannel collapsingAVOID (FCC)
UniFi Protect4Γ— G5 Turret Ultra ($129 ea) + UNVR ($299) + PoE switch ($109)~$925 + HDDGood via RTSPS re-stream :7441 (test go2rtc unifi source first β€” known quirks)❌ nonePremium tier

The three Boom kits

KitContentsHardwareInstallSell at
🟒 STARTER
tiny shop, Wi-Fi, no cable pulls
2Γ— Tapo C120 + 1Γ— C320WS outdoor (+ optional C225 pan/tilt) + TL-SG1005P PoE switch (powers edge box/AP)~$170–215Half-day, screwdriver-level; camera-account setup is the only fiddly bit~$499 installed + monthly
🟣 STANDARD
restaurant PoE β€” the default SKU
4–6Γ— VIGI C440 turrets + 1–2Γ— C340 bullets (patio/rear) + NVR1008H-8MP (recorder + PoE switch in one) + 4TB surveillance HDD (~$95). Edge agent pulls RTSP from cameras directly; NVR = local 24/7 evidence; free VIGI Cloud VMS for the client~$650–850 street, less at SolutionX1–1.5 days (Cat6 pulls; South-FL concrete/block adds drilling)~$1,800–2,500 installed + monthly
πŸ”΅ PREMIUM
flagship / multi-zone
UniFi: 6Γ— G5 Turret Ultra + G5 Pro (POS/entry) + UNVR + 8TB + PoE switch β‰ˆ $1,600–1,800 Β· or all-VIGI: 6Γ— C355/C440 + 1–2Γ— C540V pan/tilt + NVR2016H + TL-SG2210P β‰ˆ $1,200–1,500 partner pricing (keeps margin)$1,200–1,8002 days incl. camera VLAN$3,500–5,000 installed + higher monthly

Margin & labor benchmarks

Sources: VIGI ONVIF/RTSP FAQ Β· Amcrest dealer application Β· Reolink distributor T&Cs Β· FCC Covered List Β· Dec 2025 FCC rule Β· IPVM margin report Β· Miami labor guide

11 Β· Where It Fits in Displayee + Phased Build Plan

Displayee (Displayee/app/) already ships the surfaces this needs β€” this is an extension of the existing video subsystem, not a greenfield build:

PhaseScopeNotes
P0 Pilot (1–2 wks)MediaMTX container on boom-hosting via Coolify; one bridge (Pi + go2rtc) on a friendly site (Gurapos or office Tapo cams); hardcoded auth; WebRTC playback in a test pageProves the whole chain end-to-end before any Displayee code
P1 MVPdi_cameras + di_bridges tables; bridge pairing (reuse device-pair flow); dashboard "Cameras" tab with live WebRTC view + snapshot thumbnails; MediaMTX auth-callback β†’ SupabaseSellable: dashboard live view per location
P2 SignageCamera tile type in playlists; HLS β†’ Bunny fan-out to screens; multi-cam grid layoutThe differentiator β€” nobody else puts the kitchen cam on the menu board network
P3 LaterRecorded clips (Amcrest/NVR playback URLs = free), motion events (Frigate upsell), Stripe metering per cameraOnly after P1/P2 prove demand
Boundary check (no-overlap rule): screens/video/streaming = Displayee's job. BOO resells the add-on; Dashee may display a camera widget later via Displayee embed (same pattern as Localey-in-Dashee). No new app.

12 Β· The Demo System (also = the P0 pilot) β€” βœ… LIVE as of July 13, 2026

DEPLOYED AND WORKING β€” the full chain runs right now:

The original $0 recipe (all owned hardware):

PieceUseCost
Eric's existing Tapo home cameras βœ… confirmed on handRTSP sources: create Camera Account in Tapo app + enable Third-Party Compatibility β†’ rtsp://acct:pass@camIP:554/stream2$0 (owned)
Any spare PC / laptopStand-in bridge running go2rtc (single free binary, no install) pulling the Tapo streams$0
MediaMTX container on boom-hosting (Coolify)Cloud relay β€” go2rtc pushes outbound to it; view in any browser via WebRTC$0 (~10 min setup)
The money shot: open the stream on a phone off the home/office Wi-Fi. That single view proves the entire architecture β€” outbound-only bridge, no port forwarding, NAT traversal, browser playback β€” i.e., the whole add-on, demonstrated for $0.

Quick-start (Tapo β†’ go2rtc β†’ MediaMTX, ~30 minutes)

# 1. Per camera, in the Tapo app:
#    Device Settings β†’ Advanced β†’ Camera Account β†’ create user/pass
#    Me β†’ Third-Party Services / Tapo Lab β†’ Third-Party Compatibility β†’ ON
#    Note the camera IP (app shows it, or router client list) β€” reserve it in DHCP

# 2. On the spare PC β€” go2rtc.yaml (go2rtc has a native tapo handler too):
streams:
  demo_cam1: rtsp://ACCT:PASS@192.168.1.50:554/stream2
  demo_cam2: rtsp://ACCT:PASS@192.168.1.51:554/stream2
publish:                       # push outbound to the droplet relay
  demo_cam1: rtsp://USER:PASS@mediamtx.boommedia.us:8554/gurapos-demo/cam1

# 3. On boom-hosting via Coolify: run bluenviron/mediamtx container
#    (ports 8554 RTSP-in, 8889 WebRTC/WHEP out; set publish/read credentials)

# 4. Watch from anywhere: http://mediamtx-host:8889/gurapos-demo/cam1
#    β†’ later this URL is what <VideoPlayer> wraps in the Displayee dashboard

Cheap upgrades (in order)

  1. Free VIGI camera β€” the SolutionX partner Rewards Store promo currently gives partners a VIGI camera at no cost β†’ the PoE/business-line demo unit for client pitches.
  2. Amcrest refurb turret ~$40 (refurbs ~30% off) β€” demos the exact Dahua-style URLs + snapshot-thumbnail flow that the Gurapos recorder-swap would use.
  3. Real bridge box ~$120–150 (N100 mini-PC) β€” the only spend worth making before client-facing demos, so the demo unit = the install unit.

Zero-hardware dev note: ffmpeg can publish a synthetic test-pattern stream into MediaMTX β€” build the Displayee dashboard UI with no camera at all.

πŸ›’ Which Tapo models to buy β€” expanding the demo network cheap (2–4 cams)

Every camera on TP-Link's official camera-account list supports RTSP/ONVIF (FAQ 4372). The cheap picks, street prices βš‘:

ModelWhat it is~PriceDemo role
Tapo C1102K indoor, fixed~$20Cheapest RTSP camera that exists β€” buy 2
Tapo C2102K pan/tilt indoor~$24The wow-factor tile (pan/tilt via ONVIF)
Tapo C1202K indoor/outdoor, spotlight~$35Doubles as the "patio cam" story
Tapo C320WS2K QHD outdoor wired, color night~$40True outdoor demo cam
Tapo C2161080p+ pan/tilt (newer)~$30Alternative to C210
Tapo C325WB ColorProPremium outdoor low-light~$90+Skip for demo β€” premium tier only
Tapo C575D (dual-lens PoE PT)4K dual lens~$130 βš‘Skip β€” note: dual-lens cams expose ONLY the wide lens via ONVIF
Recommended demo buy: 2Γ— C110 + 1Γ— C210 + 1Γ— C320WS β‰ˆ $105 total β†’ a realistic 5-camera multi-tile demo wall (with the existing cam) for about a hundred bucks. All wired/plug-in, all on the official RTSP list.
Official TP-Link compatibility notes (from their FAQ, July 2026):

13 Β· Appendix β€” SaaS Build-Status Audit (verified on disk, July 13, 2026)

AppStatusNext step
AddeeLIVEPull live BOO menu items into ad generator
BloggyLIVEAuto-draft blog on new BOO menu item
RankeeLIVEPreload "order online" keywords per restaurant
PostteeSCAFFOLD (stalled)Blocked on Meta App Review + Google Business API approval
DasheeLIVE (beta)BMBB bail-bonds vertical in beta; BOO reporting template
ApproveeLIVE (active dev)Most recently touched (Jul 9); PDF/video pin-drop designed, not built
DisplayeeLIVEBunny video shipped Jul 7 β†’ camera add-on is the next extension (this doc)
ReplyeeLIVE / BETAVerify 002_live_chat.sql ran + one E2E handoff test
QRcodeeLIVEOne-click BOO ordering-page destination preset
RewardeeBUILT β€” blocked on EricRun SQL 001β†’004 β†’ merge boo-v2 ecosystem-cleanup β†’ smoke test β†’ Stripe products
ComplieeBUILT, not deployedDeploy-gated (Coolify Dockerfile ready); new security-monitoring spec Jul 13
SignneeLIVE (deploy-gated)Standard "BOO Restaurant Agreement" template
AssisteeBUILT, not deployedSet .env.local β†’ Vercel deploy (RustDesk relay already live)
LocaleyBUILT (Phase 1, Jul 1)Fastest-moving; owns "reviews" ecosystem-wide
ServveeCUT (Jul 11)Archived in place; BOO-internal promo/menu layer only

Note: the boundary doc's claim that Displayee is "docs-only" is outdated β€” the full app lives at Displayee/app/ (nested git repo). Eric's 4 pending Rewardee/BOO steps remain the top ecosystem blocker (see SaaS/.md/CLEANUP_EXECUTION_HANDOFF.md).