Skip to content

Repository files navigation

JobSprint

JobSprint is a job-search execution OS for solo operators. It replaces the spreadsheet/browser-tabs/email-thread patchwork with a software-grade production system that lets you run your search like a measurable pipeline.

What It Does

ModuleWhat you do there
Source HubTrack job boards and company career pages; manage saved searches
CompaniesBuild your target company list; import via CSV
RolesManage open role opportunities linked to companies
ApplicationsLog applications with status, CV used, and next action
OutreachTrack recruiter and direct outreach messages
CV Assets VaultStore CV text snapshots, scripts, and templates; link to applications
CV OptimizerTailor your CV to a specific role using AI (optional OpenAI key)
Command CentreDaily view: most urgent next actions, pipeline snapshot, probability engine
AnalyticsFunnel conversion, application rate, and offer probability trends
AfA ComplianceTrack Arbeitsförderungsgesetz application obligations (German job-seekers)

Who It Is For

A single job-search operator — typically a product manager, TPM, or implementation specialist — who wants to run a structured search with visible pipeline metrics and daily execution focus.

Current Status

Tech Stack

ConcernChoice
BundlerVite
UIReact 18 + TypeScript
StylingTailwind CSS v4 + Radix UI
RoutingReact Router v7
PersistenceFirebase Firestore (primary) / localStorage (fallback)
AuthFirebase email/password (primary) / local email session (fallback)
TestingVitest (unit) + Playwright (E2E)
CIGitHub Actions
HostingVercel

Setup

npm install
npm run dev # start dev server on http://localhost:5173
npm run lint # must exit 0 before any commit
npm run build # must pass before any commit
npm run test# Vitest unit tests
npm run test:e2e # Playwright E2E (requires a running build: npm run preview)

Environment Variables

Copy .env.example to .env and fill in:

VITE_FIREBASE_API_KEY=...
VITE_FIREBASE_AUTH_DOMAIN=...
VITE_FIREBASE_PROJECT_ID=...
VITE_FIREBASE_STORAGE_BUCKET=...
VITE_FIREBASE_MESSAGING_SENDER_ID=...
VITE_FIREBASE_APP_ID=...

Without Firebase vars the app runs in local-session mode (localStorage only, no cross-device sync).

Live CV Tailoring (optional)

To enable AI-powered CV rewriting:

cp .env.server.example .env.server
# set OPENAI_API_KEY in .env.server
npm run dev:api # starts Express server on port 8787

Then in .env:

VITE_JSPRINT_REMOTE_API_URL=http://localhost:8787

See docs/CV_TAILORING_API.md for the full API contract.

Branch Policy

  • main is the canonical production branch
  • Feature branches: feat/{issue-number}-short-slug
  • Fix branches: fix/{issue-number}-short-slug
  • One issue = one branch = one PR
  • All PRs require npm run lint && npm run build to pass
  • Direct pushes to main are not allowed

See CLAUDE.md and CONTRIBUTING.md for full governance rules.

Case Study

Problem: Running a serious job search is a full-time operational problem. Most candidates track across a mix of spreadsheets, LinkedIn saved jobs, browser tabs, and email threads. There is no single place to see which companies are in-flight, what the next action is, what the interview conversion rate looks like, or whether the current pace will produce an offer.

Solution: JobSprint replaces that patchwork with a software-grade execution system: a Source Hub that anchors the top of the funnel, a Command Centre that surfaces the three most urgent actions every day, a probability engine that models offer likelihood from actual funnel data, a CV tailoring workflow, and an AfA compliance module for German job-seekers.

Live demo:https://job-sprint-ten.vercel.app/

Walkthrough:(Loom walkthrough coming soon)

DecisionRationale
Vite + React 18 + TypeScriptFast feedback; type safety across a growing codebase
Tailwind v4 + Radix UINo duplicate styling systems; accessible primitives
Firebase Auth + FirestoreZero-ops persistence; localStorage fallback for offline
Pure-TS next-action engineDeterministic, testable scoring without a backend round-trip
Source Hub as top-of-funnelAnchors the search to a manageable set of vetted sources

Screenshots

Dashboard

JobSprint Dashboard

Analytics

JobSprint Analytics

Documentation

About

Job search operating system for structured application tracking, outreach, and role prioritization.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages