38 Commits

Author SHA1 Message Date
Shaheer Sarfaraz
687fd5e91f
feat(post-application): automatically pull from email (#145)
* feat(post-application): add schema and shared types for provider ingestion (#136)

* test(orchestrator): ensure full localStorage shape in vitest setup

* feat(post-application): add provider registry and dispatcher framework (#137) (#146)

* Implement Gmail provider credential persistence (#147)

* Add unified post-application provider action API (#148)

* Implement Gmail ingestion sync with 95/60 relevance policy

* Implement Gmail ingestion sync with 95/60 relevance policy (#149)

* feat(post-application): add job mapping engine with llm rerank fallback

* feat(post-application): add inbox review APIs with transactional approve/deny (#151)

* feat(post-application): add tracking inbox UI with provider controls (#152)

* oauth implementation

* UI changes

* see past runs in more detail

* occurred at comes from email

* state mismatch

* better UI representation

* comments

* comments

* comments

* comments

* documentation

* explainer

* set things manually

* scrolling

* any found email can be pending

* searchable download

* Email-to-Job Matching Decision Tree

* email viewer list improvement

* simplification initial commit

* exclude discovered jobs

* show only resady

* dropdown

* mermaid

* syntax

* targets is the same as logging that is done manually

* event label

* duplicate avoidance

* clean up html

* token saving

* print

* send idx not uuid

* remove logging

* formatting

* better documentation

* documentation

* comments

* process all

* comments
2026-02-12 19:48:25 +00:00
Copilot
3d7a014891
Remove /ukvisajobs page and related API surface (#115)
* Initial plan

* Remove ukvisajobs page and API

Co-authored-by: DaKheera47 <53654735+DaKheera47@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: DaKheera47 <53654735+DaKheera47@users.noreply.github.com>
2026-02-09 18:39:33 +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
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
DaKheera47
5c2eef2fc8 ran check:fix in orchestrator 2026-01-25 12:41:44 +00:00
DaKheera47
9c1252c7fd onboarding validation for each field 2026-01-22 21:29:05 +00:00
DaKheera47
58fdf6781f break up server routes into separate files 2026-01-20 06:56:42 +00:00
Shaheer Sarfaraz
1b927a13be
safer runtime assertion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:45:26 +00:00
Shaheer Sarfaraz
5bd57c1b9f
better runtime assertion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:45:15 +00:00
Shaheer Sarfaraz
cdf395cc01
ensure links are urls
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:44:53 +00:00
Shaheer Sarfaraz
544a5ca86f
Catch possible errors in scoring
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-19 19:31:36 +00:00
DaKheera47
b6fa1fd5ee score jobs after manual import 2026-01-19 19:11:43 +00:00
DaKheera47
4f4f00e42c manual import initial comit 2026-01-19 18:39:14 +00:00
DaKheera47
2cf9249159 gradcracker limits 2026-01-15 19:17:23 +00:00
DaKheera47
717987c5cc "rejected" isn't a thing. it's "skipped" 2026-01-15 14:06:14 +00:00
DaKheera47
383403f0ac visa sponsors page 2026-01-15 12:35:44 +00:00
DaKheera47
e54b5f2178 more jobspy settings 2026-01-11 18:15:17 +00:00
DaKheera47
5d7c394650 diff models for diff work 2026-01-11 15:30:23 +00:00
DaKheera47
0ec38773b5 job pagination 2026-01-10 23:52:36 +00:00
DaKheera47
61c73b6830 allow editing jd 2026-01-06 23:29:58 +00:00
DaKheera47
cd5ec25c3b allowing tailoring of resume before being manually built 2026-01-06 23:06:19 +00:00
DaKheera47
d6336d1bec clearing db actions in settings 2026-01-02 17:21:05 +00:00
DaKheera47
45662c386a jobspy specific settings 2025-12-27 11:28:23 +00:00
DaKheera47
572cb1d42d keywords can be set from UI 2025-12-26 22:25:55 +00:00
DaKheera47
bd7baafbec passing max ukvisajobs 2025-12-26 20:47:28 +00:00
DaKheera47
0f36d9b8a6 initial implementation 2025-12-26 20:17:05 +00:00
DaKheera47
8a236c0be9 can regenerate pdfs, because sometimes the ai gets it wrong, and we need to help it out 2025-12-17 17:48:03 +00:00
DaKheera47
43f54a708c ai chooses projects 2025-12-15 18:25:40 +00:00
DaKheera47
91b1f08000 jobcompletion webhook 2025-12-15 17:28:45 +00:00
DaKheera47
368fe60935 rename pipeline webhook to what it is 2025-12-15 17:23:11 +00:00
DaKheera47
04f771f289 can change openrouter model in UI 2025-12-15 16:12:15 +00:00
DaKheera47
4244c908e5 ensure that a "discovered" job must have a score 2025-12-15 01:19:01 +00:00
DaKheera47
cefb75a9ec job_spy implementation 2025-12-14 22:24:34 +00:00
DaKheera47
302fadb494 pdf generation fix 2025-12-11 23:15:20 +00:00
DaKheera47
f9bf790bb3 live progress for scraping 2025-12-11 23:00:00 +00:00
DaKheera47
a6a4cb9f89 clear db button 2025-12-11 22:47:45 +00:00
DaKheera47
1b082a3eb6 orchestrator initial commit... 2025-12-11 22:31:59 +00:00