# ytLlive A creator-proof live-streaming and recording app for YouTube — native Windows (C# / WPF / .NET 8). ## Design Principle > This software is so intuitive that even the most right-brained person can easily intuit and use it. Every feature is measured against this. One-click go-live, sane YouTube defaults, visual scene building, and no dead ends — every action has a visible outcome. ## Why ytLlive OBS treats YouTube as an afterthought; SLOBS is Twitch-first with YouTube bolted on. ytLlive is designed and dedicated to YouTube livestreaming and recording, and to YouTube's specific quirks. ## Account Assumption ytLlive assumes you already have a YouTube creator account — connecting uses "Sign in with Google" to link that existing account. **ytLlive does not create accounts.** If you don't have a YouTube channel yet, set one up on YouTube first, then connect it here. ## Run ```bash dotnet build # Windows only — WPF dotnet run ``` ## Version Roadmap | Version | Scope | |---------|-------| | v0.1 | Scene/source management, YouTube RTMP ingest, YouTube OAuth2, live chat, stream health | | v0.2 | Recording to local file | | v0.3 | Stream scheduling | | v0.4 | Multi-destination restreaming | | 1.0 | General availability | ## Structure | Path | Role | |------|------| | `Models/` | Scene, Source, QualityOption, StreamConfig, StreamHealth, YouTube channel/chat | | `ViewModels/` | MainViewModel — scenes, stream controls, chat; GoLiveViewModel, ReuseImageViewModel | | `Services/` | YouTubeAuthService (OAuth2), YouTubeStreamService (broadcast/health), YouTubeChatService (chat polling), LayoutStore (SQLite) | | `Helpers/` | ViewModelBase, RelayCommand, ImageCache, AppLog, FocusPreservingListBox, OAuthCredentials | | `Themes/` | `Controls.xaml` — the dark-theme control styles, merged once in `App.xaml` | | `MainWindow.xaml` | Dark-theme main UI: scene/source panel, preview, chat, status bar | ## Docs (memory map) `schema.md` defines the conventions; `ai.md` is the AI/session guide; `TASKS.md` is the task queue. Each code directory carries an `index.md`.