Follow these steps exactly to launch and grow this repository.
- Go to github.com/new
- Set the repository name to
python-30-days - Add description:
Complete Python course from zero to confident developer in 30 days. 30 lessons, 30 real projects, 300+ code examples. - Set visibility to Public
- Do NOT initialize with a README (you have one already)
- Click Create repository
# Inside the python-30-days folder
git init
git add .
git commit -m "feat: initial release — 30-day Python course"
git branch -M main
git remote add origin https://github.com/YOUR_USERNAME/python-30-days.git
git push -u origin mainAfter pushing, go to the repository settings on GitHub:
Topics (add all of these):
python, python3, python-tutorial, learn-python, programming,
beginner-python, python-course, coding, software-development,
education, tutorial, open-source, 30-days, projects
Social Preview:
- Go to Settings → General → Social preview
- Upload the
assets/banner.svg(convert to PNG first if needed)
Website:
- Add your GitHub Pages URL or leave it as the repo URL
- Go to Settings → Pages
- Source: Deploy from branch
- Branch:
main, folder:/(root) - Save
This gives you a URL like https://yourusername.github.io/python-30-days/
On your GitHub profile:
- Click "Customize your pins"
- Select
python-30-days - This puts it front and center on your profile
- Descriptive repository name with keywords
- Clear one-line description with keywords
- 14 relevant topics/tags added
- Professional README with badges
- Table of contents for navigation
- Screenshots/visual assets (banner SVG)
- LICENSE file (MIT)
- CONTRIBUTING.md
- Issue templates
- CI/CD workflow (GitHub Actions)
After launch, share to these platforms for initial momentum:
Reddit:
- r/learnpython — "I built a free 30-day Python course on GitHub"
- r/Python — Same post, different angle on the project structure
- r/programming — Focus on the curriculum design
Dev.to / Hashnode:
- Write a blog post: "I created a free 30-day Python course — here's what I learned"
- Link back to the repo
Twitter/X:
- "Just released a free 30-day Python course on GitHub. 30 projects, 300+ examples, completely open source. Link 👇"
- Use hashtags: #Python #LearnPython #OpenSource #100DaysOfCode
LinkedIn:
- Post a professional announcement
- Tag it as an "open source project"
For sustained growth:
- Respond to issues within 48 hours
- Merge good PRs and thank contributors
- Add a
CHANGELOG.mdas you update content - Create GitHub Releases for major content additions
- Enable Discussions for community Q&A
| Week | Expected Stars | Notes |
|---|---|---|
| 1 | 10-50 | From direct sharing |
| 2-4 | 50-200 | Reddit/community posts |
| 1-3 months | 200-1000 | Organic search + social |
| 6+ months | 1000+ | GitHub trending + backlinks |
Run these checks monthly:
# Verify all Python files are syntactically valid
find days -name "*.py" -exec python3 -m py_compile {} \; && echo "All OK"
# Check for TODO items in code
grep -r "TODO" days/ --include="*.py"
# List files missing a solution.py
for d in days/day-*/; do
[ -f "$d/project/solution.py" ] || echo "MISSING: $d/project/solution.py"
done