VIBELINK
Autonomous Contract Job-Hunt Engine

Hunting for fully-remote contract work is its own full-time job. The boards are noisy — stale listings, roles tagged 'remote' that quietly expect you in an office two days a week, and a hundred near-misses for every genuine fit. Worse, the part that actually wins contracts — a tailored, human first message to the right person — is exactly the part that does not scale when you are doing it by hand a dozen times a day.
Origin Story

I built VibeLink for myself. After moving to independent contracting I needed a private engine that did the tedious half of the search so I could spend my attention on the conversations that mattered. Access is allow-listed by design — this is a personal tool first, not a public job board, and the front end deliberately shares the stripped-back, monospace aesthetic of this very dossier.
How It's Built
The guiding principle was 'surfaced on demand, ranked against your CV, outreach drafted in your voice'. Rather than scraping everything and dumping a list, VibeLink pulls roles when you ask, scores each one against your actual CV so the strongest fits rise to the top, and drafts a first approach in a tone that reads like you wrote it — not like a template.
Engineering Notes
Ranking, not scraping
VibeLink doesn't dump a feed. It fetches roles on demand, de-duplicates them live, and scores each one against your actual CV — skills, stack, seniority, domain — so the strongest fits surface first and the obvious mismatches never reach you. The signal-to-noise ratio is the entire product.
Outreach in your own voice
The first approach message is the part that wins contracts and the part that doesn't scale by hand. Gemini drafts it grounded in how you actually write, so it reads human rather than templated — no give-away phrasing, no generic cover-letter skeleton.
Private by construction
Access is Google sign-in behind an explicit allow-list, with per-user quotas enforced by a Cloud Functions gateway. It's an instrument for one operator, built to be cheap to run idle and fast on demand — not a SaaS, and deliberately so.
VibeLink is a quiet productivity multiplier. It does not promise to find you a job — it removes the friction between you and the few conversations actually worth having, and hands back the hours you would otherwise lose to triage. The best tools are the ones you build for an itch only you have; this was mine.
What It Does
On-Demand Discovery
Fully-remote contract roles are surfaced when you ask for them rather than sitting in a stale, ever-growing feed. The engine fetches and de-duplicates live, so what you see is current.
CV-Aware Ranking
Every role is scored against your own CV — skills, stack, seniority and domain — so the best-matched contracts rise to the top and the obvious mismatches never reach you.
Voice-Matched Outreach
The first approach message is drafted in your own voice, ready to review and send. It reads like a human wrote it because the model is grounded in how you actually write, not a generic cover-letter skeleton.
Remote-Only Filter
Hybrid and on-site listings dressed up as 'remote' are filtered out aggressively. Only genuinely location-independent contracts make it through.
Allow-Listed Access
Google single sign-on gated by an explicit allow-list keeps the tool private. It is an instrument for one operator, not a SaaS — and it stays that way.
Where It Stands
VibeLink runs as a private, allow-listed engine and already does the tedious half of my search end-to-end. Next is widening the sources it draws from and tuning the CV-match scoring with feedback from which outreach actually lands.
The front end is Next.js with TypeScript and Tailwind CSS, carrying the same restrained, terminal-inspired visual language as the rest of my engineering work. Identity is handled by Firebase Auth with Google sign-in, gated behind an allow-list so access stays deliberate. The discovery and ranking work runs serverless on Google Cloud Functions, with Gemini doing the language-heavy lifting — scoring each role against the CV and drafting outreach in a grounded, personal voice. Firestore persists session state, saved roles and draft history. The whole thing is built to be cheap to run idle and fast on demand.