--- description: Details the technology stack chosen for the CV Optimization Platform. globs: --- # Technology Stack ## Frontend - **Framework:** React.js (using Next.js for server-side rendering and routing) - **Styling:** Tailwind CSS - **State Management:** (Initially simple React state, consider Context API or Zustand if complexity grows) - **UI Library:** (Consider a component library like Material UI or Ant Design if needed for more complex UI elements later) ## Backend - **Language:** Node.js (with Express.js framework) or Python (with Flask/FastAPI - *Decision needed based on your preference and libraries for LLM interaction*) - **API Framework:** Express.js (Node.js) or Flask/FastAPI (Python) - **Document Processing Libraries:** - Python: `PyPDF2`, `python-docx` (if using Python backend) - Node.js: `pdf-parse`, `docx-parser` (if using Node.js backend) ## Database - **Initial Stage:** File-based storage (for simplicity in MVP) - *Consider moving to MongoDB or PostgreSQL for user accounts and scalable data storage later.* - **Future Scalable Database:** MongoDB (NoSQL) or PostgreSQL (Relational) - *To be decided based on data structure and scalability needs.* ## LLM Integration - **Primary LLM Provider:** OpenAI API (GPT models) - for initial development and ease of use. - **Potential Alternative:** Hugging Face Transformers - for exploring open-source models and potential cost optimization in the future. ## Deployment - **Frontend Hosting:** Vercel (for Next.js applications) - **Backend Hosting:** Render or Heroku (or AWS/Google Cloud/Azure for more control and scalability)