How bhavi0128/personality-classifier works
This is a Streamlit personality-insights app: users can describe themselves in text or answer a short quiz, then see a personality result and related visual insights and recommendations. Text classification is handled by a separate classifier that loads a trained model artifact; the training script builds and saves that artifact. The classifier also contains recommendation and feedback functionality. Source excerpts are partial, so the graph omits uncertain details of result rendering, quiz scoring, and feedback persistence wiring.
Main entry points: app.py Streamlit app · PersonalityClassifier.py Personality classifier · personality_model.pkl Trained model · train_model.py Model trainer
Components 11
User experience
- Streamlit app
app.py - Text analysis
app.py - Personality quiz
app.py - Results and charts
app.py
Classification
- Personality classifier
PersonalityClassifier.py - Text cleaning
PersonalityClassifier.py - Recommendations
PersonalityClassifier.py - Feedback state
PersonalityClassifier.py
Model training and state
- Model trainer
train_model.py - Trained model
personality_model.pkl
Other components
- User
Connections 11
- User → Streamlit app: uses
- Streamlit app → Text analysis: collects text
- Streamlit app → Personality quiz: presents quiz
- Text analysis → Personality classifier: requests prediction
- Personality classifier → Text cleaning: cleans text
- Personality classifier → Trained model: loads model
- Model trainer → Trained model: saves model
- Streamlit app → Results and charts: renders results
- Streamlit app → Recommendations: requests recommendations
- Personality classifier → Recommendations: provides items
- Personality classifier → Feedback state: loads and saves