Classhopper is a matching layer, not a job board. We don’t host listings or charge companies to post. We collect what already exists and route it intelligently.
Step 1. Aggregation. We continuously pull job, internship, and gig listings from a curated set of sources.Step 2. Profile matching. Each student builds a profile once. Our matching model evaluates incoming listings against that profile, looking at fit, role type, geography, level, and work mode, then ranks relevance.Step 3. Web-based delivery. Matched results are currently delivered to the student through the web platform. Email delivery is on our roadmap and we’re actively working on it.Step 4. Invite-only access. Every account is unlocked through an invite code. This keeps the network composed of students who arrive through trusted channels: university partners, peer referrals, pilot programs.
Aggregation over publishing. Students benefit when the largest possible relevant opportunity set reaches them, regardless of where it was originally posted.AI matching over filters. Manual filters force students to know what they’re looking for before they find it. Matching surfaces opportunities they wouldn’t have searched for but should see.Invite-only over open signup. Quality of the network compounds when entry is curated. It also gives our partners (universities, communities, employers) a real distribution role.
We’re refining the matching model with a closed group of users. As the model matures, we’ll document the delivery mechanics and feedback loops here in more detail. For now, this page reflects the current state rather than a finished product.
We don’t sit between students and employers at application time. When a student decides to act on a match, they apply through the original employer’s channel. Classhopper’s value is in surfacing the right opportunity at the right moment, not in capturing the application flow.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ClassHopper Documentation","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/classhopper/K_lBC55asDt-PKRh/logo/light.png?fit=max\u0026auto=format\u0026n=K_lBC55asDt-PKRh\u0026q=85\u0026s=5dd57d9e1fdfa87579c034ef9994828b","dark":"https://mintcdn.com/classhopper/K_lBC55asDt-PKRh/logo/dark.png?fit=max\u0026auto=format\u0026n=K_lBC55asDt-PKRh\u0026q=85\u0026s=7de19722c9e4a8a16f278c3c9d0cce54"},"favicon":"https://mintcdn.com/classhopper/K_lBC55asDt-PKRh/favicon.ico?fit=max\u0026auto=format\u0026n=K_lBC55asDt-PKRh\u0026q=85\u0026s=fb2f5234123474d1fd864fb8a1e18965","footer":{"socials":{"reddit":"https://www.reddit.com/r/classhopper","linkedin":"https://www.linkedin.com/company/classhopper-app","github":"https://github.com/classhopperapp","instagram":"https://www.instagram.com/classhopperapp"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"classhopper","hasAudioNarration":false,"actualSubdomain":"classhopper","customDomains":["docs.classhopper.io"],"gitSource":{"type":"github","owner":"classhopperapp","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a20c7b180f8b2ad207ac0fc","collectionId":"06033db5-9404-41d2-8cab-59d984e78802","schemaVersion":"v2"},"feedback":{"thumbs":true,"edits":true},"entitlements":{},"buildId":"6a20c7b180f8b2ad207ac0fc:success","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Home","count":3}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"how-it-works","slug":"/how-it-works","pageMetadata":{"title":"How Classhopper Works","description":null,"href":"/how-it-works"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Classhopper is a matching layer, not a job board. We don’t host listings or charge companies to post. We collect what already exists and route it intelligently.`}),`\n`,_jsx(Heading,{level:`3`,id:`the-flow`,children:`The flow`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step 1. Aggregation.`}),` We continuously pull job, internship, and gig listings from a curated set of sources.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step 2. Profile matching.`}),` Each student builds a profile once. Our matching model evaluates incoming listings against that profile, looking at fit, role type, geography, level, and work mode, then ranks relevance.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step 3. Web-based delivery.`}),` Matched results are currently delivered to the student through the web platform. Email delivery is on our roadmap and we’re actively working on it.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step 4. Invite-only access.`}),` Every account is unlocked through an invite code. This keeps the network composed of students who arrive through trusted channels: university partners, peer referrals, pilot programs.`]}),`\n`,_jsx(Heading,{level:`3`,id:`why-this-model`,children:`Why this model`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Aggregation over publishing.`}),` Students benefit when the largest possible relevant opportunity set reaches them, regardless of where it was originally posted.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`AI matching over filters.`}),` Manual filters force students to know what they’re looking for before they find it. Matching surfaces opportunities they wouldn’t have searched for but should see.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Invite-only over open signup.`}),` Quality of the network compounds when entry is curated. It also gives our partners (universities, communities, employers) a real distribution role.`]}),`\n`,_jsx(Heading,{level:`3`,id:`where-we-are-now`,children:`Where we are now`}),`\n`,_jsx(_components.p,{children:`We’re refining the matching model with a closed group of users. As the model matures, we’ll document the delivery mechanics and feedback loops here in more detail. For now, this page reflects the current state rather than a finished product.`}),`\n`,_jsx(Heading,{level:`3`,id:`what-we-don’t-do`,children:`What we don’t do`}),`\n`,_jsx(_components.p,{children:`We don’t sit between students and employers at application time. When a student decides to act on a match, they apply through the original employer’s channel. Classhopper’s value is in surfacing the right opportunity at the right moment, not in capturing the application flow.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"How Classhopper Works","description":null,"href":"/how-it-works"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The flow","slug":"the-flow","depth":3,"children":[]},{"title":"Why this model","slug":"why-this-model","depth":3,"children":[]},{"title":"Where we are now","slug":"where-we-are-now","depth":3,"children":[]},{"title":"What we don’t do","slug":"what-we-don’t-do","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"classhopper","siteName":"ClassHopper Documentation","title":"How Classhopper Works - ClassHopper Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-05T15:42:55.457Z","originalFileLocation":"how-it-works.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"ClassHopper Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How Classhopper Works - ClassHopper Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ClassHopper Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.classhopper.io/how-it-works\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://classhopper.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=How+Classhopper+Works\u0026amp;theme=9a6e461892ce51de1b03f781\u0026amp;signature=e9a422a2c72654c78cd5ab25f8a22dc0c1838e5707b7f8a04e3e4466dab6533a\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How Classhopper Works - ClassHopper Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://classhopper.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=How+Classhopper+Works\u0026amp;theme=9a6e461892ce51de1b03f781\u0026amp;signature=e9a422a2c72654c78cd5ab25f8a22dc0c1838e5707b7f8a04e3e4466dab6533a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/classhopper/1Ym_SSafjc1M5sfW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ClassHopper Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.classhopper.io/how-it-works\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/how-it-works.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.classhopper.io/#organization\",\"name\":\"ClassHopper Documentation\",\"url\":\"https://docs.classhopper.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/classhopper/K_lBC55asDt-PKRh/logo/light.png?fit=max\u0026auto=format\u0026n=K_lBC55asDt-PKRh\u0026q=85\u0026s=5dd57d9e1fdfa87579c034ef9994828b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.classhopper.io#website\",\"name\":\"ClassHopper Documentation\",\"url\":\"https://docs.classhopper.io\",\"publisher\":{\"@id\":\"https://docs.classhopper.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.classhopper.io/how-it-works#webpage\",\"url\":\"https://docs.classhopper.io/how-it-works\",\"name\":\"How Classhopper Works\",\"dateModified\":\"2026-05-05T15:42:55.457Z\",\"isPartOf\":{\"@id\":\"https://docs.classhopper.io#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.classhopper.io/how-it-works#article\",\"headline\":\"How Classhopper Works\",\"name\":\"How Classhopper Works\",\"url\":\"https://docs.classhopper.io/how-it-works\",\"mainEntityOfPage\":{\"@id\":\"https://docs.classhopper.io/how-it-works#webpage\"},\"dateModified\":\"2026-05-05T15:42:55.457Z\",\"publisher\":{\"@id\":\"https://docs.classhopper.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.classhopper.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ClassHopper Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ClassHopper Documentation","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Welcome to Classhopper","description":null,"href":"/introduction"},{"title":"How Classhopper Works","href":"/how-it-works"},{"title":"Methodology \u0026 Principles","description":null,"href":"/methodology"}]}]},"title":"How Classhopper Works - ClassHopper Documentation","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}