Docker, n8n, and Gemini: Building the Ultimate Job Hunting Machine

Olivier Krieger
30.01.2026 · 8 min read

How I built a workflow that fetches emails, analyzes fit against my CV, and writes cover letters while I sleep.

The Problem: Drowning in Job Alerts

Every day, my inbox is flooded with 2 to 4 summary emails from LinkedIn based on my search criteria. That totals around 15 to 25 job offers daily. Reviewing them all manually was becoming a full-time job in itself.

Before automating, I broke down my manual process to understand exactly what I needed to replicate:

  1. The Click: Open the job URL from the email.
  2. The Skim: Quickly scan for deal-breakers: languages required, location, remote policy, industry, and experience level.
  3. The Deep Dive: If the “skim” looked promising, I’d read the full description to ensure alignment.
  4. The AI Assist: I would then paste the text into Gemini Pro to confirm the fit, ask for CV tailoring advice (balancing its creativity with reality), and draft a narrative cover letter.

My reasoning was simple: If I can define the logic, I should be able to automate the execution. I wanted an automated email for every job offer containing a “fit percentage,” a gap analysis, and a draft cover letter.

The Stack: Going Local with “Vibe Coding”

After some research, I realized n8n was the perfect orchestration tool. However, I didn’t want to pay for the cloud service, so I decided to self-host it locally.

This is where this project turned into a true “Vibe Coding” experiment. I didn’t just use AI in the workflow; I used AI to build the workflow.

  • Infrastructure: Gemini Pro guided me through installing Docker and setting up n8n on my local machine.
  • Workflow Logic: I used Gemini Pro extensively to design the n8n nodes—not just writing code snippets, but identifying the right modules to use.
  • The Scraper: Setting up Gmail was easy, but scraping LinkedIn is notoriously difficult due to anti-bot protections. I chose Browserless for this, but the configuration was complex. Without Gemini Pro, it would have taken me days to figure out the headers and selectors needed to make it work.

In total, it took me about 8 hours to go from “I have an idea” to a fully functioning solution.

The Result

Now, the workflow runs automatically. It grabs the URL, scrapes the page, uses Gemini Pro to analyze the text against my resume, and emails me a comprehensive report.

To Illustrate what it does, I receive a LinkedIn email like to one below:

Here is an actual example of what I receive in my inbox less than a minute after a job is posted:


Job URL :https://www.linkedin.com/jobs/view/43668XXXXXX

### JOB APPLICATION ANALYSIS

JOB TITLE: Deloitte | AI & Data Consultant/Manager (AI & Data Team)
ALIGNMENT: 82%
JOB DESCRIPTION: This role focuses on helping clients navigate digital transformation by developing data strategies and designing complex AI/Analytics solutions. It requires a “Business-IT Translator” who can bridge the gap between technical teams and executive business needs, driving AI use cases from concept to production while managing client relationships and business development.
LANGUAGES: English (Fluent), German and/or French (Highly Preferred).
JOB LOCATION: Basel, Zurich, or Geneva. Work pattern is 80-100%. Remote policy is described as “flexible and hybrid,” though specific days are not mentioned.
REPORTING: Not explicitly mentioned, but the role involves guiding “nearshore and offshore technical implementation teams.”
EXPERIENCE:
Your CV: 20+ years of commercial leadership, P&L management, and strategic account management for global brands (XXXXX/XXXXXX). Early career as a Lead Developer and Senior Business Analyst.
Gap: The JD asks for 3+ years of practical experience in consulting or tech companies specifically in data-driven fields. While you have the tech company experience, your recent roles have been “Sales/Commercial” focused rather than “Delivery/Consulting” focused. However, your current AI/ML studies at Imperial College directly address this pivot.
QUALIFICATION:
Your CV: MBA (Warwick), BTEC IT, and currently pursuing a Professional Certificate in Machine Learning & AI at Imperial College.
Gap: The JD asks for a “Strong Engineering and/or Mathematics background” and “Solid experience with Python.” Your background is IT/Business. You are currently building the Python/AI expertise, but the JD implies “solid experience” (past tense), which you’ll need to frame as “current intensive application.”
VERTICAL:
Your CV: Expertise in Retail, CPG (Consumer Packaged Goods), and Luxury (XXXX, YYYYYY, ZZZZZ).
Gap: Deloitte mentions Banking, Insurance, Life Science, or Healthcare as advantageous. You will need to emphasize how your work with XXXXXX and YYYYYYY (complex, regulated global entities) translates to these other highly regulated sectors.

