Skip to content

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 and additional sources hourly, using bulk upserts to keep the database fresh without downtime
  2. Backend — FastAPI serves the data with rate limiting and input validation, hosted on Render
  3. Frontend — React/TypeScript dashboard with live search, sorting, and a drag-and-drop Kanban tracker
  4. AI Agents — Claude Code, opencode, or Hermes authenticate with a per-user key generated under Settings → AI Agents. Agents can search internships, read your synced resume and tracker, and propose tracker changes you approve in the overlay
  5. Infrastructure — Backend hosted on Render, frontend on Vercel, database on Supabase PostgreSQL, with Supabase Auth + Storage for user accounts and resume cloud sync

Features

Job Board Thousands 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
User Accounts Sign in with Supabase; agent keys and cloud-synced resumes are tied to your account
AI Agents Per-user keys for CLI agents — search, read your tracker + resume, propose tracker edits you approve
Resume Cloud Sync Keep your resume in your account so your agents can reference it

Coming soon: AI resume grader, resource hub


Tech Stack

Scraper Python, BeautifulSoup4, APScheduler, psycopg2
Database PostgreSQL (Supabase)
Backend FastAPI, Uvicorn, SlowAPI
Frontend React, TypeScript, Vite, Mantine UI, @dnd-kit
Auth & Storage Supabase Auth (accounts), Supabase Storage (resume sync), RLS-protected tracker
Agent Bridge FastAPI `/agent/*` endpoints, per-user agent keys, proposal review
Infrastructure Render (backend), Vercel (frontend), Supabase (database), Cloudflare (DNS)

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

About

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

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages