SWECC Labs offers students practical software engineering experience through guided open-source contributions. We provide structured mentorship and real projects to help you build meaningful technical skills that will enhance your resume and prepare you for industry roles.
Traditional personal projects can be challenging to start and may not provide the depth of experience employers look for. SWECC Labs addresses these challenges by offering:
- Mentorship: Learn from engineers who can guide your technical growth
- Guided Best Practices: Build strong technical foundations from day one, even as a beginner
- Immediate Impact: Start making meaningful contributions quickly. Days not months
- Public Portfolio: Showcase your work through public contributions that demonstrate your skills
-
Join Us: Fill out our New Contributor Form to receive:
- GitHub organization invitation
new-contributor
Discord role- Welcome email with program details
-
First Contribution: Get started by submitting a PR to add yourself as a contributor to the site.
- Add yourself to the
data/contributors.json
file
{ "name": "Your Name", "github": "your-github-username", "photo": "path-to-your-photo" }
- Add your photo to the
assets/img
folder and update thedata/contributors.json
file with the path to your photo - Add your name to the
CONTRIBUTORS.txt
file - Submit the PR and wait for it to be approved. As we approve PRs, we will also reach out to you on Discord.
- Add yourself to the
-
Find Your Project: Once approved as a contributor:
- Browse open issues
- Comment on ones that interest you
- Get assigned and start coding
- Suggest new issues if you have ideas
-
Contribute:
- Work on your assigned issues
- Submit PRs for review
-
Grow:
- Receive feedback from code reviews
- Improve your skills
- Take on more challenging projects
SWECC Labs is designed to be:
- Flexible: Contribute at your own pace - no minimum time commitment
- Supportive: Access mentorship and resources when you need them
- Impactful: Work on meaningful projects that look great on your resume
We look for contributors who are:
- Self-Driven: Take initiative in learning and problem-solving while using available resources
- Collaborative: Engage with mentors and fellow contributors through questions and discussion
- Reliable: Maintain clear communication about your progress on assigned issues, and proactively seek help when needed
A tool to scrape a certain website's API for personal usage. Users can gather course metadata and prerequisites to be used programmatically elsewhere.
Skills: Python, Automation, APIs, Web Scraping, Selenium
repo: https://github.com/swecc-uw/swecc-course-scraper
Email data is readily available, but hard to work with. We are creating a framework for analyzing email data, with the goal in mind of automatically gathering recruiting statistics.
Skills: Python, Data Analysis/Visualization, Parsing, Natural Language Processing
repo: https://github.com/swecc-uw/swecc-email-scraper
This very repo accepts contributions! Help make SWECC Labs better by contributing!
Skills: HTML/CSS/JS, technical writing/documentation, Abusing the GitHub API
repo: https://github.com/swecc-uw/swecc-email-scraper
A CLI email sending tool. Users can craft and send template emails in bulk!
Skills: Python, technical writing/documentation
repo: https://github.com/swecc-uw/swecc-email-sender
A lightweight metric collection tool for any Docker cluster. This project aims to provide a simple and efficient way to gather and visualize metrics from Docker containers, helping developers monitor and optimize their applications.
Skills: Docker, FastAPI, technical writing/documentation
repo: https://github.com/swecc-uw/swecc-chronos
Have a great idea for a piece of open source software? Let us know!
- Easy to operate fully open source
- Self-contained, with minimal external dependencies
- Does something new and useful
- Libraries
- CLI utilities
- Modules to extend existing frameworks/libraries
- Implementing novel/niche data structures
- Creating boilerplate to integrate with sources of data
- Client-side web applications (localStorage/files only for persistence)
- Building on top of existing SWECC ecosystem/available data
While we won't have the capacity to facilitate and maintain all projects, we are open to new ideas.