Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JobPing

JobPing is a Chrome extension and backend that detects job postings on any website and saves them instantly with smart autofill, notifications, and an application-tracking dashboard.

Features

  • Universal job posting detection using structured data parsing (schema.org JSON-LD) and DOM heuristics — works across job boards and company career pages.
  • Quick-save workflow with smart auto-filled fields and dropdowns so users can save jobs with minimal typing.
  • Application tracker with a Kanban-style dashboard to manage application stages and progress.
  • Instant email notifications on save.
  • Optional follow-up reminders for saved applications.

Planned: SMS and WhatsApp notifications via Twilio (feature gated until credentials are provided).

Tech Stack

  • Chrome Extension (Manifest V3) built with Vite
  • Frontend: Vanilla JavaScript + Tailwind CSS (extension popup and content scripts)
  • Backend: Node.js + Express
  • Database: MongoDB
  • Email: Nodemailer (SMTP)
  • Hosting: Render

Project Structure

. 
├── backend/      # Express API, models, services (email/twilio), cron jobs
├── extension/    # Chrome extension source (Vite), public assets, built output at extension/dist
└── README.md
  • backend/ contains the API server, data models (User, Job), notification services, and deployment config.
  • extension/ contains the Vite-powered extension source. Run npm run build in this folder to produce extension/dist, which is what you load into Chrome.

Getting Started

Follow these steps to run the project locally.

Prerequisites

  • Node.js (recommended >= 18)
  • npm
  • MongoDB (Atlas or local)
  1. Backend
cd backend
cp .env.example .env
# Edit .env to provide values for:
# - MONGODB_URI
# - JWT_SECRET
# - SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, EMAIL_FROM (for email notifications)
npm install
npm start
  • The backend listens on PORT (defaults to 4000).
  • See backend/.env.example for the complete list of environment variables. Do not commit your .env file.
  1. Extension (build & load)
cd extension
npm install
npm run build
  • In Chrome, open chrome://extensions, enable Developer mode, click Load unpacked, and select the extension/dist folder.
  • Do not load the raw extension/src folder — always use the built dist output so the manifest and service worker are correct.

Roadmap

  • Enable SMS and WhatsApp notifications via Twilio (feature flagged so the system gracefully disables them until credentials are provided).
  • Polish the UI and accessibility of the extension popup and dashboard.
  • Publish the extension to the Chrome Web Store and add CI/CD for automated builds and releases.

License

This project is licensed under the MIT License.


If you'd like, I can add deployment instructions for Render or create a CONTRIBUTING guide next.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages