Skip to content

Feature/upload to youtube#4

Open
JawadAlhindi wants to merge 63 commits intoaddyosmani:mainfrom
JawadAlhindi:feature/upload-to-youtube
Open

Feature/upload to youtube#4
JawadAlhindi wants to merge 63 commits intoaddyosmani:mainfrom
JawadAlhindi:feature/upload-to-youtube

Conversation

@JawadAlhindi
Copy link
Copy Markdown

@JawadAlhindi JawadAlhindi commented Dec 18, 2025

Summary

Recorder provides a clean, local-first way to record screen and camera, but the publishing step is still manual. Adding a native “Upload to YouTube” button would significantly improve the end-to-end workflow for creators who publish content regularly.


Current Behavior

After completing a recording, users must:

  1. Export the video file locally
  2. Open YouTube in a new tab
  3. Upload the file manually
  4. Re-enter title, description, and privacy settings

This introduces unnecessary friction and breaks the recording → publishing flow.


Problem

For creators producing frequent tutorials, demos, or updates, this manual process is repetitive and time-consuming. Competing tools reduce this friction by offering direct publishing integrations.


Proposed Feature

Add an optional “Upload to YouTube” button to the post-recording / export screen.

User Flow

  1. User finishes a recording
  2. User clicks Upload to YouTube
  3. User authenticates via Google OAuth (if not already authenticated)
  4. Recorder uploads the MP4 file directly to YouTube
  5. User sets basic metadata before publishing

Supported Metadata (Initial Scope)

  • Video title (from file name)
  • Video description
  • Privacy status:
    • Public
    • Unlisted (by default)
    • Private

(Advanced options like tags, playlists, or thumbnails can be deferred.)


Technical Notes (Suggested)

  • Use YouTube Data API v3
  • Client-side OAuth using Google Identity Services
  • Upload the locally generated MP4 file
  • No server dependency (preserves local-first philosophy)
  • Feature gated behind explicit user action or toggle

UX Considerations

  • Button should only appear after a successful recording/export
  • Clear indication that Google authentication is required
  • Upload progress indicator and success/failure feedback
  • Graceful fallback to local export if upload fails

Alternatives Considered

  • Export YouTube-ready metadata (JSON) alongside the video
  • Provide a plugin or extension system for third-party integrations
  • Deep-link to YouTube upload with prefilled metadata (limited support)

Value Proposition

  • Streamlines creator workflow
  • Reduces context switching
  • Improves adoption for content creators and educators
  • Makes Recorder more competitive with tools like Loom and OBS-based workflows

Volcomix added 30 commits July 12, 2023 16:22
* Bootstrap recording timer

* Extract math and format services

* Extract useStopWatch hook

* Stop relying on useEffect to start timer
* Bootstrap countdown animation

* Animate record icon on countdown end

* Animate text when changing number

* Fix Gilroy font misalignment

* Animate icon during the countdown

* Start recording after showing the countdown

* Fade in recording controls after countdown
* Replace company link with github link

* Fix border color on recording preview

* Remove unused components

* Extract GitHub button component
* Bootstrap README

* Add emojis to the features list

* Update web app link text

* Add an "how to use section"
addyosmani and others added 25 commits February 12, 2025 22:30
This change adds a new Teleprompter which displays as an overlay on the main screen. It supports adding and playing back a script during recording.
- Add TypeScript types for video metadata, upload progress, and API responses
- Implement Google Identity Services OAuth authentication
- Add resumable upload support with progress tracking
- Export all services through barrel file
- Store OAuth access tokens in localStorage
- Auto-clear expired tokens with 5 minute buffer
- Follow existing preference service pattern
- Provide isAuthenticated state and signIn/signOut methods
- Auto-initialize Google Identity Services on mount
- Check for existing valid tokens on load
- YouTubeMetadataForm: Title, description, and privacy selection
- UploadProgress: Progress bar with percentage display
- UploadComplete: Success state with links to video and YouTube Studio
- Add 'Upload to YouTube' button in recording complete modal
- Handle OAuth flow, MP4 conversion, and upload states
- Show metadata form after authentication
- Display progress during upload with error handling
- Register YouTubeProvider in app component tree
- Add TypeScript declarations for Google OAuth API
- Add VITE_GOOGLE_CLIENT_ID environment variable type
- Add .env.example with Google Client ID template
- Add comprehensive setup guide for Google Cloud configuration
- Include troubleshooting section and production deployment options
@netlify
Copy link
Copy Markdown

netlify bot commented Dec 18, 2025

Deploy Preview for my-recorder failed. Why did it fail? →

Name Link
🔨 Latest commit 8665a0e
🔍 Latest deploy log https://app.netlify.com/projects/my-recorder/deploys/6943fb1e179082000810198c

• Add .env.example with Google Client ID template

• Add comprehensive setup guide for Google Cloud configuration

• Include troubleshooting section and production deployment options
@JawadAlhindi JawadAlhindi force-pushed the feature/upload-to-youtube branch 2 times, most recently from c7867d6 to 8665a0e Compare December 18, 2025 13:01
@nycon57
Copy link
Copy Markdown

nycon57 commented Apr 10, 2026

Closing as not applicable to the current Tribora product direction. This PR (upload-to-youtube) is from the original 'recorder' base project before the fork into Tribora, which has pivoted to an AI-powered Knowledge Intelligence platform. Feel free to reopen if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants