Skip to content

KSaifStack/SearchTern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SearchTern

Find and track internships without the chaos.searchtern.ksaif.dev

Python FastAPI React PostgreSQL License


image

What it does

Most CS students end up sending 500+ applications across a dozen job boards with no real system for tracking any of it. SearchTern pulls the latest internships automatically every hour and gives you a single place to browse, search, and manage your pipeline.


How it works

  1. Scraper — APScheduler pulls from the Simplify repo hourly and stores results in a PostgreSQL database
  2. Backend — FastAPI serves the data with rate limiting and input validation
  3. Frontend — React/TypeScript dashboard with live search, sorting, and a drag-and-drop Kanban tracker
  4. Infrastructure — Self-hosted on a Fedora Linux server using Systemd services, routed securely via a Cloudflare Tunnel

Features

Job Board Hundreds of internships, refreshed hourly
Search & Filter Filter by company, role, or location
Application Tracker Drag-and-drop Kanban across Saved → Applied → Interview → Offer → Rejected
Analytics Reply rate, offer count, rejection breakdown
Saved Jobs Bookmark from the board, sync to your tracker
CSV Export Export your full pipeline, Excel-compatible

Coming soon: AI resume grader, resource hub, user accounts


Tech Stack

Scraper Python, BeautifulSoup4, APScheduler
Database PostgreSQL
Backend FastAPI, Uvicorn, SlowAPI
Frontend React, TypeScript, Vite, Mantine UI, @dnd-kit
Infrastructure Fedora Server, Systemd, Cloudflare Tunnels, Vercel

Developers: For setup, build, and local development instructions, please see dev.md.

About

Automated internship aggregator for college students. Scrapes 600+ listings hourly, with search, sorting, and a drag-and-drop application tracker.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors