An all-in-one toolkit that automates the tedious, repetitive parts of running a YouTube channel — so creators can spend more time actually making videos.
Built for the YouTube Automation Hackathon.
🔗 Live demo: add your Render URL here after deploying (see below) 📦 Source: https://github.com/kingxjayant/creator-copilot
This app is a plain Flask app served with gunicorn in production, so it deploys cleanly to any free Python host. The repo already includes a render.yaml for one-click deploy on Render:
- Push this repo to your own GitHub account (already done if you're reading this on GitHub).
- Go to render.com → sign up (free, GitHub login works) → New + → Blueprint.
- Connect your GitHub account and pick the
creator-copilotrepo. Render will detectrender.yamlautomatically and pre-fill the build/start commands. - Click Apply / Create. First deploy takes ~2-3 minutes.
- You'll get a public URL like
https://creator-copilot-xxxx.onrender.com— open it on any device, no login needed.
(Free-tier Render apps sleep after 15 minutes of inactivity and take ~30-50s to wake back up on the first request — this is normal and not a bug in the app.)
If you'd rather run it without Render, gunicorn app.main:app --bind 0.0.0.0:$PORT works on Railway, Fly.io, PythonAnywhere, or any other Python host too.
Every YouTube creator, from a first-time uploader to a full-time channel owner, spends a huge chunk of their time on work that isn't actually making videos:
- Staring at a blank box trying to write a title, description, and 20 tags
- Manually designing a thumbnail in Photoshop/Canva for every single upload
- Reading through hundreds of comments to find the handful of genuine questions worth replying to, buried among spam and trolls
- Squinting at a spreadsheet of view/like/comment numbers trying to figure out what's actually working
None of this is hard, exactly — it's just slow, repetitive, and pulls time away from content itself.
A single web app with four independent tools, each solving one of the pain points above:
| Tool | Input | Output |
|---|---|---|
| 📝 Title & Description Generator | A transcript or rough summary of your video | 5 title options, a full SEO-optimized description, and 15-20 tags |
| 🖼️ Thumbnail Maker | Any photo/video frame + a headline | A properly-sized (1280×720) thumbnail with bold, high-contrast overlay text, generated instantly |
| 💬 Comment Moderator | A batch of raw comments (one per line) | Each comment sorted into Spam / Toxic / Genuine, with drafted replies for real questions |
| 📊 Analytics Insights | Video stats copy-pasted from YouTube Studio | Plain-English findings: top performers, underperformers, and specific growth advice |
Every one of the four tools is backed by a genuinely useful rule-based engine that runs with zero configuration and zero API cost:
- The metadata generator uses real NLP techniques (bigram frequency extraction with stopword filtering) to pull out the actual subject of a transcript, not just generic filler.
- The thumbnail maker is pure image processing (Pillow) — no AI needed at all, since deterministic, fast, and free is better here than an AI image call.
- The comment moderator uses pattern-based classification for spam/toxicity that catches the vast majority of real-world cases.
- The analytics tool does real statistics (median, engagement rate, outlier detection) on your actual numbers.
If you add an OPENAI_API_KEY, three of the four tools (metadata, comment replies, analytics advice) automatically upgrade to use GPT for noticeably higher-quality, more tailored output — but nothing ever breaks or shows an error if you don't have a key. This was a deliberate choice so that anyone judging or trying this project can clone it and see it fully working in under a minute, without needing to pay for or configure anything.
- Backend: Python + Flask
- Image processing: Pillow (thumbnail generation, text overlay, auto-contrast)
- AI (optional): OpenAI API (
gpt-4o-miniby default, configurable) - Frontend: Vanilla HTML/CSS/JS (no build step, no framework — keeps the project trivially easy to run)
- Tests: pytest, 20 tests covering every route and core algorithm
git clone <this-repo>
cd creator-copilot
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python3 -m app.main
# → open http://localhost:5000That's it — every feature works immediately with no further setup.
Fastest way to see it working: every tab has a "Try with sample data" button — click it, then click the tool's main action button. You'll see real output in seconds without needing your own transcript, comments, image, or stats export.
cp .env.example .env
# edit .env and paste your OpenAI API key
export $(cat .env | xargs) # or use python-dotenv / your shell's preferred method
python3 -m app.mainThe homepage shows a badge indicating whether AI mode is currently active.
pip install -r requirements.txt # includes pytest
python3 -m pytest tests/ -vAll 20 tests should pass in well under a second — they run entirely against Flask's in-memory test client, no live server or network access required.
creator-copilot/
├── app/
│ ├── main.py # Flask app + all routes
│ ├── ai_client.py # OpenAI wrapper with graceful fallback
│ ├── metadata_generator.py # Feature 1: titles/description/tags
│ ├── thumbnail_generator.py # Feature 2: thumbnail image generation
│ ├── comment_moderator.py # Feature 3: comment classification + replies
│ └── analytics_insights.py # Feature 4: stats parsing + insights
├── templates/index.html # Single-page frontend
├── static/style.css, app.js
├── tests/test_app.py # 17 tests, route + unit level
├── requirements.txt
└── .env.example
- Real YouTube Data API integration to pull a creator's actual channel stats automatically instead of copy-pasting
- Batch thumbnail generation from multiple video frames at once, auto-picking the highest-contrast frame
- A/B title testing tracker that remembers which generated title a creator picked and correlates it with eventual performance
- Browser extension version that overlays suggestions directly inside YouTube Studio
Python, Flask, Pillow, OpenAI API, vanilla JS/CSS, pytest.