OSC-Coach
The Problem
First-time contributors struggle to make their first open source contribution. They don't know where to start, what repositories accept beginners, or how to structure a pull request. This barrier prevents talented developers from entering the open source ecosystem.
My Approach
Built a Streamlit web application that provides:
- Curated practice questions organized by difficulty and topic
- Real-time filtering using Pandas for personalized learning paths
- SQLite database for persistent user progress tracking
- Step-by-step guides for submitting quality pull requests
- Links to beginner-friendly repositories actively seeking contributors
Technical Implementation
The application uses Streamlit for the frontend, providing an interactive interface without requiring JavaScript. Pandas handles all data filtering and transformation—users can filter by programming language, difficulty level, and contribution type in real-time.
SQLite stores user progress persistently, allowing students to track which questions they've completed and resume from where they left off. The database schema is simple but effective: users, questions, and progress tables with proper foreign key relationships.
Deployed as a web application accessible to students across multiple universities. The lightweight architecture means fast load times and minimal hosting costs.
What I Learned
- User-centric design: Iterated based on feedback from actual users, not my assumptions about what they needed
- Database design: Learned to normalize schemas properly and write efficient SQLite queries
- Data processing: Became proficient with Pandas operations—filtering, grouping, and transforming data efficiently
- Deployment considerations: Managed state in a web application and handled concurrent user sessions
Impact
Secured second runners-up position at UIU CSE Project Showcase among 19 competing projects. Currently used by students at United International University to prepare for their first open source contributions.