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.
Log in or sign up for Devpost to join the conversation.