routerEntryHandlers = []; addRouterEntryHandler = (handler) => { routerEntryHandlers.push(handler); }; removeRouterEntryHandler = (handler) => { routerEntryHandlers = routerEntryHandlers.filter((h) => h !== handler); }; routerEntry = (path, title) => { routerEntryHandlers.forEach((handler) => handler(path, title)); }; copyText = (text, message, alert) => { navigator.clipboard.writeText(text).then(() => { (alert !== false) && $alert.notify({ type: 'success', message: (message || 'Text copied to clipboard.'), toast: true, }); }); };
$$class(document.body).toggleOn(loading, 'overlay');
Loading...
const title = ({"title":"Students"}).title; document.title = `${title} | CircleUp`;
loaded = false; loaderWidth = 0; loaderDelay = 20; loaderDelayOffset = 80; loaderMultiplier = 5; updateLoader = () => { if (!$rel.lt(loaderWidth, 100)){ loaded = true; $nav && ($nav.show = true); $footer && ($footer.show = true); $student && ($student.show = true); } else{ loaderWidth += Math.floor(Math.random() * loaderMultiplier); window.setTimeout(updateLoader, loaderDelay + Math.floor(Math.random() * loaderDelayOffset)); } }; window.setTimeout(updateLoader, loaderDelay + Math.floor(Math.random() * loaderDelayOffset));
CircleUp logo
$scope.id = 'L3ezWhpZOY2rE7Zz'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.slideUp = $animation.translate({ axis: 'y', from: 10, to: 0, unit: 'rem', }); $scope.animate = [false, false, false, false]; $scope.checkpoint = [0, 0, 0, 0]; const parent = $parent; if (parent.animate){ let wait = 0; for (let index = 0; index < 4; ++index){ if (wait != 0){ const checkpoint = ++$scope.checkpoint[index], scope = $$scope(this); window.setTimeout(() => (scope.animate[index] = $log.and(scope.checkpoint[index] == checkpoint, parent.animate)), wait); } else{ $scope.animate[index] = true; } wait += 50; } } else{ $scope.animate = [false, false, false, false]; }

Get Hired,
Be Empowered,
Go Global...
From College.

Connect with top employers, build essential skills, and launch your global career—starting right from your campus.

Illustration 01_01
Illustration 01_02
Illustration 01_03
Illustration 01_04
$scope.id = 'Lr5wc0gSMzRe3VeW'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.zoom = $animation.scale({ axis: 'both', origin: { x: 'center', y: 'center' }, from: 2.5, to: 1, }); $scope.mask = []; $scope.ready = [false, false]; $scope.text = ['All Your Career Needs', 'On A Single Platform']; $scope.index = [0, 0]; $scope.onReady = () => { const scope = $$scope(this); scope.mask.forEach(mask => { mask.setAttribute('hx-tick.delay.50.stopped', ''); mask.setAttribute('hx-effect', '$scope.onTick(this)'); }); $nextTick(() => { scope.loaded = true; scope.ready.forEach(ready => ready && scope.onTransition(index, true)); }); }; $scope.onTick = (mask) => { const tick = $tick; tick.steps; if (!tick.running){ return; } const scope = $scope, index = $static(scope.mask.findIndex(m => m === mask)); if (!$static($rel.le($scope.index[index], $scope.text[index].length))){ window.setTimeout(() => tick.stop(), 0); index == 0 && window.setTimeout(() => scope.onTransition(1, true), 0); } else{ $scope.index[index] = $static($scope.index[index]) + 1; } }; $scope.onTransition = (index, after) => { const scope = $$scope(this); scope.ready[index] = after; if (!scope.loaded){ return; } const tick = $$tick(scope.mask[index]); if (!tick || typeof tick.run !== 'function'){ return; } if (after){ tick.run(); scope.index[index] = 0; } else{ tick.stop(); } }; $scope.getText = (index) => { const scope = $scope; scope.index; return scope.ready[index] ? scope.text[index].substring(0, scope.index[index]) : ''; }; $parent.onAnimate = (animate) => { const scope = $$scope(this); if (!scope.loaded){ return; } for (let index = 0; $rel.lt(index, 2); ++index){ scope.ready[index] = false; scope.index[index] = 0; $$tick(scope.mask[index]).stop(); } };

