Jobs-Apply
6-channel job automation with CDP browser control, behavioral adaptation, and J-Score v2 matching.
6 channels, 333+ applications
6-Channel Architecture
Each channel uses a different automation strategy matched to how that platform works. CDP browser control runs Chrome directly; authenticated session replay bypasses login flows; form automation handles multi-step wizards.
J-Score v2: Three-Layer Matching
J-Score v2 fuses three independent signals to produce a match score between 0 and 1. Each layer catches what the others miss.
- 1 Semantic EmbeddingsCosine similarity between resume and job description embeddings. Captures conceptual overlap that keyword matching misses.
- 2 Structured FeaturesExplicit scoring of years of experience, seniority alignment, location match, required skills coverage, and compensation range overlap.
- 3 LLM ReasoningA reasoning pass that evaluates cultural fit, growth trajectory, and role-specific requirements that resist structured decomposition.
Related Content
Experiments
Changelog readers who see shipping momentum respond to urgency framing
Contact page visitors respond better to direct download than gentle...
Concrete metrics build more credibility than broad feature claims
More frequent CTAs mid-scroll catch visitors before bounce, shorter...
Leading with download CTA converts higher-intent visitors who'd bou...
Lower price anchor reduces sticker shock, action-oriented copy outp...
Trust-primed visitors who read the full security page are ready to ...
Extracting the gaussian behavioral timing module from jobs-apply in...
Deploying 10 targeted fixes across easy-apply.ts, linkedin-adapter....
6/6 = 100% after select fix deployed. 9/13 total for the day (3/7 before fixes, 6/6 after). From Run 1 (40%) to Run 10 (100%) = 150% relative improvement across 10 iterations.
Proactive modal scrolling and CDP select placeholder detection will...
2/3 = 67% during quiet hours. 1 failure: 240s timeout on screening question dropdown (Databricks/Pyspark). CDP select detection identified the issue but fix wasn't deployed until Run 10.
Fixing silent modal failures (F40), verification false negatives (F...
All three failure patterns addressed and deployed. F40 scroll fix prevents modal-bottom submit button from being out of viewport. F41 verification now waits longer and checks multiple signals. F42 handles non-standard form elements.
A 6-subagent Karpathy ratchet targeting interview conversion rate c...
All 6 subagents complete. LinkedIn scan revealed 0 interview signals from 105 submitted applications. All 12 recruiter messages were cold InMail, not responses. Interview rate from LinkedIn = 0%. Focus shifted to Gmail.
A click-and-verify loop that checks modal state after each click st...
5/6 = 83% success. All 6 attempts opened modal on strategy 1 (first try). 1 failure: Save Application dialog blocked advancement.
Database-backed company intelligence with priority scoring improves...
11 new table columns. Priority scoring operational. Direct channel submission rate stable at 77.9% (113/145). Cross-channel learning loop captures company data from every job discovered across all channels.
Event-driven A/B testing with auto-promotion will produce measurabl...
System fully operational. 18 events verified in Neon via browser test. 8 experiments running. Consent gate unified. Threshold counters incrementing. Auto-evaluation and promotion wired end-to-end.
A three-layer scoring system (semantic embeddings + structured feat...
592 tests passing. Score audit table logs ALL scores including sub-70 rejections. 3,742 legacy scores backfilled from archived autosearch for calibration. Enables feedback loop training.
A multi-iteration anti-detection suite (gaussian timing, reading si...
Account unrestricted since 2026-03-26. Run 7 (2026-03-29) achieved 83% with all anti-detection measures active. P0-P1 (iterations 1-6) complete. Safety rail working correctly.
Connecting to the user's real Chrome via CDP will be more resistant...
CDP mode disables ALL stealth scripts, relying entirely on real Chrome session. 22-38s click gaps were pure LLM inference, not humanization. Real Chrome with a user profile + cookies + extensions is inherently undetectable because it IS a real browser. The 275-line stealth module was unnecessary.
Systematic fix of individual failure points will drive LinkedIn Eas...
7 runs, 40% to 83% final. 26 individual failure fixes (F1-F39). Account restriction in Run 6 was the critical learning. Run 7 modal detection loop (3s initial + 4s DOM check, two-attempt strategy) achieved Strategy-1: 100% success rate.
Deploying 4 parallel Claude Code agents in isolated git worktrees c...
679 sessions (522 main + 157 worktree) in 2 days. Agents successfully parallelized adapter work. Merged into baseline commit e4f43c5. Pattern later formalized in Dakka orchestrator.
A provider-transparent rate limiter keyed by API key + provider can...
Zero consumer changes needed. Rate limiting invisible inside provider layer. Prevented cost blowouts during early development on Tier 1 plans. Pattern persisted into production.
Gemini Flash vision can analyze ATS page screenshots to extract for...
Vision approach worked for page understanding but was eventually replaced by DOM-based extraction for form filling. Vision remained useful for fallback analysis of non-standard ATS layouts. The OpenRouter provider with vision support became the standard AI integration pattern.
Breakthroughs
Apple code signing complete: Developer ID + notarization in one com...
Event-driven A/B system: 0% to fully autonomous in one session
experiments/jobs-apply/2026-03-28-website-funnel-ab-testing
LinkedIn Easy Apply: 40% to 100% success rate in 10 runs over 18 days
experiments/jobs-apply/2026-04-02-linkedin-run10-100-percent
Behavioral anti-detection skill: bot-mimicry pattern extracted from...
skills/behavioral-anti-detection
J-Score v2: three-layer fusion scoring, score clustering eliminated
skills/j-score-v2-matching
LinkedIn anti-detection suite: account unrestricted, 83% session su...
experiments/jobs-apply/2026-03-25-linkedin-anti-detection-suite
Multi-process coordinator: per-channel process isolation with auto-...
experiments/jobs-apply/2026-03-22-cdp-vs-playwright-browser-strategy
Full marketing website built in 97 minutes (5 commits, 2,626 lines)
experiments/jobs-apply/2026-03-22-cdp-vs-playwright-browser-strategy
LinkedIn submission rate ratchet: 40% to 83% over 7 runs
experiments/jobs-apply/2026-03-15-linkedin-submission-rate-ratchet
Direct channel: 98% submission success rate (48/49 applications)
experiments/jobs-apply/2026-03-09-four-opus-sub-agent-orchestration
Infinite run coordinator: persistent autonomous job application engine
experiments/jobs-apply/2026-03-09-four-opus-sub-agent-orchestration
AutoHunt: 15K-line job automation monorepo scaffolded in one day
experiments/jobs-apply/2026-02-26-vision-screenshot-ats-analysis
Pitfalls
apple notarization service delays
electron stale bundle version drift
lever networkidle timeout cascade
vercel deploy not git sync
linkedin behavioral detection
linkedin shadow dom locator fix
vercel monorepo build chain
anti detection disabled in production
chrome crash bubble blocks automation
linkedin stale job inventory
ollama local llm abandoned
playwright stealth replaced by cdp
Self-Improving Pattern
Self-improving scoring: J-Score v2 three-layer fusion learns from application outcomes
Read the thesis →