A CLI tool for job seekers to track tech internships and new-grad positions. Data is sourced from the Summer2025-Internships and New-Grad-Positions repositories.
- Track both internships and new-grad positions
- Filter job postings by time (last day, week, or month)
- Filter job postings by locations
- View company name, job title, location, and application link
- Real-time data from GitHub repositories
- Local SQLite application tracker (
swelist tracker) - AI-powered interview prep via
swelist jobgpt
pip install swelistBasic usage:
# Show internship positions from last 24 hours (default)
swelist
# Show new-grad positions from last 24 hours
swelist --role newgrad
# Show internship positions from last week
swelist --role internship --timeframe lastweek
# Show internship positions for Toronto
swelist --role internship --location Toronto
# Show new-grad positions for last month for Boston and New York
swelist --role newgrad --timeframe lastmonth --location "Boston, New York"--role: Choose betweeninternship(default) ornewgradpositions--timeframe: Filter postings by time period:lastday(default),lastweek, orlastmonth--location: Filter locations by giving single location:Canadaor multiple locations"Boston, Toronto, New York"
Track job applications locally with SQLite — no account required:
# Initialize (once)
swelist tracker init
# Add applications
swelist tracker add "Amazon — SDE, AWS" --status "In progress" --job-id 10414382 --applied-on 2026-05-17
# Update status
swelist tracker update "Amazon — SDE, AWS" --status "Rejected"
# View all
swelist tracker list
swelist tracker list --status "In progress" --company amazon
# Export
swelist tracker export --format json
swelist tracker export --format csvswelist can be integrated into AI automation workflows to parse job postings and convert them to structured JSON:
import subprocess
import json
# Get job postings
output = subprocess.run(['swelist', '--role', 'internship'], capture_output=True, text=True)
# Parse into structured JSON
jobs = []
current_job = {}
for line in output.stdout.splitlines():
if line.startswith("Company:"):
current_job = {"company": line.split(":", 1)[1].strip()}
elif line.startswith("Title:"):
current_job["title"] = line.split(":", 1)[1].strip()
elif line.startswith("Location:"):
current_job["location"] = line.split(":", 1)[1].strip()
elif line.startswith("Link:"):
current_job["link"] = line.split(":", 1)[1].strip()
jobs.append(current_job)
print(json.dumps(jobs, indent=2))This enables use cases like:
- Automated daily job tracking agents
- Integration with AI writing assistants for application workflows
- Real-time job aggregation pipelines
Welcome to swelist.com
Last updated: Sun Feb 23 13:03:45 2025
Found 1227 tech internships from 2025Summer-Internships
Found 103 new-grad tech jobs from New-Grad-Positions
Sign-up below to receive updates when new internships/jobs are added
Found 15 postings in the last day:
Company: Example Tech
Title: Software Engineering Intern
Location: New York, NY
Link: https://example.com/apply
...
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License