-
-
Opportunity Hunter — live, personalized opportunity search powered by SerpApi.
-
Live search funnel: AI queries → SerpApi results → deduped sources → ranked actions.
-
OpenAI generates eight profile-specific queries; each query is executed through SerpApi.
-
Every recommendation keeps its SerpApi query, Google position, source link, eligibility, risk, reward, deadline, Why You and AI Advantage.
Inspiration
Google finds pages. Opportunity Hunter finds actions.
Thousands of grants, hackathons, bounties, competitions, fellowships, and funding opportunities appear online, but finding them is only half the problem. The harder question is: Which of these is actually worth pursuing for me?
A developer in Montenegro, a student in Germany, and a startup in the US should get completely different results. Opportunity Hunter combines live web discovery with personal context to answer that question.
What it does
A user enters residence, citizenship, skills, and optional constraints such as capital, available time, interests, and exclusions. Opportunity Hunter then:
- Uses OpenAI to analyze the profile and generate eight diverse, profile-specific search queries.
- Runs every query through SerpApi Google Search.
- Normalizes URLs, removes tracking parameters, and deduplicates sources.
- Uses a second, evidence-bound OpenAI pass to extract and rank 3–7 actionable opportunities.
- Shows a personalized score, Why You, AI Advantage, reward, deadline, eligibility, risk, next action, and exact source provenance.
A real example
For the demo profile — a programmer living in Montenegro with limited capital and no interest in active sales — a live run on September 3, 2026 generated eight independent searches. Seven searches succeeded, returning 61 live Google results through SerpApi. Opportunity Hunter reduced them to 60 unique sources, analyzed 48 candidates, and returned five ranked opportunities.
The top match was the Nebius x NVIDIA Global AI Hackathon, scored 92/100, followed by a bug bounty, AI fellowships, and a Western Balkans innovation grant. One failed search did not cancel the successful results.
How we built it
The app is a single-page React and TypeScript experience deployed on OpenAI Sites with server-side route handlers. API keys never reach the browser.
The pipeline is:
Profile → OpenAI search plan → SerpApi multi-query Google Search → URL normalization and dedupe → OpenAI extraction and ranking → traceable actions
SerpApi requests use bounded four-request concurrency. Final recommendations are discarded unless their source IDs resolve to real SerpApi organic results, and clearly expired opportunities are filtered out.
Why SerpApi is core
SerpApi isn't used to enrich an answer after generation — it is the discovery engine. OpenAI decides what to search; SerpApi discovers what exists now; OpenAI decides what is worth acting on.
Every recommendation originates from current Google results returned by SerpApi. The interface exposes the exact AI-generated query, Google position, source title, and original link. If SerpApi returns no usable results, the system stops instead of inventing opportunities.
Challenges we ran into
The hardest problem was making AI useful without letting it detach from evidence. Search results can be duplicated, incomplete, stale, or inconsistent. We addressed this with URL canonicalization, source IDs, strict JSON schemas, evidence-bound prompts, deadline filtering, and graceful partial failures.
Accomplishments that we're proud of
- Eight live, profile-specific searches instead of hardcoded opportunity records.
- Source-bound recommendations with visible SerpApi provenance.
- Personalized scoring around geography, citizenship, skills, capital, time, and preferences.
- A transparent funnel from raw Google results to deduplicated sources, reviewed candidates, and ranked actions.
- End-to-end production deployment with server-side secrets.
What we learned
Live search and generative AI work best as complementary layers: SerpApi supplies fresh, inspectable evidence, while OpenAI turns that evidence into a decision tailored to one person.
What's next
Saved profiles, scheduled re-checks, deadline alerts, and application checklists.
Built With
- ai
- cloudflare-workers
- google-search-api
- json-schema
- openai-api
- openai-sites
- react
- serpapi
- typescript
Log in or sign up for Devpost to join the conversation.