Created by Kgthatso Thooe
Invest in open-source unicorns early. Seven Star Startup is a community-driven platform where corporate investors and individuals discover, evaluate, and fund promising open-source projects while they're still on GitHub.
Seven Star Startup transforms the way investors identify and support innovative open-source projects. The platform aggregates highly-starred repositories from GitHub, presents them in an interactive marketplace format, and enables investors to:
- Discover promising startups and tools across industries
- Evaluate projects with community ratings and GitHub metrics
- Support projects by starring and rating them on the platform
- Invest by contacting project maintainers through the platform
- Contribute custom repositories and video pitches
β¨ Marketplace - Browse open-source projects ranked by GitHub stars and community engagement
π Metrics Dashboard - Industry insights and portfolio performance tracking
π₯ Video Content - Upload project pitches and request custom video production
π Community Submissions - Add your own repositories to the marketplace
π·οΈ Smart Filtering - Discovery by industry, stars, and user ratings
πΎ Local Data Persistence - All data stored securely in JSON format
π¨ Professional UI - Clean, modern interface built with Streamlit
- Python 3.9+
- Git
- Clone the repository or navigate to the app directory:
cd main_repo/sevenStar_StartUp- Create a virtual environment (optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txtOption 1: Streamlit Run
streamlit run app.pyOption 2: Batch Script (Windows)
run_app.batOption 3: Shell Script (macOS/Linux)
bash run_app.shThe app will launch in your default browser at http://localhost:8501
- Check out the Marketplace tab to see repositories ranked by GitHub stars
- Filter by industry, minimum stars, and community ratings
- Use the search bar to find specific projects
- Click on any project card to view detailed metrics and learning resources
- Add projects to your portfolio using the β Add to portfolio button
- Rate projects on a 0-7 scale using the slider
- Ratings persist locally and help other investors make decisions
- Monitor industry coverage and repo distribution
- Track top-rated projects and community momentum
- Export data for investment analysis
- Use the Submit Repo tab to add your own open-source project
- Provide GitHub repo name, description, and industry tag
- Your repo will appear in the marketplace for other investors to discover
- Upload Video Content: Share project pitch videos (YouTube links or MP4 uploads)
- Request Video Production: Request custom video content creation for projects you're interested in
- Each repo includes recommended study materials
- Links to official documentation, tutorials, and domain knowledge resources
{
"repos": {
"repo-key": {
"id": "owner/repo",
"owner": "user",
"repo": "project",
"name": "owner/project",
"description": "Project description",
"github_url": "https://github.com/owner/project",
"industry": "AI/ML",
"stars": 15000,
"app_stars": 42,
"user_rating": 6.5,
"source": "seeded|user-submitted|community",
"manual_tags": ["tag1", "tag2"],
"created_at": "2025-01-15T10:30:00"
}
},
"video_uploads": [
{
"id": "video_1",
"project_name": "Project Name",
"presentor": "Team Name",
"youtube_url": "https://youtube.com/...",
"video_file": "path/to/file.mp4",
"thumbnail": "path/to/thumb.jpg",
"description": "Video description",
"created_at": "2025-01-15T10:30:00"
}
],
"video_requests": [
{
"id": "req_1",
"requester": "Name",
"email": "contact@example.com",
"target_repo": "owner/repo",
"requirements": "Video requirements",
"created_at": "2025-01-15T10:30:00"
}
]
}sevenStar_StartUp/
βββ app.py # Main Streamlit application
βββ README.md # Documentation (this file)
βββ requirements.txt # Python dependencies
βββ data/
β βββ database.json # Local data persistence
β βββ video_uploads/ # User-uploaded video files
β βββ video_requests/ # Video production requests
βββ .gitignore # Git ignore rules
Create a .env file in the app directory for custom configuration:
STREAMLIT_SERVER_PORT=8501
STREAMLIT_LOGGER_LEVEL=info
STREAMLIT_CLIENT_SHOW_ERROR_DETAILS=trueEdit the guess_industry() function in app.py to add or modify industry detection rules:
def guess_industry(name, description):
low = f"{name} {description}".lower()
if any(k in low for k in ['your', 'keywords']):
return 'Your Industry'
# ... more conditions- Industry Filter: Multi-select industries (AI/ML, Security, Cloud/DevOps, etc.)
- Star Filter: Minimum GitHub stars threshold
- Rating Filter: Minimum community rating (0-7)
- Search: Full-text search across repository names and descriptions
- Industry Distribution: Bar chart showing repo count by sector
- Top-Rated Projects: Table of highest-rated repositories
- Momentum Tracking: Projects with most platform stars
- Coverage Analysis: Identify gaps in industry representation
- YouTube Integration: Embed YouTube videos directly
- File Upload: Support for MP4, MOV, AVI formats
- Thumbnails: Custom preview images for videos
- Request Tracking: Manage video production inquiries
All data is stored in human-readable JSON format and can be:
- Backed up to external storage
- Imported to analysis tools
- Shared with team members
- Restored from backups
| Component | Technology |
|---|---|
| Frontend | Streamlit v1.0+ |
| Data | JSON (local file-based) |
| Python | 3.9+ |
| UI Components | Streamlit Extras |
| Data Analysis | Pandas |
| Environment | python-dotenv |
- Add a new tab: Create a new tab in the
tabs = st.tabs([...])section - Add data fields: Update the database schema in the tab logic
- Persist data: Ensure
save_db(data)is called after changes - Test locally: Run
streamlit run app.pyand verify functionality
Update the CSS in the st.markdown() style block:
st.markdown('''
<style>
/* Your custom CSS here */
body { background: linear-gradient(...) !important; }
.repo-card { /* card styling */ }
</style>
''', unsafe_allow_html=True)The app includes a 85-second inactivity timeout for auto-reload. Modify in auto_reload() function:
def auto_reload(timeout=85): # Change 85 to desired seconds
# ...The platform includes curated lists of open-source projects from:
starred_repos.txt- AI/ML and general tech projectsstarred_repos_2.txt- Security and DevOps toolsstarred_repos_3.txt- Creative and Web tools
Add new repositories to any of these files or use the Submit Repo form.
- Lower the minimum stars filter
- Try searching without filters
- Submit new repositories using the Submit Repo tab
- Ensure the video file is in a supported format (MP4, MOV, AVI)
- For large files, consider hosting on YouTube instead
- Check browser console for error messages
- Database.json is stored in
data/directory - Create regular backups of the
data/folder - JSON format allows easy transfer to backup systems
- Clear browser cache and refresh
- Reduce the number of visible repos using filters
- Monitor available disk space for video uploads
We welcome contributions! Please:
- Test your changes locally
- Ensure data persistence works correctly
- Follow the existing code style
- Update documentation if adding features
This project is open source and available under the MIT License.
Kgthatso Thooe
Seven Star Startup - Empowering investors to discover unicorns on GitHub
For questions, issues, or feature requests:
- Check the Tutorial tab in the app for usage help
- Review the data in
database.jsonfor debugging - Test functionality locally before deployment
Each repository in the marketplace includes:
- Links to official GitHub README
- Recommended YouTube tutorials
- Domain-specific learning paths
- Community knowledge graphs
Explore and learn from the projects that interest you most!
Last Updated: April 2026
Version: 1.0.0