Skip to content

ArpitBaliyan26/Pathlo

Repository files navigation

🚀 Pathlo – Find the Right Path for Your Future

"Not sure where to start? Explore paths, not just colleges."

Pathlo is a modern college and career discovery platform built for Indian students who are tired of ranking-obsessed platforms that all look the same. It's about helping you understand what a path actually looks like — student life, real costs, honest outcomes — before you commit four years of your life to it.

Live → pathlo.vercel.app


🎯 The Problem

Every existing platform either:

  • Shows you a ranked list and calls it "discovery"
  • Fabricates data to look credible
  • Pretends JEE + NEET are the only two paths that exist

Pathlo is built differently. The dataset is intentionally honest — if data is missing, it says so. If it's unverified, it says that too. No fake ratings, no inflated packages, no hallucinated alumni.


🧠 What Pathlo Does

🏫 College Discovery

Browse 60+ colleges across 6 categories: Engineering, Business, Liberal Arts, Research, New Age, and Distance/Flexible programs. Filter by field and type, sort by rating, fees, or name. Every college card tells you upfront if the data is Verified or Indicative — and why.

📄 College Detail Pages

Each college gets a full page with:

  • AI Insight — a 2–3 sentence honest summary generated by LLaMA 3.3 70B via Groq, not hardcoded copy
  • Real fees and placement data (where verified)
  • Entry exam breakdown with difficulty, duration, syllabus
  • External research links — YouTube campus tours, Reddit threads, Quora discussions, Google Reviews
  • Notable alumni (only real, named people)

📝 Exam Explorer

18+ entrance exams — JEE, NEET, CAT, CLAT, IPMAT, GATE, BITSAT, XAT and more. Filter by difficulty and field, expand any card for full detail: eligibility, syllabus highlights, accepting colleges, official website.

⭐ My Path Dashboard

Save colleges and exams to a personal dashboard. Works without login via localStorage. Sign in with Supabase to persist across devices (sync coming in v2).

🤖 AI Chatbot

A floating chatbot powered by LLaMA 3.3 70B that answers questions about colleges, exams, and career paths. Handles typos, informal names, and open-ended queries. No scripted responses — real API calls only.


⚙️ Tech Stack

Layer Choice Why
Framework React 19 + Vite 8 Latest stable, fast HMR
Styling Tailwind CSS 3 Utility-first, dark mode via class strategy
Routing React Router v7 File-based routing, protected routes
Auth + DB Supabase Email/password auth, future persistence
AI Groq API (LLaMA 3.3 70B) Fast inference, free tier for development
Deployment Vercel SPA rewrites configured

🏗️ Project Structure

src/
  components/
    layout/         # Navbar
    ui/             # CollegeCard, ExamCard, FilterBar, SearchBar, Badge, AIChatbot, ThemeToggle
  context/
    ThemeContext.jsx # Light / Dark / System theme management
  data/
    colleges.js           # Base college dataset (60+ entries)
    collegeDetails.js     # Per-college overrides, alumni, research links
    collegeDataset.js     # Normalized + enriched data + filter groups
    enrichedData.js       # Verified fees, placement, alumni layer
    exams.json            # 18+ exam entries
    examDataset.js        # Exam filter config
    provenance.js         # Verified vs Indicative logic
    provenanceChecklist.json # Admin verification workflow
  hooks/
    useSavedColleges.js   # LocalStorage bookmark management
    useSavedExams.js      # LocalStorage exam save management
  lib/
    supabaseClient.js     # Supabase singleton
  pages/
    HomePage.jsx
    CollegesPage.jsx
    CollegeDetailPage.jsx
    ExamExplorerPage.jsx
    DashboardPage.jsx
    AuthPage.jsx
  services/
    aiService.js          # Groq API: chatWithAI + generateCollegeInsight
  utils/
    collegeSlug.js        # Slug generation + route matching
    ScrollToTop.jsx       # Scroll reset on navigation
  App.jsx                 # Routes + auth guard + toast
  main.jsx
  index.css

🔐 Auth Flow

  • Email/password via Supabase
  • Session persists across refreshes
  • "Skip for now" — sets skipAuth in localStorage, full access without account
  • Protected layout redirects to /auth only if no session and no skip flag
  • Username derived from email prefix, shown in navbar

📊 Data Philosophy

Pathlo has a strict data policy:

  • Real institutions only — no fabricated colleges
  • Verified vs Indicative — every fees/placement entry is labeled
  • Admin ChecklistprovenanceChecklist.json drives verification status. A college is only marked Verified when all 4 checks pass: officialWebsite, placementReport, feePage, nirf
  • Staleness detection — verified data older than 90 days gets flagged for recheck
  • Missing data → hidden — never shown as zero or placeholder

Currently verified: Masters' Union, IIM Ahmedabad, ISB Hyderabad.


🤖 AI Integration

Two separate Groq API calls:

1. College Insight (generateCollegeInsight)

  • Triggered on College Detail page load
  • Prompt is built from real college metadata (type, location, category, courses, entry exams)
  • 150 tokens, temperature 0.4 — factual, not promotional

2. Chatbot (chatWithAI)

  • Full conversational system prompt as "Pathlo AI"
  • Maintains rolling 10-message history
  • 400 tokens, temperature 0.7
  • Filters error messages from history before each API call

🚀 Getting Started

Prerequisites: Node.js v20+, npm

git clone https://github.com/your_username/pathlo.git
cd pathlo
npm install

Create .env.local:

VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_GROQ_API_KEY=your_groq_api_key

Get your keys:

npm run dev

App runs at http://localhost:5173

npm run build   # Production build
npm run lint    # ESLint check

🚫 Contributor Guardrails

If you're contributing or extending this project:

  • ❌ Do NOT add fake ratings or fabricated data
  • ❌ Do NOT hardcode AI responses — keep API calls real
  • ❌ Do NOT redesign the UI without context on the design system
  • ❌ Do NOT modify Supabase auth logic without testing session edge cases
  • ✅ Missing data → hide it, don't guess it
  • ✅ New colleges → add to colleges.js, enrich in enrichedData.js, add provenance in provenanceChecklist.json

✨ Author

Arpit Baliyan 🔗 LinkedIn: linkedin.com/in/arpitbaliyan 🌍 GitHub: github.com/ArpitBaliyan26

Made with ❤️ for learning React, one headline at a time

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors