MERN-Persona is a web application built with the MERN stack (MongoDB, Express.js, React.js, and Node.js). The project is designed to analyze essays and provide personality predictions based on the written content. It is specifically tailored to support HR departments or recruiters in gaining deeper insights into their employees' or candidates' personalities efficiently and effectively. TRY NOW!
-
Authentication:
- Login and sign-up via manual credentials or Google OAuth 2.0.
-
Essay Analysis (Alpha Model):
- Analyze text extracted from PDF files (single or multiple).
- Predict the writer's personality based on their essay.
- Provide insights into strengths, weaknesses, and MBTI (e.g., INTJ, ENFP) predictions.
- Generate personality scores and a summary.
-
Text-to-Speech:
- Converts the analyzed essay into synthesized speech using AI-powered text-to-speech (TTS) APIs.
-
User Data Management:
- Store user profiles and analysis data securely in MongoDB.
-
HR Application:
- Designed to help HR departments reduce employee turnover by better understanding employees' personalities.
- Offers a cost-effective alternative to hiring psychologists or psychiatrists for personality insights.
- React.js (with TypeScript for type safety)
- Tailwind CSS for responsive and modern UI
- Zustand & Router for API communication
- Node.js with Express.js for server-side logic
- MongoDB as the NoSQL database
- Google OAuth 2.0 for third-party authentication
- OpenAI API for advanced personality analysis
- PDF-to-Text Conversion libraries for extracting essay content
- TypeScript for frontend file conversions
- ESLint for code linting
- Dotenv for managing environment variables
-
Clone the repository:
git clone https://github.com/Qyuzet/mern-persona.git cd mern-persona
-
Install dependencies:
# Install backend dependencies cd backend npm install # Install frontend dependencies cd ../frontend npm install
-
Create an
.env
file in the root of the backend directory and specify the following variables:MONGO_URI=your_mongodb_connection_string GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret OPENAI_API_KEY=your_openai_api_key PORT=5000
-
Start the application:
# Start the backend server cd backend npm start # Start the frontend development server cd ../frontend npm start
-
Open your browser and navigate to:
http://localhost:3000
server.js
: Entry point for the backend server.config/db.js
: MongoDB connection configuration.controller/user.controller.js
: Handles user-related logic.model/user.model.js
: Defines the user schema for MongoDB.router/user.route.js
: API endpoints for user-related operations.
src/
: Contains all the React components.public/index.html
: Main HTML file for the React app.tailwind.config.js
: Tailwind CSS configuration.tsconfig.json
: TypeScript configuration.
- Add support for additional personality frameworks beyond MBTI.
- Improve the TTS experience with more natural voice synthesis.
- Add user role management for HR teams and employees.
- Enable export options for analysis results (PDF, Excel, etc.).
This project is licensed under the MIT License. See the LICENSE file for details.
To demonstrate the functionality of the Persona web application for analyzing employee personalities based on their essays or CVs.
-
Authentication and Sign-Up:
- Use OAuth2 from Google for authentication.
- Sign up for a new account if needed.
- Sign in with your credentials.
-
Analysis:
- Click on a PDF to analyze a person's personality.
- Search for the person you want to analyze.
- Click on the payload and analyze the essay to get results like probable MBTI, good and bad aspects.
-
Manual Append:
- Type an essay manually in the system.
- Click on "propagate" to add the data to the current payload.
-
Bulk Analysis:
- Open multiple PDFs to append automatically.
- Click on "bulk auto" to analyze each one automatically.
-
Quality Control:
- Ensure the quality of the data inside the essay for accurate results.
- Avoid using AI-generated content for analysis.
-
Exploration and Future Models:
- Explore more robust document analysis options in future versions.
- Consider the Explorer and Quanta models for deeper analysis.
-
Logout:
- Log out of the system once analysis is complete.
- Quality of results depends on the quality of data in the essays.
- Avoid using AI-generated content for analysis to ensure accuracy.
- Use the desktop version of the interface for optimal functionality.
- Clear unnecessary data to keep the system organized.
- Regularly update to newer models for enhanced analysis capabilities.
- Use desktop version for optimal user experience.
By following these steps, you can effectively demonstrate the Persona web application and analyze employee personalities with accuracy and efficiency.
https://loom.com/share/7f69e2b36a0a4b52921fe7185c9f0e06?src=composer