Skip to content

Latest commit

 

History

434 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RolePatch

Product: rolepatch.com

AI-powered resume tailoring. Paste a job URL, get a resume rewritten to match. Generate cover letters with company research, fit scores, and STAR interview stories.

Current qualification and open work

The 2026-09-07 production guest check verified resume creation, save/reload, manual job-description entry, and the repaired guest cover-letter route. Hosted tailoring and byte-exact save/reload now pass for a synthetic resume. The guest resume-tailoring and local-export workflow is shareable as an experiment. Optional file import, broader output checks and signed-in qualification remain in #68.

The default keyless model is Llama 3.3 70B FP8 on Workers AI. The old Llama 3.1 8B model was deprecated and rejected even a one-word live request. The replacement initially timed out; bounded generation completed in 6.4 seconds on production source 18c041f4. The sample retained dates, education and 240/160 ms metrics without inventing AWS/Kubernetes experience. This is sample evidence, not a universal factual guarantee. Source restores model-generated HTML line breaks to Markdown and filters unsupported change excerpts. Tailoring retains a 90-second limit and an adaptive 2048–8192 token budget.

The guest editor already supported browser Print; a diagnostic 404 from the protected server export endpoint was expected, not a guest UI failure. The missing tailored-result export is now verified live on source d28b05a3: a fresh guest workflow generated in 5.2 seconds, saved/reloaded exactly and exported text, HTML, Word-compatible .doc and print-ready one-/two-page documents. See #68 for remaining qualification work.

Export a resume

Choose Export resume in the guest editor or next to a tailored result. Print / Save PDF opens a standalone document; choose your browser's PDF save destination in the print dialog. Allow pop-ups for RolePatch if prompted. HTML, plain Markdown text and Word-compatible .doc downloads are also available. These exports use your current text in the browser, including edits not yet saved, without uploading the document. Word export is HTML-compatible .doc, not a native DOCX file. Existing signed-in server exports are retained.

Deployment & External Services

Concern Service
Hosting Cloudflare Workers (resume-tailor) via @opennextjs/cloudflare — custom domain rolepatch.com
Database Cloudflare D1
Auth better-auth + Google OAuth
AI Workers AI binding by default; explicit BYOK OpenAI-compatible provider settings
Payments Dodo Payments
CI/CD GitHub Actions checks; production deploy through the manual deployment workflow

PDF rendering uses the Cloudflare Workers Browser Rendering binding (BROWSER).

Stack

Next.js 16 · React 19 · TypeScript · Tailwind 4 · Cloudflare D1 · better-auth (Google) · Vercel AI SDK · CodeMirror · Playwright · Vitest

Quick start

pnpm install
cp .env.example .env.local   # fill in values
pnpm dev                     # http://localhost:3000

Guest data lives in localStorage. Signed-in data uses Cloudflare D1; see the qualification limitations above before relying on the complete workflow.

Scripts

pnpm dev           # next dev
pnpm build         # production build
pnpm start         # serve build
pnpm lint          # biome check .
pnpm test          # vitest unit
pnpm test:e2e      # playwright

Env

See .env.example. Required for full use:

  • Cloudflare D1 binding DB in wrangler.toml — signed-in persistence
  • AI_BASE_URL, AI_API_KEY, AI_MODEL — OpenAI-compatible AI provider
  • BETTER_AUTH_SECRET, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET — Google OAuth via better-auth
  • DODO_PAYMENTS_*, DODO_PRODUCT_* — token purchases (optional)
  • NEXT_PUBLIC_SAASMAKER_API_KEY — feedback/analytics (optional)

Layout

  • src/app/ — routes (landing, dashboard, editor, tailor, cover-letter, stash, settings)
  • src/lib/actions/ — server actions (CRUD, AI, scraping)
  • src/lib/local-storage.ts — guest data layer
  • src/components/ — client UI
  • __tests__/ — vitest · e2e/ — playwright
  • src/lib/job-search.ts — native in-Worker job search (LinkedIn)

More in agents.md.

Job discovery

Live job search runs natively in the Worker — src/lib/job-search.ts queries LinkedIn's public guest job-search endpoint (no API key) and normalises the results for the job-discovery UI. The Next.js route src/app/api/jobs/search/route.ts calls it directly.

Scope: LinkedIn only. The former multi-board Python sidecar (api/python/, which wrapped python-jobspy) was removed — Cloudflare Workers has no Python runtime. If LinkedIn rate-limits the Worker's datacenter IP, the fallback is Cloudflare Browser Rendering or a hosted job-search API.

Deploy

Cloudflare Workers via OpenNext. pnpm deploy builds .open-next/worker.js and deploys the Worker/routes configured in wrangler.toml for rolepatch.com.

Active AI Task Log

This section is maintained by the SaaS Maker Active-AI product/design loop so future agents do not reopen duplicate UI tasks.

  • Business lane: Core/status context

  • Rule: do not create another broad "improve the UI" task unless the acceptance criteria differ materially from the tasks listed here.

  • Source of truth for task status: SaaS Maker task board. README entries are durable context only.

  • No current Active-AI product/design task from the 2026-05-25/26 loop. Treat this as watch/status unless new evidence appears.

Remaining shareability qualification (2026-09-07)

  • Deploy the checked keyword-feedback repair after explicit approval and verify the public checker with a synthetic resume/job pair; the percentage must equal the displayed matched/total count, with no employer-score implication.
  • Complete guest and signed-in tailoring, review each suggested change against the supplied experience, and verify saved edits after reload. Verify the weighted-score disclosure in account details and public score shares.

About

AI-assisted resume tailoring, role research, job-fit evidence, cover letters, and interview preparation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages