Software Projects · Auto Apply
n8n · LLM automation · OpenClaw · Oct 2025
Two attempts at the same question: how much of the job application grind can you actually automate? One built on n8n as a data pipeline, one rebuilt as a fully agentic system on OpenClaw.
People burn absurd amounts of time tailoring resumes, retyping the same information into every portal, and manually scraping job boards. Every step is repetitive. Every form field is a slight variation of the same fifteen questions. And yet we do it all by hand, one application at a time.
I wanted to see how far this could be pushed.
The first version is an n8n workflow. I picked n8n on purpose: I wanted to get comfortable with data flow thinking. How events move between systems, what lives where, how to drop an LLM into a graph as just another node.
entry_id=1_cqlxezlv widget_id=1_s6gjgdy6 title=n8n-resume
Architecture
Building this taught me more about data flow between modules than any one off script ever could. When you are forced to model "how does a new job listing become a customized PDF in Drive" as a graph, the shape of the whole system becomes obvious, and you start seeing where the leaks are.
Second version rebuilt the same flow as a fully agentic system using OpenClaw. One agent loop plus tool calls instead of a pre wired pipeline.
What OpenClaw is great at: prototyping. I had an end to end version running in a day. Zero plumbing. Just describe the tools, write the goal, let it rip.
Where it falls over: production. Rate limits, slow tool calls, reasoning drifting on long runs, unpredictable cost. For anything repetitive and deterministic, and job applications are extremely repetitive and deterministic, a user script is still more reliable than an agent.
What I am keeping from it: the heartbeat pattern. A persistent agent that survives across long running sessions and keeps its state updated is a genuinely useful primitive. That part I will reuse.
Lesson: agentic frameworks are ideal for MVPs, for validating the idea and proving the loop works. Once the loop is proven, rewrite the hot path as something boring and reliable.
Along the way I ended up benchmarking some off the shelf tools:
I am focused on the browser level automation piece. Specifically: a userscript that combines the reliability of hand written selectors with the flexibility of an LLM fallback when a form shape is new. Aiming for the productivity of JobRight with the extensibility of an agent.
This is the plain-HTML mirror served to crawlers, LLMs, and curl. Humans with a JavaScript-enabled browser see the rich React/XP-themed SPA at the same URL.