All Your Career Needs

Illustration 02

On A Single Platform

$scope.id = 'u2uYndg8zX63a8ng'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.slideUp = $animation.translate({ axis: 'y', from: window.screen.height, to: 0, unit: 'px', }); $scope.slideBoth = $animation.translate({ axis: 'y', factor: [-(window.screen.width * 33), window.screen.height], unit: 'px', }); $scope.slideBoth2 = $animation.translate({ axis: 'y', factor: [-(window.screen.width * 66), window.screen.height], unit: 'px', });

Meet.

Meet with Students from Universities and Colleges Around the World—Expand Your Network and Share Opportunities on CircleUp.

Download the app

Connect.

Connect with a mentor. Build lasting relationships with industry experts who guide you toward success, all from the CircleUp app.

Get started

Engage.

Engage directly with leading employers, showcase your skills, and unlock opportunities tailored to your career goals.

Find student jobs
$scope.id = 'Lk444aoDvG5GSHMK'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.slideLeft = $animation.translate({ axis: 'x', from: window.screen.width, to: -window.screen.width, unit: 'px', }); $scope.onTransitionLeave = () => { const scope = $scope, parent = $parent; if (scope.animate && parent.animate){ scope.animate = false; $nextTick(() => parent.animate && (scope.animate = true)); } }; $scope.animate = $parent.animate;

What you get with CircleUp

$scope.id = 'ByTCBJiBMs5jPeMJ'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };

Get matched with jobs from our partners with Circleup Intelligence.

With our AI matching algorithm we’ve partnered with top companies to bring you exclusive job opportunities & our platform matches you with roles that align with your skills and career goals.

Illustration
$scope.id = 'uPZewVcQ6uT2SIYB'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.slideUp = $animation.translate({ axis: 'y', from: window.screen.height, to: 0, unit: 'px', });

Join a vibrant global community of students.

Connect, grow, and thrive with students worldwide—build lasting relationships, share opportunities, and shape your future together.

Illustration
$scope.id = 'D4JmIm0fgsxBKDQX'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.slideUp = $animation.translate({ axis: 'y', from: window.screen.height, to: 0, unit: 'px', });

Need support? Talk to a Career Coach.

Stay ahead. Get one-on-one support from a career coach to navigate your job search journey. Access tools and resources to build a strong resume, ace interviews, and more.

Illustration
$scope.id = '898WMhntO7TYmH2s'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.slideUp = $animation.translate({ axis: 'y', from: window.screen.height, to: 0, unit: 'px', });

Build Circles, host college events, join Conversations.

Create meaningful connections, lead campus initiatives, and engage in career defining discussions that shape your future.

Illustration
$scope.id = 'aV4iZshojJveSmBs'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };
$scope.slideUp = $animation.translate({ axis: 'y', from: window.screen.height, to: 0, unit: 'px', });

Verify your skills, unlock more career opportunities.

Showcase your verified skills to stand out to employers and access a wider range of job prospects tailored to your expertise.

Illustration
$scope.id = 'vZbdBgzemaVKwsE4'; $scope.anchors = []; $scope.visible = [false, false]; $scope.updateIntersection = (state, el) => { const scope = $$scope(this), index = scope.anchors.findIndex(a => a === el), altIndex = index == 0 ? 1 : 0; if (scope.visible[index] == state.visible){ return; } if ((scope.visible[index] = state.visible) && !scope.visible[altIndex]){ $root.scrollIntoView({ block: 'start', behavior: 'smooth', }); $circleup.currentAnimatedSection = scope.id; window.setTimeout(() => { if ($circleup.currentAnimatedSection === scope.id){ scope.animate = true; scope.onAnimate && scope.onAnimate(true); } }, 600); } else if ($log.or($log.and(!scope.visible[0], !scope.visible[1]), $log.and(!state.visible, $circleup.currentAnimatedSection !== scope.id))){ scope.animate = false; scope.onAnimate && scope.onAnimate(false); } };

And so much more...

Download

CircleUp

QR code link