Note
I am not actively applying for jobs with this app, but it was a fun project to build for my class.
Quick Apply is a job search and application tracker. It uses JobSpy to collect job listings, stores them in PostgreSQL, and gives users a simple dashboard to review jobs, create applications, and track status changes.
- JobSpy for job scraping.
- Scrape jobs from supported JobSpy sources such as Indeed and LinkedIn.
- Store jobs with duplicate protection by job URL and source job ID.
- Browse, filter, create, edit, and delete job records.
- Create applications from jobs and track statuses like applied, interviewing, offer, or rejected.
- Track source search coverage by source, search term, location, date range, and offset.
- Backend: Python, FastAPI, SQLAlchemy, Alembic
- Frontend: Next.js, React, TypeScript, Tailwind CSS, DaisyUI
- Database: PostgreSQL, tested with Neon
- Scraping: JobSpy
backend/- FastAPI API, models, migrations, services, and repositories.frontend/- Next.js dashboard UI.assets/- screenshots used for project presentation and README visuals.database/- standalone SQL schema, sample data, and query reference files.
Create backend/.env:
DATABASE_URL=postgresql://USER:PASSWORD@HOST/DB?sslmode=requireStart the backend:
cd backend
pip install -r requirements.txt
alembic upgrade head
python -m uvicorn app.main:app --reloadAPI: http://127.0.0.1:8000
Create frontend/.env.local if needed:
NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:8000Start the frontend:
cd frontend
npm install
npm run devApp: http://localhost:3000
cd backend
python -m unittest discover testscd frontend
npm run lint
npm run build



