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
-
Sign Up for BYO Builder tier (Standard, Premium, or Family)
-
Upload M3U via one of these methods:
- Paste M3U URL (Xtream codes or direct M3U link)
- Upload M3U file (drag-and-drop)
-
Connect via Xtream API (username/password)
-
Configure Preferences:
- Timezone: Choose display timezone (ET, CT, PT, local, etc.)
- Event Duration: Default duration for events without end times
- Channel Selection: Pick which channels to include in EPG
-
Naming Preferences: Custom channel display names (optional)
-
Preview & Test:
- See next 24 hours of EPG data
- Verify channel matching
-
Test in IPTV player
-
Get Your Feed URLs:
- EPG XML:
https://epg.epgoat.tv/u/abc123.xml -
Clone M3U:
https://epg.epgoat.tv/u/abc123-clone.m3u(optional) -
Configure IPTV Player:
- M3U URL: Your clone M3U or original provider M3U
- 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
- Open TiviMate → Settings → Playlists
- Add new playlist:
- Name: "My IPTV"
- URL: Your M3U (original or EPGOAT clone)
- Go to EPG Source
- Add EPG Source:
- Name: "EPGOAT"
- URL:
https://epg.epgoat.tv/u/abc123.xml - Assign EPG to playlist
- Refresh → Done!
For Smarters
- Open Smarters → Add User
- Enter Xtream credentials OR M3U URL
- Go to Settings → EPG URL
- Enter:
https://epg.epgoat.tv/u/abc123.xml - Refresh EPG → Done!
For Kodi (PVR IPTV Simple Client)
- Install PVR IPTV Simple Client addon
- Configure addon:
- M3U Playlist URL: Your M3U URL
- XMLTV URL:
https://epg.epgoat.tv/u/abc123.xml - Enable addon
- 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
-
Onboarding: Should we offer concierge onboarding for Premium/Family tiers?
-
M3U Storage: Store user M3U or fetch fresh each time? (Privacy vs. reliability trade-off)
-
Sharing Controls: Allow users to share feeds with family members? How to prevent abuse?
-
Migration: Auto-suggest Provider Pack if we detect user's M3U matches a supported provider?
-
Refunds: What's our refund policy if EPG quality doesn't meet expectations?
Related Documentation
- Provider Packs - Comparison product
- Pricing Strategy - Pricing details
- System Architecture - Technical implementation
- Features: BYO Builder -
feat_byo_builder