Releases: Yabuku-xD/Ghosted
Releases · Yabuku-xD/Ghosted
Release list
v0.6.5 — H1B Data Page & Portal-Grade Job Filters
What's New
H-1B Intelligence
- New H1B Data page with FY2025 applications table (238K+ records)
- Lottery statistics across 5 fiscal years
- Country-cap status with cap-type indicators
- Human-readable company/city/state normalization in API responses
Job Portal
- 10+ filter dimensions on Jobs page: workplace type, employment type, degree level, max experience slider, ATS multi-select, visa sponsorship, date range, salary range
- Debounced real-time search
- Auto-discovery endpoint surfaces results when zero matches found
Frontend
- Full Neo Brutalist redesign with white/orange theme
- 12 page components (Home, Companies, CompanyDetail, Jobs, H1B Data, Offers, Compare, Predictions, LotteryCalculator, Terms, Privacy, NotFound)
- Version bumped to v0.6.5
Fixes
- CORS debug mode fixed for local development
- Resume match scoring hardened
- Timezone handling corrected (Django timezone vs datetime)
Full Changelog: v0.6.4...v0.6.5
v0.6.2
Fixed
- invalidated stale temporary resume-match sessions after matcher updates so old cached garbage results no longer survive page reloads
- fixed contact-line filtering so legitimate skills rows are kept during PDF parsing
- tightened the tailored PDF to prefer resume-backed matched skills instead of loose job-only phrases
- kept the Resume-Matcher-inspired whole-word keyword alignment while preventing old pre-fix sessions from rendering broken output
Verified
docker compose exec backend python manage.py checkdocker compose exec frontend npm run build- direct resume-matching verification against the provided PDF with fresh session creation, stale-session invalidation, and tailored PDF download generation
v0.6.1
Fixed
- kept temporary resume shortlist sessions across page reloads by storing only the session id in browser tab storage while still deleting raw PDFs immediately after extraction
- cleaned resume parsing so duplicated contact header noise no longer leaks into emails, skill chips, or match reasons
- improved resume skill extraction and keyword alignment to surface more believable high-match evidence like Python, React, TypeScript, and SQL
- narrowed role-family inference to phrase-level matches so false positives from substring hits no longer distort scoring
Verified
docker compose exec backend python manage.py checkdocker compose exec frontend npm run build- direct resume-matching verification against a real uploaded PDF with temporary session creation, processing, and tailored-PDF readiness
v0.6.0
Added
- Added a temporary resume-matching flow on the Jobs page that accepts a PDF upload, scores only the strongest-fit live roles, and generates one shared tailored resume PDF for the best-matching role cluster.
- Added public Jobs resume endpoints for upload, polling, session clearing, and temporary PDF download without creating long-lived candidate records.
Changed
- Reworked the Jobs page to include a dedicated resume studio with privacy messaging, processing state, shortlist results, and download actions while keeping the existing Ghosted visual theme.
- Updated the resume-matching pipeline to use live job-description similarity, role-family alignment, and years-of-experience gating instead of depending on a hand-maintained skill map.
Fixed
- Removed raw resume-file handoff between containers by switching the upload pipeline to in-memory extraction, so temporary sessions no longer fail when the worker processes the job on a different container filesystem.
- Tightened high-match filtering so the shortlist excludes more low-signal roles and finishes faster under the current ATS dataset.
v0.5.6
Highlights
- Removed the duplicate Companies top stats strip so the directory page no longer repeats the same headline metrics already shown on the homepage.
- Rebalanced the Companies results into a cleaner two-column desktop grid so 10-item pages land evenly instead of ending with an awkward orphan card.
- Kept the Companies page responsive, with no horizontal overflow on mobile after the layout change.
Verification
docker compose exec frontend npm run builddocker compose exec backend python manage.py check- Browser validation on
/companiesfor the cleaned header, even first-page grid, and mobile overflow safety.
v0.5.5
Highlights
- Added full keyboard navigation to the shared custom select so list filters work properly with Arrow keys, Home/End, Enter/Space, and Escape.
- Cleaned up the site navigation semantics and removed the duplicate hidden page heading so each route has a clearer accessibility structure.
- Added real labels to the Jobs search and location inputs and fixed Compare picker dismissal on Escape and outside click.
Verification
docker compose exec frontend npm run builddocker compose exec backend python manage.py check- Browser validation on Jobs and Compare for keyboard selection, single-page heading structure, and picker dismissal behavior.
v0.5.4
Changed
- Switched the Dockerized backend runtime to PostgreSQL plus Gunicorn so the app no longer falls back to SQLite inside the container stack.
- Documented the Postgres-backed Compose behavior in the README and synced the tracked release metadata.
Fixed
- Added cached paginator counts for the filtered Companies, Offers, and Jobs endpoints so repeated page navigation no longer pays the same count cost on every request.
- Tightened the Jobs list queryset, added supporting database indexes, and widened long company slugs so the existing seeded dataset loads cleanly into PostgreSQL.
- Improved next and previous page prefetching on the main paginated pages so client-side navigation feels quicker once a page has settled.
Verification
- docker compose exec backend python manage.py check
- docker compose exec frontend npm run build
- API page-size checks confirmed 10 items per page on Companies, Offers, and Jobs
- Cold page-2 latency improved to about 170 ms on Jobs, 258 ms on Companies, and 173 ms on Offers under the Postgres-backed stack
v0.5.3
Changed
- standardized Companies, Offers, and Jobs to 10 items per page
Fixed
- added next-page and previous-page prefetching plus non-blocking page transitions on the main paginated pages so Next and Previous feel much faster once the current page settles
- optimized the Companies directory query by replacing heavier related-count joins with company-level subqueries
- trimmed the Jobs list query and replaced the expensive salary-record join count with a cheaper company-level subquery to reduce page-fetch overhead while preserving ranking signals
Verification
- docker compose exec frontend npm run build
- docker compose exec backend python manage.py check
- API verification confirmed page 1 returns 10 results for Companies, Offers, and Jobs
- browser verification confirmed warmed pagination transitions on Companies and Jobs complete quickly after prefetch
v0.5.2
Fixed
- balanced the Jobs results grid by expanding the last card across the full row when a 15-item page ends on an odd card count
- replaced the old favicon with a simpler Ghosted monogram and refreshed the icon links so browsers pull the new asset instead of stale cached branding
Verification
- docker compose exec frontend npm run build
- docker compose exec backend python manage.py check
- browser verification on /jobs confirmed page 1 still shows 15 jobs, the final card fills the row, and the icon links resolve to /favicon.svg?v=0.5.2
v0.5.1
Fixed
- widened the Jobs filter controls and updated placeholder copy so the inputs and selects stay readable instead of collapsing into tiny labels
- reworked Jobs result cards to give titles and metadata more breathing room, simplify match reasons, and improve scanability at common desktop widths
- preserved the Ghosted theme while keeping the Jobs page responsive with no horizontal overflow on mobile or desktop
Verification
- docker compose exec frontend npm run build
- docker compose exec backend python manage.py check
- browser verification on /jobs at desktop and mobile widths