The problem I kept hitting
I would open a tab for a scholarship deadline, another for a fellowship someone mentioned, and another for an organization I meant to revisit. By the time I returned, the tab was closed or the deadline had passed.
The information existed. It was scattered across organization sites, job boards, event feeds, newsletters, and search results with no shared structure.
One product, two kinds of evidence
stem·spark combines two sources that should not pretend to have the same level of review.
The core directory contains hand-curated scholarships, programs, organizations, conferences, courses, and communities. Time-sensitive opportunities come through eight live resource endpoints for jobs, events, hackathons, grants, mentors, organizations, books, and podcasts.
A daily refresh updates their caches independently, so one failed source does not erase every other feed. Shared normalization, deduplication, and expiration filtering make the results consistent enough to browse together.

Discovery starts with the visitor's goal
The searchable directory supports direct browsing by category, cost, and region. Pathfinder adds a guided route for visitors who do not yet know which category to choose. It matches stage, field, region, goal, and cost preference against the catalog, then groups the results so the person can compare relevant options instead of scanning everything.
Deadlines remain a first-class signal. Closing-soon opportunities rise above the rest of the list, each card shows time remaining, and expired items leave that rail. Global search gives returning visitors a faster route across the site.
How the directory stays fresh
curated · typed TS
Verified entries
Scholarships · orgs · programs · conferences · mentorship · courses · communities
8 live feeds
Time-sensitive listings
Jobs (Remotive, Arbeitnow, WWR…), events, grants, hackathons — via REST/RSS
client-side
Filter by category · cost · region + search
useMemo over the combined set — no database round-trip
closing soon
Sort by deadline, drop the expired
Scholarships with a date, soonest first, top of the page
Remembering progress without an account
There are no accounts. Bookmarks save in local storage, synchronize across tabs, and appear on a Saved page. That keeps the interaction private and immediate, although saved items do not follow someone to another browser or device.
The site should reduce the work of finding an opportunity without asking for personal data first.
Trust needs more than a current-looking card
The site records link-freshness results for the curated catalog and shows trust badges beside resources. Those signals help expose stale or redirected links, but they do not make every listing verified.
A successful link check proves only that a URL responded. Live feeds inherit whatever omissions or stale metadata their publishers provide. The interface therefore treats live results as leads to inspect at the original source, while the curated core receives the slower manual review path.
The distinction is more useful than a generic “verified” label because it tells the visitor what kind of confidence the product can actually support.
What remains
The project still depends on upstream APIs and a single maintainer. Source coverage is uneven across regions and fields, and freshness checks cannot validate every deadline or eligibility rule.
A submission workflow could improve coverage, but suggested entries would still need review before entering the curated catalog. The next product question is not simply how to add more feeds. It is how to show coverage, provenance, and uncertainty clearly enough that a visitor knows what to trust and what to confirm.



