Curastem.org is a 501(c)(3) nonprofit building public-interest job data at scale. The core product is a growing corpus of 500,000+ job postings updated hourly. We are working toward becoming the Wikipedia for jobs (open and community-aligned job information) and are actively seeking funding to accelerate that mission.
Alongside jobs, Curastem.org delivers live mentorship (including real-time video) and AI assistance across resumes, applications, scholarships, and career questions.
⬅️ Support this non-profit with a star! ⭐️
Job information is fragmented behind proprietary search UIs and short-lived postings. Students and workers need trustworthy, durable, and reusable job data, not only another job board. Curastem combines open data infrastructure with human mentorship so guidance and opportunity can scale together. AI is in the data pipeline and mentor experience.
- Jobs at the center — Hundreds of thousands of postings in D1, with ongoing ingest and enrichment (including AI where it helps).
- Public API and MCP — REST at
api.curastem.orgplus an MCP server for agents. - MCP on the main site — Job search and context are first-class on Curastem.org.
- Live mentorship — Real-time video and chat between students and mentors.
- AI throughout — Mentor-side assistance (e.g. Gemini Live), skills menu, and jobs enrichment.
- Open source — AGPL-3.0 so the community can inspect, improve, and reuse the stack.
Contributions welcome across new job sources and fetchers, ingest, API design, MCP tools, Framer components, and docs.
- Found a bug? Open an issue.
- Have an idea? Start a discussion.
- Want to contribute? Check open issues and open a PR.
Curastem is a 501(c)(3) nonprofit. What we ship is meant for students and job-seekers who need fair access to opportunity and guidance.
| Package | Role |
|---|---|
curastem-jobs-api/ |
Cloudflare Worker — ingests jobs, stores them in Cloudflare D1, REST API at api.curastem.org |
curastem-jobs-mcp/ |
Model Context Protocol server over the jobs API (search, job details, similar roles, market views) |
agent-skills-api/ |
Cloudflare Worker — skill catalog for slash commands in web.tsx (skills.curastem.org) |
blog-writer-ui/ |
Internal Next.js app for blog authoring (publishes to Framer CMS) |
web.tsx |
Framer code component — AI chat, Gemini Live, mentorship UI |
skills/ |
SKILL.md files used by agent-skills-api |
The jobs MCP is integrated on curastem.org so the live site fetches the same job corpus developers get via the API and MCP tools.
The highest-impact contributions are new public job sources that are not already in Curastem. More boards mean better coverage on Curastem.org and for anyone using the API and MCP.
Many companies publish open roles on a supported ATS (Greenhouse, Lever, Ashby, JazzHR, Workday, SmartRecruiters, and more). For easy edits, you can often add jobs from a company by adding a company name and URL to migrate.ts. Further details and field meanings are in Adding a new source.
If the careers feed is not covered yet, implement a new fetcher and register it. Follow Adding a new ATS type and the deeper walkthrough in CONTRIBUTING.md. Read ARCHITECTURE.md first so changes stay aligned with ingestion and deduplication.
Install and Wrangler setup live under Local development. The MCP server in curastem-jobs-mcp/ consumes the same API for tools used on curastem.org.
To experiment with backend and UI changes to curastem.org, import web.tsx into a Framer project.
AGPL-3.0. If you modify this software and run it as a service, share your source so job data and mentorship stay open for everyone.
Built by Curastem. Open data for jobs, real humans for mentorship, AI where it helps.