32 Commits

Author SHA1 Message Date
DaKheera47
daca4d2bd4 try.jobops.app 2026-03-10 16:35:46 +00:00
Shaheer Sarfaraz
5ed74bb59c
Tracer links (#174)
* initial commit

* format links right

jobops.dakheera47.com/cv/shaheer-google-de

* don't support legacy

* remove phishing look

* smaller links

* readiness check in settings

* rework UX

* right col

* pop a modal

* modal improvements

* show links

* documentation disclaimer

* fix(tracer-links): preserve descriptive resume link labels

* fix(tracer-links): classify bot user agents before browser families

* fix(tracer-links): reject non-http redirect destinations

* fix(tracer-redirect): disable caching for tracked redirects

* fix(origin): prefer canonical public base url over forwarded headers

* fix(auth): protect tracer analytics routes behind basic auth

* fix(ui): rename misleading tracer drilldown human metric

* style(tests): format tracer-links invalid-destination assertion

* fix(tests): prevent mocked fs from breaking sqlite data-dir resolution

* style(docs): format versioned docs json for biome

* fix(tests): mock tracer-links in pdf skills validation suite
2026-02-18 22:05:15 +00:00
Shaheer Sarfaraz
16fdb425d8
Add demo banner star-repo CTA analytics and fix CI formatting (#183)
* add star cta

* feat: track demo banner star repo clicks

* chore: format docs-site json for biome ci
2026-02-18 13:21:32 +00:00
Shaheer Sarfaraz
f8b5dc2f42
In progress flow (#163)
* initial commit

* move from applied to in-progress

* KANBAN BOARD!

* backfill jobs

* backfill rejected jobs

* drag events 😋

* fix backfill bug

* UI improvements

* remove applied

* gold near offer

* team match meeting swim lane

* formatting

* Add tests for InProgressBoardPage and enhance job stage handling
2026-02-15 00:45:45 +00:00
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
Shaheer Sarfaraz
fe0aebe01a
Small bits and bobs, codebase quality (#129)
* initial change

* nav highlighting

* icon change

* deeeedoooop

* text

* show version number on all pages

* icon

* remove unused code

* add knip

* formatting

* remove unused code

* types fix

* remove notion completely from the codebase.

* update test for new url structure

* clean up the fucking shop boys

* make a "create job" factory and use that

* moar factories

* formatting
2026-02-10 20:01:58 +00:00
Shaheer Sarfaraz
2962e0c2ae
Fix password manager autofill for pipeline auth (#92) (#127)
* Fix basic auth flow to support password manager autofill

* fix orchestrator CI typecheck in api client

* clear basic auth fields when prompt closes

* update basic auth dialog description copy
2026-02-10 18:05:47 +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
DaKheera47
f50756281e demo top bar location fix 2026-02-07 16:06:59 +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
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
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
DaKheera47
5c2eef2fc8 ran check:fix in orchestrator 2026-01-25 12:41:44 +00:00
DaKheera47
7f7e76dc3f Initial commit for UI 2026-01-22 18:57:11 +00:00
DaKheera47
da30b65fcb jobs get their own urls now 2026-01-20 11:25:24 +00:00
DaKheera47
0eb0d3205d url change for tab change 2026-01-20 11:22:48 +00:00
DaKheera47
d752498d1d fade in and out animations 2026-01-18 01:04:04 +00:00
DaKheera47
383403f0ac visa sponsors page 2026-01-15 12:35:44 +00:00
DaKheera47
0ec38773b5 job pagination 2026-01-10 23:52:36 +00:00
DaKheera47
4726c463c8 better UI 2026-01-07 19:44:20 +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
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
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
29a8b0543a tailwind transition 2025-12-14 16:48:07 +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