Skip to content

feat: add job tracking, seven resume formats, and interview preparation - #9

Open
Aditya190803 wants to merge 4 commits into
chore/prod-code-hardeningfrom
feat/prod-hardening-and-opencode
Open

Aditya190803 wants to merge 4 commits into
chore/prod-code-hardeningfrom
feat/prod-hardening-and-opencode

Conversation

@Aditya190803

Copy link
Copy Markdown
Owner

Connect job discovery, application documents, tracking, and interview preparation in one job-search workflow. Users can turn a watched role into an application, generate a resume from career notes, and keep practice questions and answer notes with the role.

Changes

  • Add a persistent application pipeline with recruiter contacts, notes, follow-up dates, search/filtering, watchlist imports, and CSV export.
  • Monitor career pages with role/location/exclusion filters, editable email preferences, baseline scans, pending-alert retries, and optional Firecrawl rendering.
  • Create resumes from pasted details or saved content with seven LaTeX formats, optional job tailoring, editing, PDF output, and saved versions.
  • Generate interview questions and STAR guidance per application; save answer notes, require confirmation for replacement, and reject stale revisions and cross-account access.
  • Update the homepage, workflow guide, FAQs, metadata, dashboard actions, and privacy disclosures to describe the features. Replace unsupported performance claims with supported capabilities and fix accessibility issues.
  • Adopt Vite+/pnpm tooling and a frozen pnpm lockfile, align CI with the toolchain, add a production configuration check, and fix rejected AI probes being reported as healthy.
  • Reject hexadecimal IPv4-mapped IPv6 URLs and credential-bearing URLs in career-page fetching; bound email requests and keep provider error details out of logs.

Validation

  • vp install --frozen-lockfile
  • vp check, vp run lint, and vp run typecheck
  • vp run build
  • vp run test:coverage --maxWorkers=2 --testTimeout=15000: 331 tests across 54 files; coverage thresholds pass (65.79% lines, 58.16% branches, 61.93% functions, 64.96% statements).
  • Focused URL-guard, email-error, and scan tests: 45 passed.
  • Live development Convex checks for saved interview preparation, ownership, and stale-write protection; synthetic records removed.
  • Credential/binary scan and whitespace checks passed. Client browser verification covered the signed-out redirect; the signed-in browser flow remains unverified.

Deployment and limits

Deploy the updated Convex schema and functions to the target environment before the frontend. They are already deployed to the configured development backend. Production still needs the AI key, email key and sender, cron secret, and a public HTTPS application URL. Optional Firecrawl access also needs configuration. No local credential files are included.

Draft/idempotency stores remain process-local. Interview writes use database revision checks; concurrent generation is coalesced within a process. Safe-fetch retains its documented DNS-rebinding limitation.

Dependency

Based on #8 (chore/prod-code-hardening) to keep its auth/ownership changes out of this diff. Merge #8 first, then retarget this PR to main. This PR also includes the existing OpenCode Zen migration commit above that base.

Aditya190803 and others added 4 commits August 9, 2026 12:17
Replaces the @google/generative-ai SDK with plain fetch against OpenCode
Zen's OpenAI-compatible /chat/completions endpoint.

gemini-2.5-flash still resolves, but the app is standardising on big-pickle.
Because big-pickle is a reasoning model whose reasoning tokens are charged
against max_tokens, output budgets are kept well above the ~1024 floor where
responses come back empty, and only `content` is read (never
`reasoning_content`).

The /api/health probe pointed at generativelanguage.googleapis.com, a service
this app no longer calls; it now probes OpenCode Zen. Its response field is
renamed `gemini` -> `ai`, which changes the /api/health JSON shape.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
application-tracking-system Ready Ready Preview Oct 3, 2026 5:45am UTC

@coderabbitai

coderabbitai Bot commented Oct 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 93ab754d-6db8-466c-9374-f88c05a8b13e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch was successfully deployed

1 active deployment
Preview — 62a81e29 Deployed Oct 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant