An AI-powered career advisory chatbot that helps users explore career paths, discover job information, and receive personalized recommendations using LLM technology.
Polished prototype for interactive career discovery, personalized recommendations, and LLM-driven guidance.
Career Advisor Chatbot is a prototype intelligent system designed to:
- ๐ Support career exploration
- ๐ผ Suggest relevant job roles based on user input
- ๐ Provide a searchable job catalog (1000+ roles from O*NET)
- ๐ค Deliver LLM-powered conversational guidance
| Layer | Technology |
|---|---|
| Backend | Node.js |
| Frontend | Web Application |
| Database | SQLite |
| AI Engine | GPT-OSS 120B |
| Matching | Rule-based Engine (Prototype) |
Below is a complete project structure overview (expanded) to help contributors and reviewers quickly locate modules and assets.
myAIchatbotProject/
โโโ 632652149_887073670753166_3710026893000461784_n.jpg # Hero banner
โโโ ai-young-guru-logo.png
โโโ index.html
โโโ 404.html
โโโ package.json
โโโ runtime-config.js
โโโ assets/ # Generated frontend assets (build)
โโโ career-icons/ # Icon set used by the UI
โโโ screenshots/
โโโ scripts/
โโโ backend/
โ โโโ index.js
โ โโโ server.js
โ โโโ config.js
โ โโโ package.json
โ โโโ testLLM.js
โ โโโ data/
โ โ โโโ careerLibrary.js
โ โ โโโ generatedCareerDataset.js
โ โโโ database/
โ โ โโโ esco_occupations.csv
โ โ โโโ schema.sql
โ โ โโโ seed.sql
โ โโโ middleware/
โ โ โโโ auth.js
โ โโโ routes/
โ โ โโโ chat.js
โ โ โโโ chatbot.js
โ โ โโโ auth.js
โ โ โโโ admin.js
โ โ โโโ analytics.js
โ โโโ services/
โ โโโ ...
โโโ frontend/
โ โโโ index.html
โ โโโ package.json
โ โโโ vite.config.js
โ โโโ postcss.config.cjs
โ โโโ tailwind.config.cjs
โ โโโ public/
โ โโโ src/
โ โโโ main.js
โ โโโ app/
โ โโโ components/
โ โโโ styles/
โโโ README.MD
cd backend
npm install
npm run setup-db
npm run devcd frontend
npm install
npm run devServe frontend directly from backend:
cd backend
npm run build # Run once to build frontend
npm run startOr run everything with a single command from root:
npm run serveAccess the application at:
http://localhost:3001
http://localhost:3001
https://api-myaichatbotproject.onrender.com
- Uses SQLiteCloud (ONLINE)
- User/profile/chat/recommendation/job catalog data are stored online
- Backend is configured in ONLINE-only mode (no local SQLite fallback)
Backend now uses ONLINE database via SQLiteCloud.
When configured, user/chat/profile data is stored online and shared across all backend instances.
DB_PROVIDER=sqlitecloudSQLITECLOUD_URL=sqlitecloud://<host>:<port>/<database>?apikey=<api-key>
Use backend/.env.example as template for local setup.
- Do not commit real
.envfiles. - Put real values in GitHub Secrets/Variables for CI.
- This repository includes
playwright.ymlfor CI-safe env injection (no plaintext keys in git).
SQLITECLOUD_URL must be a real connection string, not the dashboard URL.
Optional (instead of SQLITECLOUD_URL):
SQLITECLOUD_HOST=<host>SQLITECLOUD_PORT=8860(default)SQLITECLOUD_DATABASE=<database-name>- One auth mode only:
SQLITECLOUD_API_KEY=<api-key>orSQLITECLOUD_TOKEN=<token>orSQLITECLOUD_USERNAME=<username>+SQLITECLOUD_PASSWORD=<password>
Optional TLS/debug option:
SQLITECLOUD_INSECURE=1(only for troubleshooting; do not use in production)
-
Create/identify your SQLiteCloud database in dashboard.
-
Generate API key for backend access.
-
Build connection string:
sqlitecloud://<host>:8860/<database>?apikey=<api-key>
-
Set backend environment variables (local
.envor Render env):DB_PROVIDER=sqlitecloudSQLITECLOUD_URL=<connection-string-from-step-3>
-
Initialize schema/migrations on online DB:
npm --prefix backend run setup-db
-
Start backend:
npm --prefix backend run start
-
Verify health:
GET /health- Test register/login/chat and confirm data persists after backend restart/redeploy.
Add these env vars in Render Service โ Environment:
DB_PROVIDERSQLITECLOUD_URL- plus existing vars:
JWT_SECRET,ADMIN_EMAIL,ADMIN_PASSWORD,GROQ_API_KEY, ...
After deploy, run one-time DB init command using Render Shell:
npm run setup-db
Then normal runtime command remains:
npm run start
| Command | Description |
|---|---|
npm run setup-db |
Initialize ONLINE SQLiteCloud database (idempotent) |
npm run reset-db |
In ONLINE mode, warns and does not delete cloud DB |
| Auto-init | Server initializes DB automatically if empty |
The job catalog is also stored in SQLiteCloud (online), alongside app data.
npm --prefix backend run import-jobsnpm --prefix backend run reset-jobs-
O*NET Database (Text Version)
https://www.onetcenter.org/dl_files/database/db_30_1_text.zip -
O*NET License Information
https://www.onetcenter.org/license_db.html
- Model: GPT-OSS 120B
- Provider Playground:
https://console.groq.com/playground?model=openai/gpt-oss-120b
Used for conversational intelligence, contextual understanding, and personalized career guidance.
- โ๏ธ SQLiteCloud for centralized ONLINE data
- ๐ง Rule-based matching engine (optimized for rapid prototyping)
- ๐ค LLM integration for advanced conversational support
- ๐ฎ Designed for future ML-based recommendation system expansion
TOP 5 AI YOGU GYM 3 PROJECT
