Karyopath is an AI-assisted learning planner that transforms a person’s career goal into a time-aware, budget-aware roadmap. This prototype implements the onboarding UX, deterministic pathway engine, and dashboards for a logistics-focused learner in Nigeria.
- Screen-by-screen onboarding flow that mirrors the welcome, promise slides, light account creation, quiz, roadmap preview, planner setup, and day-one tracker experience.
- Deterministic pathway engine that scores catalog resources, assembles phased plans, and respects budget + time constraints.
- API endpoint (
POST /api/plan/recommend) delivering phase details, schedules, warnings, and salary outlooks. - Salary widget with seeded bands for Logistics Analyst, Procurement Officer, and Data Analyst roles across Nigeria, US, and global contexts.
- Dashboard and pathway pages with budget, streak, calendar view, and export call-to-actions.
- Resource library and admin overview for catalog and role management.
- Prisma schema with seed script for demo data including a Logistics Analyst learner, pathway, and catalog entries.
- Vitest unit tests for the planner plus React Testing Library coverage for StepCard, and a Playwright e2e onboarding smoke test.
npm install
npm run prisma:generate
npm run prisma:migrate -- --name init
npm run seed
npm run devVisit http://localhost:3000 for the landing page. Onboarding is available at /onboarding, dashboard at /dashboard, and the demo pathway at /pathway/demo.
Copy .env.example to .env and adjust as needed:
cp .env.example .envnpm run test
npm run e2e # requires dev server/prisma Prisma schema and migrations
/src/app Next.js routes (app router)
/src/components UI components (shadcn-inspired)
/src/lib Shared utilities (formatters, set helpers)
/src/server Engine, salary module, adapters, schemas
/tests Vitest unit tests + Playwright e2e suite
- Engine:
src/server/engine/compute-plan.tsimplements a greedy planner. It calculates skill gaps, scores catalog items, assembles phases (foundations → specialisation → credentials), and emits a schedule bounded byhoursPerWeekand budgets. Assumptions and warnings expose trade-offs. - Salary module:
src/server/salary/get-salary-bands.tsexposes deterministic salary ranges sourced from seed data. - API:
src/app/api/plan/recommend/route.tsvalidates payloads with Zod and returns engine output.
- Live provider adapters – Replace static catalog with Coursera, edX, and Udemy APIs plus caching.
- LLM co-pilot – Add optional GPT-powered explanation + refinement layer on top of deterministic engine.
- Calendar sync & reminders – Integrate Google Calendar / email / WhatsApp reminders.
- Payments & premium unlocks – Stripe checkout for certification subsidies and accountability pods.
- Collaboration – Mentor dashboards, community accountability, and peer reviews.
- Mobile experience – React Native / Expo client optimised for low bandwidth.
MIT