Commit Graph
65 Commits
Author SHA1 Message Date
Shaheer Sarfaraz a409aa5ee0 Live scraping updates in pipeline UI (#100)
* initial commit

* fix clear script

* cancelling pipelines

* formatting
2026-02-07 22:44:00 +00:00
Shaheer Sarfaraz 60788b0f6a modal to configure pipeline settings on pipeline runs (#99)
* feat(orchestrator): add unified run modal shell with Automatic/Manual tabs

* feat(orchestrator): implement Automatic tab presets, estimate, and save+run flow

* refactor(manual-import): reuse manual import flow inside unified run modal

* refactor(settings): move pipeline tuning out of settings page into run modal

* stage 5

* jobs per term simplified

* copy improvement

* pill input

* better UI

* style(orchestrator): align run settings inputs on one row

* style(orchestrator): remove hover and pointer affordance from term pills

* style(orchestrator): restore hover and pointer affordance for term pills

* style(orchestrator): make search term pill hover more prominent

* better hover

* refactor(orchestrator): use react-hook-form in automatic run panel

* formatting

* fix(orchestrator): resolve biome issues in automatic run modal

* better copy

* feat(orchestrator): auto-select custom preset on manual config changes

* remove badge

* feat(orchestrator): redesign automatic run panel with collapsible advanced settings

* refactor(orchestrator): move estimate summary to footer and dedupe sources

* style(orchestrator): separate search term input from term pills

* style(orchestrator): remove save preset action from automatic footer

* ux(orchestrator): make entire search term pill tap-to-remove

* remove badge

* remove badge

* fix(orchestrator): return zero estimate when search terms are empty
2026-02-07 21:48:44 +00:00
Shaheer Sarfaraz a45cb0a724 change demo mode pdfs (#96) 2026-02-07 15:51:20 +00:00
Shaheer Sarfaraz cfabee5f45 Select multiple jobs for bulk actions (#94)
* Initial implementation

* UI

* UI

* floating bar animations

* UI and split up orchestrator page

* remove bulk action hint

* UI

* UI

* formatting

* fix lint

* enforce max actions
2026-02-07 14:39:49 +00:00
Shaheer Sarfaraz 0e6f0bcf88 Inputs getting unset fix (#91)
* codex 5.3 one shot

* prevent cursor changing position
2026-02-05 19:43:10 +00:00
Shaheer Sarfaraz 6353a23f6f Small wins style tickets (#88)
* wrap text

* version check!

* initial commit for "remove below score" in pipeline, or manually

* comments
2026-02-05 19:17:14 +00:00
Shaheer Sarfaraz c4749b4211 feat: opinionated public DEMO_MODE with simulated/blocked actions, resets, and demo toasts (#87)
* feat(demo): add DEMO_MODE runtime helpers and /api/demo/info endpoint

* feat(demo): enforce simulated and blocked API actions under DEMO_MODE

* feat(demo): add deterministic seed dataset and 6-hour auto-reset

* feat(demo-ui): add demo banner and custom sonner toasts for simulated/blocked actions

* test+docs(demo): add demo mode coverage, behavior matrix, and operator docs

* formatting

* tests

* feat(demo): seed resets from typed baseline defaults

* formatting

* feat(demo): enrich baseline seed data and demo project catalog

* feat(demo): expand seeded applications and chart time ranges

* refactor(demo): split demo seed data from generation logic

* feat(demo): cap generated application history to 30 days

* feat(demo): rebalance generated job status distribution

* feat(demo-ui): make demo banner fixed and topmost

* minor fixes

* formatting

* duration revert

* durations

* feat(demo): share demo info hook, brighten demo toasts, and enforce webhook auth

* comment explaning

* formatting

* comments

* deadline builder comment
2026-02-05 16:04:04 +00:00
Shaheer Sarfaraz 16a8f1d15a Use logger! add shim to convert backend responses to same format (#84)
* chore(orchestrator): add @infra import alias

* feat(server): add error/http/context/logger/sanitize infrastructure

* refactor(core): propagate request context, structured logs, and sanitization

* test/docs: update API contract assertions and contributor standards

* all pages working

* normalizing
2026-02-04 23:07:24 +00:00
Shaheer Sarfaraz 82b261c7bc Refactor LLM service into modular adapters and policies (#83)
* llm migration

* orchestrator runer

* Decompose runPipeline steps

* dedupe

* refactor(settings): unify settings conversion metadata and round-trip tests

* refactor(llm): extract shared provider strategy factory

* refactor(settings-ui): add reusable numeric setting section

* test(orchestrator): stabilize usePipelineSources localStorage setup

* comments
2026-02-04 21:48:28 +00:00
Shaheer Sarfaraz b94f85b149 Reduce low risk duplication (#79)
* clean up helpers

* shared in it's own top level folder

* workspaces setup

* build fix

* disable workspaces?

* run ci

* rename job-flow to gradcracker

* optional dependencies

* formatting?

* more optional modules

* allow post install runs

* node bump

* remove post install

* add optionals

* add more

* formatting

* comments, but im unsure

* run typescript DIRECTLY

* better build

* camoufox simplification

* lint

* build process doesn't exist

* build fix

* lockfile

* type check everything, build only for client

* rename steps correctly

* import from package!

* fix formatting

* don't fetch twice

* fix concern
2026-02-02 21:30:14 +00:00
Shaheer Sarfaraz 179deffe13 Database backups (#75)
* initial commit

* test fix

* manual test

* copilot comments

* code quality skill

* comments

* fix types problem

* formatting

* tests now correct for new backup method

* UTC dates
2026-02-02 00:07:39 +00:00
Shaheer Sarfaraz 2841a7fe3a Add Star History section to README
Added a Star History section with responsive images.
2026-02-01 13:51:20 +00:00
Shaheer Sarfaraz b02dac5fe8 Fix for level 1 being added to skills (#73)
* single commit fix!

* fix tests!
2026-01-31 23:20:05 +00:00
Shaheer Sarfaraz 3be0d25c87 Starting work on Dashboard! (#65)
* initial commit

* fix build issues and configurable time duration

* show in nav

* Positive response rate by posting freshness

* load today's jobs for charts

* fix infinite refetching with onboarding gate

* application to response rate

* refactor charts to their own directory

* bar hover color

* Duration selector embedded in navbar

* always load env

* remove warning about low conversion rate

* trend graph for applications per day

* better copy

* remove freshness response chart

* bottom line chart color and tooltip improved

* introduce check all command

* fix lint

* tests added and CI passing
2026-01-30 11:40:17 +00:00
Shaheer Sarfaraz b4641ad9cb Customise llm base url (#68)
* backend initial commit

* frontend initial commit

* better copy

* make lmstudio work

* enum of providers

* better error messages

* llm model settings stay in one place

* llm settings should be under the model accordion

* skip llm key step in onboarding if provider is set to local

* onboarding now factors in new llm provider flow

* fix tests

* fix typecheck
2026-01-29 16:20:12 +00:00
Shaheer SarfarazandCopilot 6e771ce728 Timeline introduced (#38)
* initial implementation

* onboarding doesn't pop until invalid values are present

* link to job page

* proactive inputs working slightly

* onboarding gate reinstated

* better proactive buttons

* fully manual tracking for now.

* edit and delete timeline events

* status showing correctly

* tests update

* tests

* Update orchestrator/src/server/services/applicationTracking.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/server/services/applicationTracking.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/server/services/applicationTracking.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/client/pages/job/Timeline.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/client/pages/JobPage.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add tests for application tracking routes and remove unused actionId from client API

* remove unnecessary await from synchronous transitionStage calls and improve test isolation

* relax externalUrl validation to allow non-URL metadata

* add toast notifications for data loading and event logging in JobPage

* comments

* fix: resolve type error in sponsor-matching.test.ts

* fix ci

* tests fix for github

* lint

* github comments

* build fix

* dedupe

* format

* types fix

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* formatting

* title and group id are discrete fields

* backfill

* hide view button on page

* show relevant dropdown options

* confetti!

* remove redundant

* confirm delete is a custom element now

* formatting

* fix styling

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-27 23:49:11 +00:00
Shaheer Sarfaraz ad6a79e74f Update issue templates 2026-01-27 17:55:44 +00:00
Shaheer Sarfaraz 33ab3595ae Merge pull request #62 from DaKheera47/app-crash-when-asking-for-base-id-in-onboarding
App crash when asking for base id in onboarding
2026-01-27 15:15:34 +00:00
Shaheer Sarfaraz f92cdbf0df Merge pull request #49 from DaKheera47/formatting-on-push
- don't run docker image build for every PR
- Automated Linting: Uses Biome to ensure code quality and consistency across the repository.
- Test Orchestration: Executes unit tests for the orchestrator service using Vitest.
- Parallel Build Verification: Implements a matrix build strategy to verify orchestrator and extractors simultaneously, reducing total CI runtime.
- Optimized Resource Usage:
    - Concurrency Control: Automatically cancels outdated runs when new commits are pushed.
    - Selective Script Execution: Skips heavy binary downloads (Camoufox) during extractor builds to speed up verification.
    - Granular Caching: Configures project-specific dependency caching for faster installation.
2026-01-26 11:12:04 +00:00
Shaheer Sarfaraz 3c710f28c2 Merge pull request #46 from DaKheera47/jobspy-valid-countries-dropdown
Valid countries for the JobSpy scraper is a list now
2026-01-25 12:25:38 +00:00
Shaheer Sarfaraz 63b67baacf Merge pull request #36 from DaKheera47/copilot/update-ukvisajobs-search-copy
Clarify UK Visa Jobs search limitation to job titles only
2026-01-25 12:07:31 +00:00
Shaheer Sarfaraz e3e70f5b60 Merge pull request #45 from DaKheera47/rerun-fit-assessment-and-scoring
Rerun fit assessment and scoring
2026-01-25 12:06:29 +00:00
Shaheer Sarfaraz 062f5cf070 Add GitHub Actions workflow for GHCR
This workflow builds and pushes Docker images to GitHub Container Registry (GHCR) for tagged releases and pull requests.
2026-01-25 10:59:43 +00:00
Shaheer Sarfaraz a2114cc454 Merge pull request #30 from anasyd/main
feat: add option to fetch from a link
2026-01-24 13:47:32 +00:00
Shaheer Sarfaraz f15ecd3f5f Merge pull request #29 from DaKheera47/show-enabled-extractors-in-the-ui
Show enabled extractors in the UI
2026-01-23 13:52:45 +00:00
Shaheer Sarfaraz 88db086d86 API implementation for Reactive Resume
Merge pull request #10 from DaKheera47/reactive-resume-v5
2026-01-23 12:42:32 +00:00
Shaheer SarfarazandCopilot 852e2ff6fc Update orchestrator/src/server/api/routes/profile.test.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-23 12:36:25 +00:00
Shaheer SarfarazandCopilot 442e600b58 Update orchestrator/src/client/pages/settings/components/ReactiveResumeSection.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-23 12:36:07 +00:00
Shaheer Sarfaraz b24b11b0d3 Add contact section for user support
Added a contact section for user assistance and included a link to open issues.
2026-01-23 00:10:13 +00:00
Shaheer Sarfaraz 54a3c8821d Update README to clarify dashboard access command 2026-01-22 23:36:30 +00:00
Shaheer Sarfaraz 34ef2f8902 Revise Quick Start instructions in README
Updated the Quick Start section for clarity and accuracy.
2026-01-22 23:35:45 +00:00
Shaheer Sarfaraz d58dcbb441 Merge pull request #20 from DaKheera47/user-onboarding
User onboarding UI
2026-01-22 22:05:31 +00:00
Shaheer SarfarazandCopilot 91ba0c9fbb Update orchestrator/src/client/components/OnboardingGate.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-22 21:46:01 +00:00
Shaheer SarfarazandCopilot a864fbba2e Update orchestrator/src/shared/rxresume-schema.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-22 21:45:49 +00:00
Shaheer Sarfaraz 03649f3d17 Merge pull request #19 from anasyd/fix-improve-LLM-API-validation
Fix PDF generation failures from malformed AI responses
2026-01-22 20:33:34 +00:00
Shaheer Sarfaraz 1ca459ec34 Merge pull request #18 from DaKheera47/env-to-ui
Env in UI
2026-01-22 16:57:04 +00:00
Shaheer SarfarazandCopilot 6913607eef typo fix
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-22 16:25:52 +00:00
Shaheer Sarfaraz 01c97ec59d add star history chart to readme 2026-01-22 10:02:45 +00:00
Shaheer Sarfaraz 8de55e5b10 Analytics note 2026-01-21 22:14:39 +00:00
Shaheer Sarfaraz b4d60549c5 Merge pull request #15 from DaKheera47/settings-page-refactor
Settings page refactor
2026-01-21 21:46:53 +00:00
Shaheer SarfarazandCopilot b4476d1334 Update orchestrator/src/client/pages/settings/components/ResumeProjectsSection.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-21 21:28:53 +00:00
Shaheer Sarfaraz a4ed912de1 Merge pull request #14 from DaKheera47/self-hosting-improvement
Self hosting improvement
2026-01-21 16:43:18 +00:00
Shaheer Sarfaraz 5ac6ca3b24 Merge pull request #12 from DaKheera47/show-sponsor-information-in-ui
Show sponsor information in UI
2026-01-20 23:38:27 +00:00
Shaheer SarfarazandCopilot 2d0d91cd2e Update orchestrator/src/client/pages/settings/components/DisplaySettingsSection.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 23:32:35 +00:00
Shaheer SarfarazandCopilot ba27eb07b1 remove redundant check
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 23:19:03 +00:00
Shaheer SarfarazandCopilot dd03eed0fb unused import
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 23:18:08 +00:00
Shaheer SarfarazandCopilot 0ec707143a unused import
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 23:18:00 +00:00
Shaheer SarfarazandCopilot af2ee1fa9c unused import
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 23:17:48 +00:00
Shaheer SarfarazandCopilot 53e16013a8 unused import
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 23:17:41 +00:00
Shaheer Sarfaraz 97984be84f Merge pull request #9 from DaKheera47/refactoring-large-files
Refactoring large files
2026-01-20 11:45:13 +00:00
Shaheer Sarfaraz 65551b147f [extractor] Manually import job description
Merge pull request #7 from DaKheera47/manually-import-job-description
2026-01-19 20:06:59 +00:00
Shaheer SarfarazandCopilot 1b927a13be safer runtime assertion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:45:26 +00:00
Shaheer SarfarazandCopilot 5bd57c1b9f better runtime assertion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:45:15 +00:00
Shaheer SarfarazandCopilot cdf395cc01 ensure links are urls
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:44:53 +00:00
Shaheer SarfarazandCopilot 544a5ca86f Catch possible errors in scoring
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:31:36 +00:00
Shaheer Sarfaraz ee74c7d2de Rename project from Job-Ops to JobOps 2026-01-19 13:01:47 +00:00
Shaheer Sarfaraz 3b2aa70e8c Merge pull request #5 from DaKheera47/navbar-and-ui-improvements
Navbar and UI improvements
2026-01-18 01:41:28 +00:00
Shaheer Sarfaraz ff4cdb4101 Update job application example link in README 2026-01-17 19:13:07 +00:00
Shaheer Sarfaraz 037daa4061 Revise README for setup, instructions, and license
Updated API key and credentials information, modified read-only mode instructions, and changed license type.
2026-01-17 02:56:42 +00:00
Shaheer Sarfaraz b2e12a5bf2 Add GNU AGPL v3 license
Added the GNU Affero General Public License version 3 to the project.
2026-01-17 02:53:31 +00:00
Shaheer Sarfaraz 99afd2e6ed Add examples for resume generation and job application
Added examples for generating a tailored resume and applying to a job.
2026-01-17 02:47:14 +00:00
Shaheer Sarfaraz a6310af294 Merge pull request #4 from DaKheera47/extractor-ukvisajobs
Extractor ukvisajobs
2026-01-02 14:54:30 +00:00
Shaheer Sarfaraz 8633eb029e Merge pull request #3 from DaKheera47/autochoose-projects
Autochoose projects
2025-12-15 21:38:08 +00:00
Shaheer Sarfaraz 3b4845c232 Merge pull request #2 from DaKheera47/ui-improvements
UI improvements
2025-12-15 17:59:49 +00:00
Shaheer Sarfaraz 68550952d4 Merge pull request #1 from DaKheera47/job_spy-setup
Job spy setup
2025-12-15 00:09:57 +00:00