Byo Builder

EPGOAT Documentation - SIGNAL - CEO & CTO

BYO Builder (Bring Your Own)

Status: Active Last Updated: 2025-11-02 Related Docs: Provider Packs, Pricing Strategy, Product Reference


Overview

BYO Builder is a custom EPG generation service where users upload their own M3U playlist and receive a personalized XMLTV feed tailored to their specific channels and preferences.

Product Positioning

Unlike Provider Packs (one-size-fits-all for popular providers), BYO Builder serves users with: - Custom or niche IPTV services - Multiple IPTV providers combined - Regional/local providers not in Provider Packs catalog - Specific channel selections or customizations

Target Users

Primary

  • Power users who customize their IPTV setup
  • Users with niche or regional IPTV providers
  • Users who combine multiple provider services
  • Resellers who want custom EPG for their customers

Secondary

  • Users whose provider isn't available in Provider Packs (yet)
  • Users who want advanced customization (timezone, durations, etc.)
  • Beta testers for new provider support

How BYO Builder Works

User Flow

  1. Sign Up for BYO Builder tier (Standard, Premium, or Family)

  2. Upload M3U via one of these methods:

  3. Paste M3U URL (Xtream codes or direct M3U link)
  4. Upload M3U file (drag-and-drop)
  5. Connect via Xtream API (username/password)

  6. Configure Preferences:

  7. Timezone: Choose display timezone (ET, CT, PT, local, etc.)
  8. Event Duration: Default duration for events without end times
  9. Channel Selection: Pick which channels to include in EPG
  10. Naming Preferences: Custom channel display names (optional)

  11. Preview & Test:

  12. See next 24 hours of EPG data
  13. Verify channel matching
  14. Test in IPTV player

  15. Get Your Feed URLs:

  16. EPG XML: https://epg.epgoat.tv/u/abc123.xml
  17. Clone M3U: https://epg.epgoat.tv/u/abc123-clone.m3u (optional)

  18. Configure IPTV Player:

  19. M3U URL: Your clone M3U or original provider M3U
  20. EPG URL: Your personalized EPGOAT EPG URL

User Experience Rating: 8/10 ⭐⭐⭐⭐

Pros: - Works with any IPTV provider - Fully customizable - Private feed just for you

Cons: - More setup steps than Provider Packs - Requires M3U upload/configuration - Higher price point

Pricing Tiers

Tier Monthly Annual Lifetime Features
Standard $5.99 $59.99 $179.99 Core EPG, 1 feed, 5 devices
Premium $8.99 $89.99 $249.99 Premium EPG, 3 feeds, 10 devices
Family $12.99 $129.99 $349.99 Premium EPG, 5 feeds, 15 devices

Trial

  • 14 days free
  • Full feature access
  • Watermarked logos during trial
  • No credit card required

Features by Tier

Standard Tier

Included: - 1 custom EPG feed - Core EPG (titles, times, basic metadata) - 5 device slots - Timezone customization - Event duration preferences - Daily EPG updates

Add-ons: - Logos: +$1.99/month - Premium Metadata: +$2/month - Alerts: +$1.99/month (SMS, Discord, Telegram)

Premium Tier

Included: - 3 custom EPG feeds - Premium EPG (artwork, countdowns, badges, rich metadata) - 10 device slots - All Standard features - Logos included - Premium metadata included - Priority support

Family Tier

Included: - 5 custom EPG feeds - Premium EPG - 15 device slots - All Premium features - Family account management - Shared feed URLs (optional)

Technical Implementation

User Data Storage

For each BYO Builder user, we store:

// Supabase Database Schema
{
  user_id: "abc123",
  feeds: [
    {
      feed_id: "feed-001",
      name: "My Main IPTV",
      m3u_source: {
        type: "url",  // or "file" or "xtream"
        url: "https://provider.com/get.php?...",
        // OR for Xtream
        server: "http://xtream.provider.com",
        username: "user123",
        password: "encrypted_pass"
      },
      settings: {
        timezone: "America/New_York",
        event_duration_min: 180,
        max_event_duration_min: 360,
        enabled_patterns: ["nba", "nfl", "ncaaf", "ufc", "boxing"]
      },
      output_urls: {
        epg_xml: "https://epg.epgoat.tv/u/abc123-feed-001.xml",
        clone_m3u: "https://epg.epgoat.tv/u/abc123-feed-001-clone.m3u"
      },
      created_at: "2025-10-23T12:00:00Z",
      last_updated: "2025-10-23T18:00:00Z"
    }
  ],
  subscription: {
    tier: "premium",
    status: "active",
    devices: [
      {device_id: "device-001", name: "Living Room TV", last_seen: "..."},
      {device_id: "device-002", name: "Bedroom TV", last_seen: "..."}
    ]
  }
}

EPG Generation Flow

1. Scheduled Job (every hour for each user feed)
   ↓
2. Fetch user's M3U from source
   ↓
3. Apply user's pattern preferences and settings
   ↓
4. Run linker with user-specific config
   ↓
5. Generate EPG XML + Clone M3U
   ↓
6. Upload to user-specific R2 path
   ↓
7. Cache with signed URL (anti-sharing)

Per-User Processing

Each user's feed is processed independently: - Isolation: One user's config doesn't affect others - Customization: Each user gets their timezone, duration preferences - Privacy: M3U sources are encrypted and private - Security: Signed URLs prevent unauthorized sharing

Scalability Considerations

Challenges: - Each user requires separate processing run - Can't share EPG between users (unlike Provider Packs) - Storage scales linearly with users

Solutions: - Batch processing: Process multiple users concurrently - Smart caching: Only regenerate if M3U changed - Rate limiting: Prevent abuse - Tiered pricing: Higher tiers subsidize infrastructure

