AI‑Powered Personal Knowledge & Career Intelligence Platform
Prabesh Khanal
v1.0 (Student / Portfolio Build)
The purpose of this product is to build a full‑stack, AI‑ready web application that allows users to store personal knowledge (notes, documents, projects, resumes), query that data intelligently, and receive AI‑driven career insights.
This project is designed to:
- Master MongoDB and NoSQL data modeling
- Use Mongoose effectively (schemas, validation, relationships)
- Demonstrate AI system design aligned with AWS AI Practitioner concepts
- Serve as a strong, explainable portfolio project
This is not intended to be a commercial SaaS. It is an interview‑grade engineering project.
- Student / early‑career developer
- Preparing for internships or entry‑level roles
- Wants to organize learning and career material
- Any knowledge worker managing learning content
- Users from any background (not only tech) — UI and defaults should avoid tech-only assumptions
- Allow flexible storage of structured and unstructured data
- Provide AI‑assisted insights without paid services
- Demonstrate clean backend architecture
- Showcase NoSQL best practices
- User can store and retrieve all content reliably
- AI pipeline works with mock or local inference
- MongoDB schemas are defensible in interviews
- Application is stable and demo‑ready
- User can sign up with email and password
- Passwords must be hashed
- JWT‑based authentication
- Protected routes on backend
- Basic profile information
- Skill interests (tags)
-
Create, read, update, delete notes
-
Notes can be:
- Plain text
- Markdown‑like content
- Tagged
- Upload documents (PDF / text initially)
- Store metadata separately from content
-
Store projects with:
- Description
- Skills used
- Links
- Status
- Central skills collection
- Reused across projects, resumes, and analysis
-
Store multiple resume versions
-
Structured sections:
- Education
- Experience
- Skills
- Maintain history
- Allow comparison (basic)
-
Central AI service interface
-
Supports:
- Mock AI
- Local inference
- Cloud AI (future)
- Chunk large text
- Store processed output
- Store vectors or simulated embeddings
- Enable semantic‑style retrieval logic
- User can ask questions about stored content
- System retrieves relevant data
- AI generates grounded response
- Compare resume skills vs target role
- Identify missing skills
- Suggest topics based on gaps
- Store prompts and responses
- Timestamped
- Skill growth over time (basic)
- API response < 500ms for CRUD
- JWT authentication
- Input validation via Mongoose
- Designed for future AI service upgrades
- Must run at $0/month during development
- users
- notes
- documents
- projects
- skills
- resumes
- aiInteractions
- Embed when data is owned by user
- Reference shared entities (skills)
- Avoid deep nesting
- POST /auth/register
- POST /auth/login
- GET /notes
- POST /notes
- PUT /notes/:id
- DELETE /notes/:id
- POST /ai/query
- POST /ai/analyze‑resume
- Login / Register
- Dashboard
- Notes
- Projects
- Resume
- AI Insights
- Clean
- Minimal
- Data‑first
/ai‑knowledge‑platform
│
├── backend
│ ├── src
│ │ ├── config
│ │ │ └── db.js
│ │ ├── models
│ │ │ ├── User.js
│ │ │ ├── Note.js
│ │ │ ├── Project.js
│ │ │ ├── Skill.js
│ │ │ ├── Resume.js
│ │ │ └── AIInteraction.js
│ │ ├── routes
│ │ │ ├── auth.routes.js
│ │ │ ├── notes.routes.js
│ │ │ ├── ai.routes.js
│ │ ├── services
│ │ │ ├── aiService.js
│ │ │ ├── embeddingService.js
│ │ ├── middleware
│ │ │ └── authMiddleware.js
│ │ ├── controllers
│ │ └── app.js
│ └── package.json
│
├── frontend
│ ├── src
│ │ ├── components
│ │ ├── pages
│ │ ├── hooks
│ │ ├── services
│ │ │ └── api.js
│ │ ├── context
│ │ └── App.jsx
│ └── package.json
│
└── README.md
- Payments
- Multi‑tenant organizations
- Real‑time collaboration
- Heavy AI fine‑tuning
- Cloud AI integration (Bedrock / OpenAI)
- Advanced analytics
- Interview simulator
This PRD intentionally prioritizes:
- Architectural clarity
- NoSQL correctness
- AI‑readiness without cost
If built as specified, this project is sufficient for serious technical interviews.