Automate Job Applications Using Your Daily Driver Browser
SHOBR automates the tedious parts of job hunting—scraping, resume tailoring, and application prep—by driving your actual authenticated browser. No headless bots, no credential extraction.
- LinkLoot access
- Free
- Provider costs
- Unknown
What you get from it
What it does
SHOBR (Simulate Human Occupational-Bureaucratic Rituals) is a UNIX-style job search automation tool that prepares applications while keeping you in control. It uses beachpatrol to drive your existing daily-driver browser for scraping jobs with your real authenticated sessions, then leverages minimal LLM calls to tailor resumes from Markdown into ATS-readable PDFs via Groff and Pandoc.
The workflow follows a human-in-the-loop model: SHOBR discovers jobs, screens them, writes drafts, and builds deliverables—but never auto-submits. You approve each application step manually. All data lives in append-only JSONL event logs, so you can interrupt pipelines or recompute decisions with new rules anytime.
Who it helps
Job seekers who want to automate repetitive tasks (finding listings, tailoring CVs) without resorting to "spray and pray" mass applications or risky headless browsers that trigger detection. Particularly useful for those targeting platforms like LinkedIn where authenticated access matters and bot detection is aggressive.
Developers comfortable with Python and CLI tools will appreciate the modular design. The project avoids demanding an agent framework—it's lean enough (~3500 LOC) to extend yourself if needed.
Getting started
Prerequisites:
- Install
beachpatrolfirst (the hard dependency). See its README for setup. - Python 3.14+
Installation:
git clone https://github.com/sebastiancarlos/shobr
cd shobr
uv sync # installs any-llm-sdk[openai]
uv tool install .
The toolchain requires Groff and Pandoc for PDF compilation. Ensure these are available on your system.
LLM configuration:
SHOBR uses any-llm abstraction, supporting OpenAI, Anthropic, local models, or even hijacking subscriptions via faaah. Configure your preferred provider before running.
Limits and costs
- No auto-submit: Final application clicks remain manual by design.
- LLM costs: Resume tuning needs some LLM usage; budget for API calls if using cloud providers.
- Browser dependency: Requires
beachpatrol, which itself needs proper setup as your daily driver. - MIT licensed: Free to use, modify, distribute. Hosting/execution costs depend on your infrastructure choices.
- Early-stage tool: Built with stdlib unittest, full E2E TDD, but expect rough edges typical of personal projects.
Source links
Discussion
Share practical experience, questions, or warnings with the community.
Sign in to join the discussion and vote on comments.
Sign in