Skip to content
DnsLister Forum

Where domain hunters compare notes

Built a personal job-scraping/qualifying pipeline on a $0 old laptop with 3.3GB RAM — here’s the actual stack

I created a personal job-scraping and qualifying system using an old laptop with 3.3GB RAM — here’s the actual technology stack.

Currently seeking job opportunities in GTM, RevOps, and automation roles, I grew weary of the tedious task of manually filtering through duplicate and inconsistent job postings across various platforms. To solve this issue, I repurposed an old Lenovo Ideapad, typically deemed obsolete, into a self-hosted automation tool that manages the sourcing and qualification process for me.

Hardware/host specifications include:

Lenovo Ideapad 110-15IBR running Ubuntu with approximately 3.3GB of usable RAM.

The firewall is configured with UFW, applying a deny-by-default policy, with no ports forwarded on the router.

The technology stack consists of:

n8n, deployed using single-container Docker Compose (I completely avoided Redis/Postgres and opted for SQLite, enabling execution data pruning to prevent memory bloating on this limited RAM).

Tailscale provides remote access without requiring port forwarding, offering a functional HTTPS domain through Magic DNS, and tailscale serve reverse-proxies directly to the n8n container running on localhost. This setup avoids any public attack surface.

There was a temporary issue with container DNS where Docker could not access Ubuntu’s local resolver (127.0.0.53), resulting in failed HTTP Request nodes when attempting to call external APIs, which I resolved by hardcoding the DNS to 8.8.8.8 and 1.1.1.1 in compose.yml.

Remote administration is facilitated via tailscale up –ssh, eliminating the need for an exposed port 22 or complications with a VPN client, allowing for identity-based access from another laptop or phone.

Functionality includes:

Daily retrieval of job listings from several job APIs, applying three distinct deduplication methods (batch, ID, and fuzzy title/company matching — one deduplication step alone isn’t sufficient), scoring each listing on a scale from 0 to 100 based on a rubric using an LLM, and transferring qualified listings into Airtable. Instead of having to check five tabs manually, I receive a dashboard each morning.

Challenges faced include:

Google OAuth frequently disconnecting as the consent screen remains stuck in "Testing" mode — this issue has not yet been properly resolved.

No applications have been sent out from the pipeline to date — it serves solely as a sourcing and qualifying layer, not an automated application system, and I still need to finalize that last step manually.

I am primarily sharing this because I found limited information on operating n8n in such a resource-efficient manner (no queue mode, no separate database) on genuinely underpowered hardware — most resources presume access to a VPS with substantial specifications. I am willing to share the compose file or specific node configurations if anyone is attempting a similar project on low-spec hardware.

https://i.redd.it/p69tqeofohrh1.jpeg

Source: r/homelab · by /u/Top_Conflict_7240

Leave a Reply

Your email address will not be published. Required fields are marked *