Skip to content
Osama Khattak
Case study · AI micro-internship platform

NexIntern

My final-year project: students matched to paid micro-internships, built with Next.js, an Express and Node.js API, and a Python AI service.

Type
AI micro-internship platform
My role
Solo build: web app, API and AI service
Stack
Next.js, React, Node.js, Express, MySQL, Python, FastAPI, Tailwind CSS
NexIntern home page on desktop
NexIntern on a phone

About the project

NexIntern connects university students with short, paid micro-internships posted by companies. Students build a profile and get tasks ranked by how well they fit; companies post tasks, review ranked applicants, interview and evaluate them; mentors guide students through the work.

What I did

  • Built the Next.js front end: 50 pages across the four role dashboards.
  • Built the Express and Node.js REST API: 14 route groups and 38 data models, with JWT auth, role-based access, rate limiting and file uploads.
  • Built the Python FastAPI service behind the AI features: matching, progress risk, evaluation, feedback drafting and performance insights.
  • Wrote 15 test files (Jest and pytest), Dockerfiles for each service, and deployed it: front end on Vercel, API on Render.

My final-year project for the BS in Software Engineering at SZABIST Islamabad. I designed and built every part of it on my own.

How the build went

The brief
My final-year project: a platform where companies post short, paid tasks, students get matched to the ones that fit their skills, and the work ends in an evaluation and feedback that anyone can verify.
My approach
Three services: a Next.js front end, an Express and Node.js API that owns the data and business rules, and a Python FastAPI service for the AI scoring (TF-IDF text similarity, with optional sentence-transformer embeddings). Every AI score is a short, named formula that comes with written reasons, and the API falls back to its own rules if the AI service is unreachable.
The hard part
Six weeks into the build, my supervisor asked for the database to move from MongoDB to MySQL. I rewrote the data layer from Mongoose to Sequelize, split nested data such as student skills, education and task attachments into their own tables, and reworked the controllers on top of it.
Timeline
Built between March and October 2026, alongside my full-time job.
The result
Twelve modules are complete, from sign-up and AI matching to evaluations and payments, and the platform is live.

What the site offers

From the codebase and the live site, checked October 2026.

  1. 01Four roles with their own dashboards: students, companies, mentors and admins.
  2. 02Sign-up with email verification by one-time code, password reset and Google sign-in.
  3. 03Task posting, applications, interviews and mentor assignment, end to end.
  4. 04A 0-100 match score for every student and task, with the reasons shown alongside it. Skills carry 55% of the weight.
  5. 05Progress tracking with milestones, time logs and early warnings when a task is slipping.
  6. 06Rubric-based evaluations that anyone can verify with a public code, plus structured feedback and analytics.
  7. 07Payments through Stripe Checkout, with a sandbox mode for testing and a platform fee.