User Dashboard

Features

Feed Management: - Add/edit/delete feeds - Test M3U connection - Preview EPG (next 24 hours) - Download EPG XML for testing

Channel Selection: - View all detected channels - Enable/disable specific channels - Set custom channel names - Bulk enable/disable by category

Device Management: - Register devices (up to tier limit) - View device usage - Revoke device access - Generate per-device URLs (optional)

Settings: - Timezone preferences - Event duration defaults - Update frequency (hourly, 6h, 12h, daily) - Email notifications

Usage & Billing: - Current tier and features - Device usage stats - EPG fetch count (last 30 days) - Upgrade/downgrade options - Billing history

Setup Guides

For TiviMate

  1. Open TiviMate → Settings → Playlists
  2. Add new playlist:
  3. Name: "My IPTV"
  4. URL: Your M3U (original or EPGOAT clone)
  5. Go to EPG Source
  6. Add EPG Source:
  7. Name: "EPGOAT"
  8. URL: https://epg.epgoat.tv/u/abc123.xml
  9. Assign EPG to playlist
  10. Refresh → Done!

For Smarters

  1. Open Smarters → Add User
  2. Enter Xtream credentials OR M3U URL
  3. Go to Settings → EPG URL
  4. Enter: https://epg.epgoat.tv/u/abc123.xml
  5. Refresh EPG → Done!

For Kodi (PVR IPTV Simple Client)

  1. Install PVR IPTV Simple Client addon
  2. Configure addon:
  3. M3U Playlist URL: Your M3U URL
  4. XMLTV URL: https://epg.epgoat.tv/u/abc123.xml
  5. Enable addon
  6. Restart Kodi → Done!

Advanced Features

Pairing Wizard (Future)

For ambiguous channels that auto-matching can't resolve: 1. User presented with list of unmatched channels 2. 3-click confirmation flow 3. "Which EPG data matches this channel?" 4. System learns from user input 5. Improves future auto-matching

Live Verification (Future)

Confirm channel mapping in real-time: 1. System injects 5-minute "verification programme" 2. User confirms: "Yes, this is the right channel" 3. Mapping confidence increased 4. Future matches more accurate

Multi-Timezone Support (Future)

View EPG in multiple timezones: - Home timezone - Travel mode (auto-detect location) - Show times in both local and event timezone - Quick toggle for travelers

Fair Use & Abuse Prevention

Device Limits

Per Tier: - Standard: 5 devices - Premium: 10 devices - Family: 15 devices

Enforcement: - Soft limit initially (warning) - Hard limit if abuse detected - Easy device rotation (revoke old, add new)

Rate Limiting

Per Account: - 500 EPG fetches/day (generous for 5-15 devices) - 1000 requests/day for Family tier

Per IP: - 100 EPG fetches/day per IP - Prevents sharing single account URL publicly

Abuse Detection

Triggers: - Multiple IPs accessing same token simultaneously (>5 IPs/hour) - Excessive fetch rate (>normal player refresh) - Shared on public forums/Discord servers

Actions: 1. Warning email 2. Temporary throttle 3. Token rotation (invalidates shared URLs) 4. Account review 5. Suspension if continued abuse

Migration Path: Provider Pack → BYO Builder

If a user's provider becomes available as a Provider Pack:

Offer: - Downgrade to cheaper Provider Pack - OR keep BYO Builder for customization

Incentive: - "Save $3/month by switching to [Provider] Pack!" - Grandfather existing BYO users at discount

Success Metrics

User Metrics

  • Trial-to-paid conversion (goal: >40%)
  • Setup completion rate (goal: >85%)
  • Average feeds per user (goal: 1.5)
  • User satisfaction (goal: 4.5+ stars)

Technical Metrics

  • EPG accuracy (goal: >90%)
  • M3U fetch success rate (goal: >98%)
  • Processing time per feed (goal: <2 minutes)
  • Error rate (goal: <5%)

Business Metrics

  • ARPU (Average Revenue Per User)
  • Churn rate (goal: <15% monthly)
  • Upgrade rate (Standard → Premium/Family)
  • Add-on attach rate

Competitive Analysis

vs Provider Packs (Our Own Product)

BYO Builder Advantages: - Works with any provider - Full customization - Multi-provider support

BYO Builder Disadvantages: - Higher price - More complex setup - Requires M3U access

Positioning: "Use Provider Pack if your provider is supported; use BYO Builder if you need customization or have a niche provider"

vs Competitor EPG Services

Us: - Sports/event focused - Smart parsing and heuristics - Per-user customization - Modern tech stack

Them: - Generic EPG services - Manual channel mapping - Limited sports coverage - Higher pricing ($10-20/month)

Roadmap

Near-Term (Next 3 months)

  • [ ] Basic BYO Builder MVP
  • [ ] User dashboard (feed management)
  • [ ] Timezone customization
  • [ ] Device management

Mid-Term (3-6 months)

  • [ ] Pairing Wizard for ambiguous channels
  • [ ] Multi-feed support
  • [ ] Channel enable/disable UI
  • [ ] Usage analytics

Long-Term (6-12 months)

  • [ ] Live Verification
  • [ ] Multi-timezone support
  • [ ] Advanced pattern customization
  • [ ] API access for power users

Open Questions

  1. Onboarding: Should we offer concierge onboarding for Premium/Family tiers?

  2. M3U Storage: Store user M3U or fetch fresh each time? (Privacy vs. reliability trade-off)

  3. Sharing Controls: Allow users to share feeds with family members? How to prevent abuse?

  4. Migration: Auto-suggest Provider Pack if we detect user's M3U matches a supported provider?

  5. Refunds: What's our refund policy if EPG quality doesn't meet expectations?