Inspiration

  • Tedious tailoring: Manually customizing resumes/cover letters for each posting wastes time and focus.
  • Frictiony tools: Overleaf and WaterlooWorks are powerful but time-consuming to navigate end-to-end.
  • Goal: One streamlined flow from JD → tailored docs → uploaded → actionable job insights.

What it does

  • Tailors: Turns a job description into a targeted resume and cover letter.
  • Renders: Produces clean LaTeX and Overleaf-ready .tex (with optional PDF compile).
  • Navigates: Guides a remote browser to WaterlooWorks to open a job and extract structured details.
  • Keeps control: Pauses for manual login and avoids fabricating content.

How we built it

  • Modular CLI: A simple command pipeline to generate resume and cover letter from templates.
  • Structured AI: Uses an LLM only for ranked selection and structured JSON—no freeform text.
  • Agentic browser: High-level “act” steps to click and extract, not brittle selectors alone.
  • Safe LaTeX: Templating and escaping for consistent, injection-safe output.

Challenges we ran into

  • Authentication: Handling login/2FA while keeping the flow smooth.
  • UI drift: Making actions resilient to UI changes over time.
  • Cloud uploads: Passing files to a remote browser reliably.
  • LaTeX safety: Escaping user content without breaking formatting.

Accomplishments that we’re proud of

  • End-to-end: JD → tailored content → LaTeX/PDF → Overleaf upload → job details.
  • Guardrails: “No fabrication” contract—content grounded in your bullet bank/profile.
  • Typed extraction: Structured, validated job details instead of ad-hoc scraping.
  • Fallback: Deterministic behavior when no API key is present.

What we learned

  • Intent over pixels: Agentic actions and schemas outlast fragile selectors.
  • LLM roles: Treat LLMs as rankers/editors with strict JSON contracts.
  • Templates win: Mustache + LaTeX = predictable layout, flexible content.
  • Cross-platform: Windows-friendly tooling and paths take deliberate design.

What’s next for WaterlooActuallyWorks

  • Explicit toggle: A “no-LLM” mode for fully deterministic generation.
  • Job vault: Store and rank extracted job data for comparison and tracking.
  • Deeper automation: More portals and safe, user-approved submission steps.
  • Theming: Multiple LaTeX themes and multi-profile support by role/domain.
  • Faster builds: Cloud LaTeX compilation for zero local setup friction.

Built With

Share this project:

Updates