### 1) RECOMMENDED CV CHANGES

To better align with a “Consulting” and “AI/Data” role rather than a “Sales” role, make the following precise adjustments:

A. Header/Summary Profile
REPLACE: “Senior Commercial Director & Strategic Account Leader… Senior Commercial Leader with 20+ years of experience driving revenue growth…”
WITH: “Senior Strategic AI & Data Consultant | Business-IT Translator. Senior leader with 20+ years of experience bridging the gap between complex technical solutions and executive business value for global brands (XXXXX, YYYYYY, ZZZZZZ). Currently specializing in AI/ML at Imperial College to drive data-led organizational transformation and operational excellence.”

B. Core Competencies Section
REPLACE: “Commercial Strategy: P&L Management, Turnover Growth…”
WITH: “Data Strategy & AI: Data-Driven Decision Making, AI/ML Implementation (In-Progress), Business-IT Translation, Digital Transformation, ROI & Value Realization, Python, Stakeholder Management.”

C. Current Role (YYYYY) – Bullet Point 2
REPLACE: “Drove $790k in expansion ARR… by identifying market opportunities and guiding customers through the adoption of advanced analytics…”
WITH: “Directed Data & AI Use Cases: Guided Fortune 500 clients through the adoption of advanced analytics and PIM modules, translating business requirements into technical blueprints to drive a $1.6M agreement focused on data-driven growth.”

D. Experience at XXXXXXX
REPLACE: “Rapid Progression: Advanced rapidly from Lead Developer to Senior Business Analyst…”
WITH: “Business-IT Translator & Technical Lead: Bridged the gap between IT and European business leadership, defining e-business roadmaps across 15 countries and leading the technical rollout of SAP ERP and €150M sales platforms.”

### 2) COVER LETTER

Dear Hiring Team,

In a business landscape increasingly defined by the ability to extract value from information, the role of a “Business-IT Translator” has never been more critical. Having spent over two decades at the intersection of commercial strategy and technical execution for global icons like XXXXX and YYYYY, I have seen firsthand that the most successful digital transformations are those that prioritize human-centric data solutions. I am writing to express my strong interest in the AI & Data team at Deloitte, a firm I admire for its commitment to helping clients navigate the future with confidence through clear, data-driven choices.

My career has been defined by a relentless curiosity and a passion for understanding how technology can solve the most pressing business issues. While my recent years have been spent in senior commercial leadership, managing P&L and strategic accounts for AAAAAA, my foundation is deeply technical. I began my journey as a Lead Developer and Senior Business Analyst at BBBBBB, where I learned to translate complex system architectures into business roadmaps across fifteen countries. This dual perspective allows me to communicate as effectively with a technical implementation team as I do with a C-suite executive. To further sharpen this edge, I am currently pursuing a Professional Certificate in Machine Learning and Artificial Intelligence at Imperial College London. This intensive program is allowing me to apply my mathematical background to modern challenges, specifically developing proficiency in Python and understanding the production requirements for Large Language Models.

One of my core strengths is my ability to foster collaboration across diverse, multi-national teams. I have extensive experience working remotely and leading cross-functional groups across different regions, ensuring that strategic alignment is maintained even in high-paced, distributed environments. Whether I am restoring a distressed relationship with a Tier-1 client or spearheading a European distribution network, my focus remains on operational excellence and the realization of ROI. I am an avid learner who thrives on variety, and I am eager to bring this mindset to Deloitte’s diverse client base, moving beyond the retail and luxury sectors into the complex worlds of Life Sciences and Banking.

I am particularly drawn to Deloitte’s AI & Data team because of your focus on driving use cases from business value concept all the way to production. This “end-to-end” mindset aligns with my own professional philosophy of ensuring that technology is never an end in itself, but a catalyst for growth and efficiency. I am confident that my blend of senior leadership experience, current AI specialization, and my native fluency in French and English would make me a valuable asset to your team in Zurich, Geneva, or Basel.

Thank you for your time and for considering my application. I look forward to the possibility of discussing how my background in strategic data transformation can contribute to the continued success of Deloitte and your clients.

Sincerely,

XXXXX XXXXXXX

Conclusion

As you can see, the output isn’t perfect at all—it still requires a very significant human review—but it changes the game entirely. Instead of starting from scratch with every single email, I now skim through a highly structured report and have a set of ready-made recommendations for both my CV and the Cover Letter.

It’s productivity through “Vibe Coding” at its finest.