felt/.planning/research/FEATURES.md

26 KiB

Feature Research

Domain: Poker venue management platform (live card rooms, bars, clubs, casinos) Researched: 2026-02-28 Confidence: MEDIUM — Core feature categories verified across multiple competitor products (TDD, Blind Valet, BravoPokerLive, LetsPoker, CasinoWare, kHold'em, TableCaptain). Feature importance is inferred from competitive analysis and forum discussions, not from direct operator interviews.


Feature Landscape

Table Stakes (Users Expect These)

Features that every competing product has. Missing any of these makes Felt feel broken before operators even test differentiating features.

Tournament Management

Feature Why Expected Complexity Notes
Tournament clock (countdown + level display) Every competitor has it; this is the core job LOW Must show level, time remaining, next blind, break info
Configurable blind structures TDD, Blind Valet, CasinoWare all require this; no venue runs default blinds MEDIUM Presets + custom editor; include antes, bring-ins
Break management (scheduled + manual) Standard tournament flow; operators must pause for chip-ups, meals LOW Break countdown, break message per level
Chip-up / denomination removal messaging Standard tournament procedure; without it operators improvise manually LOW Custom message per break (e.g., "Chip up 5s")
Rebuy / add-on tracking Required in almost all bar/club tournaments MEDIUM Per-player rebuy count, add-on windows, prize pool impact
Late registration window Industry standard; extends prize pool, increases player counts LOW Configurable end-of-level or time-based cutoff
Bust-out tracking Required for payout ordering and seating consolidation MEDIUM Player elimination order, timestamp, chip count at bust
Prize pool calculation Operators need this instantly; manual math causes errors MEDIUM Rake config, bounties, guaranteed pools, overflows
Payout structure (fixed % or variable) Every serious software has this; without it TDs use paper MEDIUM ICM, fixed %, custom splits; print-ready output
Player registration / database Venues know their regulars; re-entry and rebuy require player identity MEDIUM Name, contact, history; import from TDD
Seating assignment (random + manual) Required for fair tournament start MEDIUM Auto-randomize, drag-and-drop adjustments
Table balancing Required as players bust out; manual is error-prone HIGH Auto-suggest moves, seat assignment notifications
Table break / consolidation Tables must close as field shrinks MEDIUM Triggers at N players, assigns destination seats
Multi-tournament support Venues run satellites alongside mains; bars run concurrent events HIGH Independent clocks, financials, player DBs per tournament
Pause / resume clock Universal need; phone calls, disputes, manual delays LOW Single button; broadcasts to all displays
Hand-for-hand mode Required at bubble; TDA rules mandate clock management MEDIUM Stops timer, 2-3 min per hand deduction
Bounty tournament support Standard format at most venues MEDIUM Progressive bounty tracking, per-player bounty calculations
Re-entry tournament support Common format; distinct from rebuy MEDIUM New entry = new stack, maintains same player identity

Cash Game Management

Feature Why Expected Complexity Notes
Waitlist management Core cash game operation; BravoPokerLive built entirely on this MEDIUM By game type + stakes; order preserved; auto-seat
Table status board Operators and players need to see what games are running MEDIUM Open/closed, game type, stakes, seat count, occupied seats
Seat-available notification Players hate watching the board; notification is now expected MEDIUM SMS or push; BravoPokerLive popularized this
Game type + stakes configuration Venues run multiple games (NLH, PLO, mixed); must be configurable LOW Poker variant, stakes level, min/max buy-in
Session tracking (buy-in/cashout) Required for rake calculation and financial reporting MEDIUM Player buy-in amounts, cashout amounts, duration
Rake tracking Venues live on rake; they must see it per table and in aggregate MEDIUM Percentage, time charge, or flat fee per pot
Must-move table handling Standard practice at busy rooms with main + must-move games HIGH Automated progression rules, priority queue
Seat change request queue Standard poker room procedure; without it conflicts arise LOW Players queue for preferred seat, FIFO, dealer notification

Display / Signage

Feature Why Expected Complexity Notes
Tournament clock display (dedicated screen) Any software that can't show a big clock on a TV is unusable MEDIUM Full-screen view: time, level, blinds/antes, next level
Seating board display Venues show draw results and table assignments on screens MEDIUM Table/seat grid, player names, color-coded
Rankings / chip count display Players want to see standings; operators use it to drive engagement MEDIUM Sorted leaderboard, update on eliminations
Upcoming events / schedule display Venues run this on idle screens; basic signage need LOW Schedule rotation between operational views
Multi-screen support One screen is not enough for a venue MEDIUM Each display independently assigned a view

Player-Facing Access

Feature Why Expected Complexity Notes
Mobile clock view (player phone) Blind Valet and LetsPoker both offer this; players expect it now MEDIUM QR code access, no app install, live blind/time view
Player standings on mobile Players check their ranking constantly; it reduces questions to staff MEDIUM Live rank, chip count if entered, position relative to bubble
Waitlist position on mobile Players want to leave and be notified; board-watching is dying MEDIUM Live position number, estimated wait time

Operational Foundations

Feature Why Expected Complexity Notes
PIN / role-based authentication Multi-staff venues need access control MEDIUM Floor manager, dealer, observer roles; offline PIN
Audit trail (state change log) Disputes happen; operators need a record MEDIUM Who did what, when; immutable append-only log
Data export (CSV / JSON) Operators archive results, import to spreadsheets, submit to leagues LOW Tournament results, player history, financial summary
Offline operation Venues lose internet; TDD's biggest advantage over cloud-only competitors HIGH Full tournament run with zero cloud dependency
Print output (registration slips, payout sheets) Physically handing a player their payout amount is still standard LOW Browser print, no special driver required

Differentiators (Competitive Advantage)

Features that no single competitor offers completely, or where the gap between current products and user expectations is large enough to win venues.

Feature Value Proposition Complexity Notes
Wireless display nodes (no HDMI cables) Eliminates the #1 physical deployment pain point for venues HIGH Pi Zero 2W kiosk over WireGuard mesh; unique to Felt
Offline-first edge architecture Cloud-only products (Blind Valet) die without internet; TDD has no cloud sync HIGH Leaf Node runs full tournament autonomously; game changer for reliability
Player mobile PWA (no app install) App installs kill adoption; QR → instant live data is frictionless MEDIUM Progressive Web App, works on any phone
Integrated digital signage with WYSIWYG editor Venues pay for separate signage software (Yodeck, NoviSign); Felt combines them HIGH Template gallery, AI content generation, venue branding, playlists
AI-assisted promo content generation No competitor offers AI imagery for drink specials, event promos HIGH Generates branded images; reduces need for a graphic designer
League / season management with point formulas TDD has leagues; Blind Valet has leagues; but neither integrates with operations MEDIUM Configurable scoring, automatic season standings, archive
Events engine (triggers + actions) No competitor has this; "when bubble bursts, play sound, change display, send message" HIGH Rule-based automation; webhook support; unlocks countless automations
Cross-venue platform identity (player belongs to Felt, not venue) BravoPokerLive does discovery; no one does cross-venue player identity for non-casinos HIGH Network effects; players carry their history across venues
TDD data import Critical for adoption; operators have years of data in TDD MEDIUM Import blind structures, player DB, tournament history, league records
Touch-native dark-room operator UI TDD's UI is 2002-era; all competitors have mediocre UX HIGH Mobile-first, one-handed operation in a dark card room
Dealer tablet module (bust-outs / rebuys at table) LetsPoker has this; no other competitor does for live venues MEDIUM Reduces floor staff movement; improves accuracy
Multi-room / simultaneous tournament management Casinos need this; no small-venue product handles it HIGH Independent rooms under one operator account
Sound engine (level-up sounds, break alerts, bubble fanfare) TDD has customizable sounds; most cloud products don't LOW Per-event sound mapping; controllable from operator UI
Sponsor ad rotation on signage Venues monetize signage; no poker software does this natively LOW Ad slot in signage playlist with scheduling
Rake analytics dashboard Most products track rake but don't visualize it usefully MEDIUM Per-table, per-game, per-session revenue reporting
Player notifications (seat, waitlist, next tournament) Push/SMS when seat ready; LetsPoker does this; most don't MEDIUM Seat available, waitlist position change, event reminder
Venue public presence page PokerAtlas does discovery; Felt can combine venue management + public presence MEDIUM Public schedule, event registration, venue info

Anti-Features (Commonly Requested, Often Problematic)

Feature Why Requested Why Problematic Alternative
Payment processing / chip cashout "Complete the money loop in one system" Gambling license requirements, PCI compliance, massive regulatory complexity; Felt is a management tool not a payment processor Track amounts, integrate with existing cage/cashier workflow; show totals clearly
Online poker gameplay "Run online tourneys too" Entirely different product (RNG, real-money gambling regulation, anti-fraud); would consume years of development for a different market Keep focus on live venues; out of scope per PROJECT.md
Video streaming / broadcast "Stream our home game" Different infrastructure (CDN, video encoding, latency constraints); adds enormous complexity for a niche use case Partner with OBS/Streamlabs if needed; do not build
Crypto / blockchain payments "Accept ETH for buy-ins" Volatile value, regulatory uncertainty, operational complexity for floor staff; 2024 trend but wrong for this market Cash is still king in live poker; not needed
Real-money gambling regulation features "We need GRC built in" Each jurisdiction has different requirements; would require constant legal maintenance Operate as a management tool; compliance is venue's responsibility
BYO hardware support "Can I run it on my old laptop?" Support burden becomes enormous; hardware variance causes reliability issues; undermines offline guarantees Ship pre-configured Leaf Nodes; free tier runs on Felt cloud
Separate mobile apps (iOS/Android) for phase 1-3 "Native app feels better" Play Store / App Store review cycles slow iteration; PWA covers 95% of use cases for this domain PWA for players; native apps are Phase 4 only
Multi-currency / regional financial rules "Support Euro AND GBP" Display-only currency is fine; actual financial rule compliance per jurisdiction is a legal minefield Show currency symbol as configuration; no financial calculation changes
Real-time chip count entry by all players "Players should enter their own chip counts" Cheating surface; operational chaos; floor staff integrity is paramount Optional chip count entry by floor staff only with audit trail
Complex tournament scheduling / calendar system "Let players register online for next month's events" Phase 3 feature only; in phase 1-2, the complexity diverts from core operational tools Static event schedule display in phase 1; online registration in phase 3
Third-party casino management system (CMS) integration "Connect to IGT/Bally/Aristocrat" Enterprise sales cycle, NDA/API access requirements, proprietary protocols; not needed for target market Target venues are non-casino; casinos use Bravo/ACSC anyway
Staking / backing / action splitting "Track who owns % of players" Legal complexity, financial tracking burden, scope far beyond venue operations Out of scope; operators who want this use dedicated tools

Feature Dependencies

[Player Database]
    └──requires──> [Tournament Registration]
                       └──requires──> [Tournament Clock Engine]
                                          └──requires──> [Blind Structure Config]

[Table Balancing]
    └──requires──> [Seating Assignment]
                       └──requires──> [Player Database]

[Waitlist Management] (cash game)
    └──requires──> [Player Database]
    └──requires──> [Table Status Board]

[Display System]
    └──requires──> [Display Node Registry]
    └──requires──> [Tournament Clock Engine] (for tournament views)
    └──requires──> [Table Status Board] (for cash game views)

[Player Mobile PWA]
    └──requires──> [Tournament Clock Engine] (for live data)
    └──requires──> [Waitlist Management] (for position tracking)
    └──requires──> [Netbird reverse proxy] (for external access)

[League Management]
    └──requires──> [Tournament results export / history]
    └──requires──> [Player Database]

[Events Engine]
    └──requires──> [Tournament Clock Engine] (trigger source)
    └──requires──> [Display System] (action target)

[Dealer Tablet Module]
    └──requires──> [Tournament Registration]
    └──requires──> [Bust-out Tracking]
    └──requires──> [Rebuy/Add-on Tracking]

[Digital Signage / Promo Content]
    └──requires──> [Display Node Registry]
    └──enhances──> [Events Engine] (content triggers)

[Analytics / Revenue Reporting]
    └──requires──> [Rake Tracking] (cash games)
    └──requires──> [Tournament Financial Engine] (tournaments)
    └──requires──> [Session Tracking]

[NATS Sync / Offline Replay]
    └──requires──> [Leaf Node embedded NATS]
    └──enhances──> [All real-time features] (propagates state to clients)

[Loyalty / Points System]
    └──requires──> [Player Database]
    └──requires──> [Session Tracking]
    └──requires──> [Tournament Registration]

[Public Venue Presence]
    └──requires──> [Core cloud layer]
    └──requires──> [Player Database] (cross-venue identity)

Dependency Notes

  • Tournament Clock requires Blind Structure Config: You cannot run a clock without a structure. Build the structure editor before the clock UI.
  • Table Balancing requires Seating Assignment: Balancing suggests moves; you need an assigned seating model first.
  • Player Mobile PWA requires Netbird reverse proxy: Players accessing from outside the venue LAN need the reverse proxy tunnel. Must be available from day 1 of mobile features.
  • Dealer Tablet requires Bust-out + Rebuy tracking: The tablet is just an input surface for existing state; build the state machine first.
  • Events Engine enhances almost everything: Build core features without it first; add Events Engine as an automation layer on top.
  • Digital Signage conflicts with Lean MVP scope: Signage is a differentiator but adds significant complexity (content editor, playlist, scheduling). Build operational displays first; WYSIWYG editor is phase 1 stretch, AI content generation is phase 2+.
  • League Management requires completed tournament results: You cannot compute standings without a completed tournament history model. League features must come after the core tournament lifecycle is complete.

MVP Definition

Launch With (v1) — Tournament Operations Core

Minimum viable product for a venue to replace TDD + a whiteboard and run a complete tournament with Felt.

  • Tournament clock engine (countdown, levels, breaks, pause/resume) — core job
  • Blind structure configuration (custom + presets, antes, chip-up messages) — cannot run without
  • Player registration + bust-out tracking — needed for payout and table management
  • Rebuy / add-on / late registration — needed for 90% of real tournaments
  • Prize pool calculation + payout structure — operators need this to pay out correctly
  • Table seating assignment (random + manual) + table balancing — required for multi-table events
  • Financial engine (buy-ins, rake, bounties) — venues need to track cash flow
  • Display system: clock view + seating view on dedicated screens — the room needs to see the clock
  • Player mobile PWA: live clock + blinds + personal rank — replaces asking the floor every 2 minutes
  • Offline-first operation (zero internet dependency during tournament) — reliability requirement
  • Role-based auth (operator PIN offline, OIDC online) — floor staff access control
  • TDD data import (blind structures + player DB) — adoption enabler for existing TDD users
  • Data export (CSV, JSON, HTML print output) — venues archive results, submit to leagues

Add After Validation (v1.x) — Tournament Enhancement + Cash Game Foundations

Add once the core tournament loop is proven reliable in production.

  • League / season management — triggered when venues start asking for standings tracking
  • Hand-for-hand mode — needed before any venue runs a serious event with a bubble
  • Events engine (sound triggers, view changes on level-up, break start) — high value, low user cost
  • Digital signage (schedule/promo display between operational views) — venues want their idle screens working
  • Waitlist management + table status board — prerequisite for cash game operations
  • Session tracking (buy-in / cashout / duration) — cash game financial foundation
  • Rake tracking per table — cash game revenue visibility
  • Seat-available notifications (push / SMS) — player retention for cash games
  • Must-move table logic — required at any venue with main game protection
  • Dealer tablet module (bust-outs + rebuys at table) — reduces floor staff walking

Future Consideration (v2+) — Platform Maturity

Defer until core product-market fit is established across tournament and cash game operations.

  • WYSIWYG content editor + AI promo generation — Phase 1 is out-of-the-box templates; WYSIWYG editor is Phase 2 after operational features are solid
  • Dealer management (scheduling, rotations, clock-in) — Phase 3; operators won't churn over this
  • Player loyalty / points system — Phase 3; high complexity, needs player identity first
  • Public venue presence page + online event registration — Phase 3; requires stable Core cloud layer
  • Analytics dashboards (revenue, player retention, game popularity) — Phase 3; operators need basic reporting first
  • Private venues + membership management — Phase 3; niche use case (private clubs)
  • Native iOS / Android apps (player + operator) — Phase 4; PWA covers the use case until then
  • Social features (friends, activity feed, achievements) — Phase 4; requires large player network first
  • Cross-venue player leaderboards — Phase 4; requires critical mass of venues on the platform

Feature Prioritization Matrix

Feature User Value Implementation Cost Priority
Tournament clock engine HIGH LOW P1
Blind structure config HIGH LOW P1
Player registration + bust-out HIGH MEDIUM P1
Rebuy / add-on HIGH MEDIUM P1
Payout calculation + structure HIGH MEDIUM P1
Table seating + balancing HIGH HIGH P1
Display system (clock + seating views) HIGH HIGH P1
Player mobile PWA (clock + rank) HIGH MEDIUM P1
Offline-first operation HIGH HIGH P1
TDD data import HIGH MEDIUM P1
Financial engine (buy-ins, rake) HIGH MEDIUM P1
Role-based auth (PIN + OIDC) HIGH MEDIUM P1
Waitlist management HIGH MEDIUM P2
Cash game table status board HIGH MEDIUM P2
Session + rake tracking HIGH MEDIUM P2
Events engine MEDIUM HIGH P2
League management MEDIUM MEDIUM P2
Dealer tablet module MEDIUM MEDIUM P2
Hand-for-hand mode HIGH LOW P2
Seat-available notifications MEDIUM MEDIUM P2
Must-move logic MEDIUM HIGH P2
Digital signage (playlist + schedule) MEDIUM HIGH P2
WYSIWYG content editor MEDIUM HIGH P3
AI content generation LOW HIGH P3
Dealer management / scheduling MEDIUM HIGH P3
Loyalty points system MEDIUM HIGH P3
Public venue presence MEDIUM HIGH P3
Analytics dashboards MEDIUM HIGH P3
Native mobile apps LOW HIGH P3
Social / friend features LOW HIGH P3

Priority key:

  • P1: Must have for any operator to run a tournament with Felt
  • P2: Must have to expand beyond early adopters and cover cash game venues
  • P3: Must have to compete at enterprise / casino tier

Competitor Feature Analysis

Feature TDD Blind Valet BravoPokerLive LetsPoker Felt (planned)
Tournament clock Yes (deep) Yes (basic) No Yes Yes (deep)
Blind structure editor Yes (deep) Yes No Yes Yes (deep + presets)
Player registration Yes Yes (basic) Player-side only Yes Yes
Rebuy / add-on Yes Yes No Yes Yes
Bust-out tracking Yes Yes No Yes Yes
Table balancing Yes No No Yes Yes
Multi-tournament Yes (limited) No No Yes Yes
Payout calculator Yes Yes No Yes Yes
League management Yes Yes No Yes Yes
Display (TV clock) Yes (HDMI) Browser No Yes (browser) Yes (wireless nodes)
Player mobile access No Yes Yes (waitlist) Yes Yes (PWA)
Waitlist management No No Yes (core feature) Yes Yes
Cash game table board No No Yes Yes Yes
Session / rake tracking No No No Partial Yes
Must-move tables No No Partial No Yes
Offline operation Yes (Windows only) No No No Yes (ARM SBC)
Cloud sync No Yes Yes Yes Yes (NATS)
Cross-platform Windows only Browser iOS/Android All Browser / PWA
Digital signage No No No No Yes (integrated)
Events engine Yes (scripts) No No No Yes
AI content generation No No No No Yes (planned)
Dealer tablet module No No No Yes Yes (Phase 2)
Loyalty system No No No No Yes (Phase 3)
Dealer management No No No No Yes (Phase 3)
Analytics dashboard Minimal No Partial (player app) Partial Yes (Phase 3)
Import from TDD N/A No No No Yes
Wireless displays No No No No Yes (unique)
Platform player identity No No Partial (national) Partial Yes (cross-venue)

Sources


Feature research for: poker venue management platform (Felt) Researched: 2026-02-28