413 Commits

Author SHA1 Message Date
Shaheer Sarfaraz
90d6584a3c
Update README formatting and section titles 2026-02-18 22:55:35 +00:00
Shaheer Sarfaraz
b88d00b15d
Make projects optional when moving jobs to Ready (#189)
* Make resume projects optional and reuse selection rules

* Apply Biome import/format fixes

* Handle explicit empty project selection in PDF generation

* Hide selected projects section when catalog is empty

* Avoid projects section flash while catalog is loading
2026-02-18 22:31:59 +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
github-actions[bot]
1146d065f0 docs: cut version 0.1.23 2026-02-18 15:58:17 +00:00
Shaheer Sarfaraz
032626bd7d
Fix #162: real-time bulk action streaming progress (#187)
* initial

* refactor: centralize SSE plumbing for client and server

* docs: add centralized SSE usage standards to agents guide

* use sse to stream actions to the client

* ui: align bulk progress toast with default sonner style

* ui: remove hide action from bulk progress toast

* full width progress bar

* fix(stream): track client disconnect and writability

* fix(stream): stop bulk loop when SSE client disconnects

* fix(stream): avoid writing error/end to closed SSE response

* fix(stream): gate started/progress frames on writable SSE socket

* types(api): narrow SSE stream payload input contract

* refactor(ui): share clamp helper for bulk progress

* fix(stream): add heartbeat to bulk action SSE route

* feat(stream): include completed count in bulk completion event

* fix(client-sse): separate parse vs handler errors and cancel reader
2026-02-18 15:54:39 +00:00
Shaheer Sarfaraz
4f8664cb9c
feat(command-bar): hide low relevance matches by default (#186) 2026-02-18 13:55:44 +00:00
Shaheer Sarfaraz
625264c3a2
docs: clarify Gmail OAuth setup and required scopes (#185) 2026-02-18 13:44:25 +00:00
Shaheer Sarfaraz
63bf5bdc87
fix: move docs button to sidebar footer and open in new tab (#184)
* fix(ui): move docs to sidebar footer button with new-tab icon

* sidebar documentation
2026-02-18 13:36:16 +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
github-actions[bot]
ddf5130915 docs: cut version 0.1.22 2026-02-17 16:54:11 +00:00
Shaheer Sarfaraz
c5c6675f04
feat: add Adzuna extractor with orchestrator integration (#177)
* feat(settings): add adzuna source fields and country compatibility

* feat(discovery): integrate adzuna extractor into pipeline

* feat(client): wire adzuna in source selection and run budgeting

* docs(extractors): add adzuna guide and configuration notes

* chore(workspaces): register adzuna extractor in lockfile

* fix(adzuna): run extractor via npm script instead of npx

* fix(adzuna): execute extractor via node+tsx without shell

* fix(adzuna): prefer npm run start without shell, fallback to tsx

* fix(docker): include adzuna extractor workspace in image

* chore(adzuna): reuse shared type-conversion utilities

* type-check adzuna

* formatting

* deeedooop

* better instructions
2026-02-17 16:49:42 +00:00
Shaheer Sarfaraz
4da264eb48
Add better account details for reactive resume section (#175) 2026-02-17 13:05:50 +00:00
Shaheer Sarfaraz
5ddd6d2c73
Images in documentation (#173)
* docs images

* images in documentation

* logos

* update colours to orange-related
2026-02-16 17:00:51 +00:00
DaKheera47
2d73ffb22a biome lint fix 2026-02-16 01:09:22 +00:00
DaKheera47
d2eaeb3e34 env driven base url for docs 2026-02-16 01:07:42 +00:00
github-actions[bot]
65c07b1fec docs: cut version 0.1.21 2026-02-16 00:44:09 +00:00
DaKheera47
7b159e81fe correct url 2026-02-16 00:42:44 +00:00
DaKheera47
54a355a409 documentation in readme 2026-02-16 00:42:09 +00:00
Shaheer Sarfaraz
390d03625e
Add documentation for undocumented features (#172)
* documentation writing skill

* visa sponsors page

* overview

* in progress board

* settings

* reactive resume section

* database backups

* workflows

* post application tracking flow

* manual tracking caveats

* pricing section

* pipeline run detalis

* job search bar

* keyboard shortcuts

* bulk actions

* no informal phrasing

* formatting

* build fix?

* Update docs-site/docs/features/overview.md

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

* Update docs-site/versioned_docs/version-0.1.20/features/orchestrator.md

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

* Update docs-site/docs/features/visa-sponsors.md

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

* Update docs-site/docs/features/in-progress-board.md

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

* remove link to page that don't exist

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-16 00:33:35 +00:00
Shaheer Sarfaraz
1f929dfc7f
Create the setup for the documentation page (#171)
* don't run for generated docusaurus

* format

* workflow to autoupdate docs version

* fix versioning

* add link back to app

* remove old docs

* html link???

* don't track .docusaurus

* documantation build
2026-02-15 22:50:52 +00:00
DaKheera47
3c41df9ba8 Initial setup 2026-02-15 22:20:56 +00:00
DaKheera47
420299fffe race condition 2 2026-02-15 22:20:56 +00:00
DaKheera47
2fc692557f race condition 2026-02-15 22:20:56 +00:00
DaKheera47
2536e184a7 add tests 2026-02-15 22:20:56 +00:00
DaKheera47
ac7eca190a formatting 2026-02-15 22:20:41 +00:00
DaKheera47
bd3edcaae5 better settings menu 2026-02-15 22:20:41 +00:00
DaKheera47
048da93b72 meta shortcut 2026-02-15 22:20:41 +00:00
DaKheera47
239e6955ba ghostwriter copy 2026-02-15 22:20:41 +00:00
DaKheera47
07b3c23492 better UX 2026-02-15 22:20:41 +00:00
DaKheera47
06dfda996c ghostwriter button placement 2026-02-15 22:20:31 +00:00
DaKheera47
2e76235e13 markdown renderer 2026-02-15 22:20:08 +00:00
DaKheera47
ff6a64656f dont pop up keyboard shortcuts 2026-02-15 22:20:08 +00:00
DaKheera47
8d2d80fcc1 copy improvement 2026-02-15 22:20:08 +00:00
DaKheera47
8b8120bf1d single thread 2026-02-15 22:19:55 +00:00
DaKheera47
91f08b944d ui improvements 2026-02-15 22:19:34 +00:00
DaKheera47
3b86e56c22 separate component 2026-02-15 22:19:26 +00:00
DaKheera47
5a5cbb40ac ghostwriter panel 2026-02-15 22:17:37 +00:00
DaKheera47
f9abd6ff74 rename code 2026-02-15 22:17:19 +00:00
DaKheera47
672eb3d2b9 Ghostwriter always enabled 2026-02-15 22:16:50 +00:00
DaKheera47
00531c83c4 initlal commit 2026-02-15 22:16:50 +00:00
Shaheer Sarfaraz
d0b4091a60
Ghostwriter Introduced (#166)
* initlal commit

* Ghostwriter always enabled

* rename code

* ghostwriter panel

* separate component

* ui improvements

* single thread

* copy improvement

* dont pop up keyboard shortcuts

* markdown renderer

* ghostwriter button placement

* better UX

* ghostwriter copy

* meta shortcut

* better settings menu

* formatting

* doocumentation

* add tests

* race condition

* race condition 2

* pass title

* more comments

* comments

* formtting
2026-02-15 22:03:37 +00:00
Shaheer Sarfaraz
e6563e74c3
Add visual feedback for Move to Ready action (#165)
* feat(orchestrator): add visual feedback when moving jobs to Ready

- Added `toast.message("Moving job to Ready...")` in `OrchestratorPage.tsx` for single item keyboard shortcut action.
- Added `toast.message("Moving jobs to Ready...")` in `useBulkJobSelection.ts` for bulk `move_to_ready` action.
- Updated `OrchestratorPage.test.tsx` to verify the toast notification.

This addresses the issue where pressing 'R' provided no visual feedback until the action completed.

* fix(orchestrator): remove accidental db files

Removed `orchestrator/data/jobs.db`, `orchestrator/data/jobs.db-shm`, and `orchestrator/data/jobs.db-wal` which were accidentally created during testing.

* fix(orchestrator): remove accidental root sqlite.db

Removed `orchestrator/sqlite.db` which was also accidentally created.
2026-02-15 18:44:28 +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
f114fb6200
Update project title in README.md 2026-02-14 23:04:58 +00:00
Shaheer Sarfaraz
4cc91cf84a
Update quick start instructions in README 2026-02-14 19:25:52 +00:00
Shaheer Sarfaraz
a899d54349
Add contributors badge to README 2026-02-14 01:38:29 +00:00
Shaheer Sarfaraz
c037dafbe2
Revise README for clarity and additional features
Updated README to enhance project description and features.
2026-02-14 01:19:43 +00:00
Marcin Szymański
cc84157149
support RXResume config URL config in onboarding (#159)
* support RXResume config URL config in onboarding

* update documentation and fix linting
2026-02-12 22:04:32 +00:00
Shaheer Sarfaraz
d4d2c0c26b
initial commit (#158) 2026-02-12 19:59:25 +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