Inspiration The opportunities are out there. Most people just never find out they qualify. Every day, students and developers miss scholarships, startup grants, remote internships, hackathons, fellowships — not because they weren't good enough, but because nobody told them it existed in time. Right now opportunity discovery is completely backwards. You're stuck googling, scrolling LinkedIn, refreshing Devpost, digging through some university portal from 2019, hoping the right keyword happens to surface the right thing. And half the time you find it a week after the deadline, or you scroll right past something that would've been perfect for you. I wanted to flip that. Instead of people hunting for opportunities, build something that hunts for them on your behalf — something that actually understands your background, keeps looking while you sleep, figures out whether you're eligible, and tells you why it thinks this one's worth your time.

What it does Opportunity Hunter is an AI agent that acts as your own career scout, running on a few different models stitched together rather than one giant one doing everything. Building your profile Upload a resume, or just point it at your GitHub. It reads through your education, work, projects, and skills and builds an actual profile — not a bag of keywords it's trying to match against. Searching like a person would, not a search bar Instead of matching keywords, the agent reasons about who you are and decides for itself what to do next — search the web, pull out the relevant bits, filter what doesn't apply, check if you'd actually be eligible. The match score This is the part I care about most. Instead of dumping a list of links on you, it gives you a number — say, 96% — and actually explains itself: here's why you qualify, here's what you're missing, here's roughly what this would cost you in effort versus what you'd get back. Helping you actually apply Pick an opportunity and the AI will summarize the (often way too long) application page, turn it into a checklist of what's actually required, and draft a cover letter to get you started instead of staring at a blank page. Learning what you actually want It watches what you go for and what you skip. If you keep ignoring one category of opportunity while chasing another, it picks up on that and adjusts.

How I built it I leaned on GPT-5.6 and Codex heavily throughout — for architecture decisions, generating a good chunk of the codebase, debugging integration issues, and iterating fast on the agent workflow. I won't pretend I hand-wrote every line here; a lot of this build was me and GPT-5.6 going back and forth. The deployed app itself runs on a multi-model setup where each model handles what it's actually good at, rather than asking one model to do everything. Frontend Next.js (App Router), React, Tailwind, deployed on Vercel. Backend and AI layer FastAPI on Railway. I split this out from the frontend specifically because Vercel's serverless functions time out — and agent workflows that reason through multiple steps just don't fit in that window. The model stack

GPT-OSS-120B (NVIDIA NIM) does the heavy lifting — reasoning, eligibility scoring, deciding which tool to call next. Mistral Large 3 (NVIDIA NIM) handles resume parsing, pulling structured data out of messy documents, and writing cover letters. MiniMax M3 (via OpenRouter) handles tool calling and coordinates the actual search steps. DeepSeek V4 Pro (NVIDIA NIM) sits in reserve for the harder reasoning cases the others struggle with.

Data Supabase with pgvector, so I can do semantic similarity search over past opportunities — that's what powers the missed-opportunity tracking. Search Tavily handles live web search so the agent isn't limited to whatever it already knows.

Challenges I ran into Infrastructure, mostly. Agents don't wrap up in two seconds. Depending on how deep the search goes, this thing can take 30-45 seconds to reason through everything. I started with everything on Vercel and immediately hit the serverless timeout — the function would just get killed mid-reasoning. Splitting it (Next.js on Vercel, FastAPI agent backend on Railway) fixed that, though it took me longer than I'd like to admit to actually commit to the split instead of trying to squeeze more time out of Vercel. Getting different models to agree on a response format was its own headache. Every model has its own idea of how to format an answer, so I ended up writing fairly strict JSON schemas with validation on top, just so the frontend wasn't guessing what shape the data would come in. And then there's the free-tier juggling. NVIDIA NIM and OpenRouter rate limits meant I had to build retry logic and fallbacks so the whole thing wouldn't just fall over if one provider got flaky for ten minutes.

Accomplishments that I'm proud of The match score, honestly. Seeing it explain itself — "Python experience matches," "eligible for applicants from India" — instead of just handing over a black-box percentage is the thing I'd point to if someone asked what makes this different. I'm also glad I managed to get a genuinely multi-model, production-shaped system running almost entirely on free tiers. You don't need a huge compute budget to build something that reasons well — you need good orchestration.

What I learned The model size isn't the bottleneck. Orchestration is. Chaining specialized models together, forcing structured outputs, building the validation and guardrails that keep an autonomous agent from going off the rails — that's where the actual engineering was, not in picking a bigger model. If I had to boil it down to one sentence: opportunity discovery shouldn't be a list of search results, it should be something that actually knows who you are and reasons about what fits.

What's next for Opportunity Hunter Fully automated applications is the next big push — filling in the repetitive form fields, organizing the documents you need, walking you through submission where that's actually feasible to automate. I also want to widen the net: government grants, research funding, international fellowships, exchange programs — the stuff that's technically out there but buried in databases nobody thinks to check. Long term, I want this to be less "here's a list of things you might qualify for" and more an actual career agent — one that doesn't just surface opportunities but helps you get through the door.

Built With

  • agent
  • ai
  • deepseek-v4-pro
  • fastapi
  • gpt-oss
  • minimax-m3
  • mistral-large-3
  • next.js
  • nvidia-nim
  • openai
  • openrouter
  • pgvector
  • python
  • railway
  • react
  • supabase
  • tailwind-css
  • typescript
  • vercel
Share this project:

Updates