Project Info
This project did not submit a demo video on Devpost.
Inspiration
Frustrated by the traditional MBTI's barrage of questions? So were we. Introducing MBTIFY: our web application streamlines your MBTI assessment using advanced Natural Language Processing and Machine Learning. Forget the indecision of Likert scales; MBTIFY's conversational AI prompts you with tailored, open-ended questions. Answer naturally—the AI adapts, selecting queries to pinpoint your personality type with ease. Welcome to a smarter, streamlined path to self-discovery.
What it does
MBTIFY is a web application designed to administer MBTI personality tests in a more efficient and streamlined manner. Unlike traditional MBTI tests that require answering hundreds of questions, MBTIFY aims to achieve accurate results with fewer than 10 short-answer questions. Users can respond to these questions via text or audio input. The application leverages Natural Language Processing (NLP) and Machine Learning (ML) technologies to analyze the answers and determine the user's MBTI type.
How we built it
Frontend: Reflex for a user-friendly interface. Voice Recognition: Converts spoken answers to text. NLP: Cohere and OpenAI analyze responses for emotional and syntactic insights. ML: Intersystems IntegratedML utilizes 60,000+ Kaggle MBTI questionnaire responses to train a predictive AutoML model. This model interprets Likert scale responses, determining MBTI type with a confidence level. Immediate results are provided if a confidence threshold is met, or the system dynamically selects further clarifying questions.
Challenges we ran into
Reflex on M1 Macs: Faced compatibility issues with the Reflex UI framework on M1 chipset Macs, requiring optimization for cross-platform functionality. SQLAlchemy with sqlalchemy-iris: Experienced limitations in integrating SQLAlchemy with the sqlalchemy-iris dialect, leading to custom code solutions for effective database operations. IRIS Cloud Connectivity: Encountered difficulties in connecting to the IRIS cloud server, necessitating adjustments in network and security settings for reliable deployment. Model Training Time: The machine learning model training took over 6 hours due to the large dataset and complex algorithms, prompting a need for pipeline optimization to enhance efficiency.
Accomplishments we're proud of
Responsive Design: Developed with Reflex for an adaptive user experience. Real-Time ML Analysis: Intersystems algorithms provide instant MBTI prediction with a confidence indicator using SQL. We infer Likert scores from user responses to our conversational prompts using LLM, then input these as features into our predictive model, thereby combining discriminative with generative AI models. Smart Questioning: A dynamic question bank evolves based on user inputs, distinguishing similar MBTI profiles through adaptive questioning and iterative model refinements with updated scores.
What we learned
Stay on Track: Consistently ensure that you are on the right path by periodically reviewing your goals and progress. Purposeful Implementation: Before committing to a new feature or task, evaluate its significance to avoid exerting effort on non-impactful activities.
What's next
Audio Transcribing: Our roadmap includes the implementation of an advanced audio transcribing feature. This will allow us to extend our voice recognition capabilities to capture even more nuanced responses from users, further refining our MBTI analysis. Emotion Detection with HumeAI: We plan to integrate HumeAI technology for real-time emotion detection based on the user's voice. This will add an additional layer of depth to the analysis, enabling us to distinguish between closely matched MBTI types with a greater degree of accuracy. Optimized Machine Learning Algorithms: We aim to continually fine-tune our existing machine learning models within Intersystem to accommodate these new features, ensuring that our confidence levels and MBTI type predictions are as accurate as possible. Dynamic Questioning 2.0: Building on our adaptive questioning framework, we will incorporate feedback loops that consider not only the content of the user’s responses but also the detected emotional tone. This will make our question selection even more responsive and targeted.
MBTIFY
A web application that leverages advanced Natural Language Processing and Machine Learning technologies to administer streamlined and adaptive MBTI personality tests through fewer than 10 short-answer questions.
Inspiration
Frustrated by the traditional MBTI's barrage of questions? So were we. Introducing MBTIFY: our web application streamlines your MBTI assessment using advanced Natural Language Processing and Machine Learning. Forget the indecision of Likert scales; MBTIFY's conversational AI prompts you with tailored, open-ended questions. Answer naturally—the AI adapts, selecting queries to pinpoint your personality type with ease. Welcome to a smarter, streamlined path to self-discovery.
What it does
MBTIFY is a web application designed to administer MBTI personality tests in a more efficient and streamlined manner. Unlike traditional MBTI tests that require answering hundreds of questions, MBTIFY aims to achieve accurate results with fewer than 10 short-answer questions. Users can respond to these questions via text or audio input. The application leverages Natural Language Processing (NLP) and Machine Learning (ML) technologies to analyze the answers and determine the user's MBTI type.
How we built it
Frontend: Reflex for a user-friendly interface.
Voice Recognition: Converts spoken answers to text.
NLP: Cohere and OpenAI analyze responses for emotional and syntactic insights.
ML: Intersystems IntegratedML utilizes 60,000+ Kaggle MBTI questionnaire responses to train a predictive AutoML model. This model interprets Likert scale responses, determining MBTI type with a confidence level. Immediate results are provided if a confidence threshold is met, or the system dynamically selects further clarifying questions.
Challenges we ran into
Reflex on M1 Macs: Faced compatibility issues with the Reflex UI framework on M1 chipset Macs, requiring optimization for cross-platform functionality.
SQLAlchemy with sqlalchemy-iris: Experienced limitations in integrating SQLAlchemy with the sqlalchemy-iris dialect, leading to custom code solutions for effective database operations.
IRIS Cloud Connectivity: Encountered difficulties in connecting to the IRIS cloud server, necessitating adjustments in network and security settings for reliable deployment.
Model Training Time: The machine learning model training took over 6 hours due to the large dataset and complex algorithms, prompting a need for pipeline optimization to enhance efficiency.
Accomplishments that we're proud of
Responsive Design: Developed with Reflex for an adaptive user experience.
Real-Time ML Analysis: Intersystems algorithms provide instant MBTI prediction with a confidence indicator using SQL. We infer Likert scores from user responses to our conversational prompts using LLM, then input these as features into our predictive model, thereby combining discriminative with generative AI models.
Smart Questioning: A dynamic question bank evolves based on user inputs, distinguishing similar MBTI profiles through adaptive questioning and iterative model refinements with updated scores.
What we learned
Stay on Track: Consistently ensure that you are on the right path by periodically reviewing your goals and progress.
Purposeful Implementation: Before committing to a new feature or task, evaluate its significance to avoid exerting effort on non-impactful activities.
What's next for MBTIFY
Audio Transcribing: Our roadmap includes the implementation of an advanced audio transcribing feature. This will allow us to extend our voice recognition capabilities to capture even more nuanced responses from users, further refining our MBTI analysis.
Emotion Detection with HumeAI: We plan to integrate HumeAI technology for real-time emotion detection based on the user's voice. This will add an additional layer of depth to the analysis, enabling us to distinguish between closely matched MBTI types with a greater degree of accuracy.
Optimized Machine Learning Algorithms: We aim to continually fine-tune our existing machine learning models within Intersystem to accommodate these new features, ensuring that our confidence levels and MBTI type predictions are as accurate as possible.
Dynamic Questioning 2.0: Building on our adaptive questioning framework, we will incorporate feedback loops that consider not only the content of the user’s responses but also the detected emotional tone. This will make our question selection even more responsive and targeted.
Analysis
View
Metric
- 5
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- CohereClaimed
- OpenAIClaimed
1 of 3 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
48 KB
Source files
18
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
YXKelvinHuang/InsightCare
31 files · 591 KB · @ dab10a0
Structure
Application logic
1 file · 3%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python91%
- Markdown9%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 1- reflex
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Conversational chat-based question flow via OpenAIVerified
Conversational AI (OpenAI) prompts tailored open-ended questions and the user responds via short answers
Claimed on readmemedium confidencetest/state.py:107— State.answer() calls openai.ChatCompletion.create with a system prompt (MBTI_INITILIZATION) and streams a reply into chat_historytest/pages/about.py:49— action_bar() wires an rx.input to State.question and a Send button to State.answer, driving the chat UI
Reflex-based web frontendVerified
Frontend built with Reflex for a user-friendly, responsive interface
Claimed on readmehigh confidencetest/test.py:8— imports reflex as rx and builds rx.App with pagesrxconfig.py:1— Reflex app configuration file presenttest/pages/about.py:70— about() page built entirely from rx.Component primitives
Dynamic/adaptive question bank that evolves based on user inputCode-supported
A dynamic question bank evolves based on user inputs, distinguishing similar MBTI profiles through adaptive questioning and iterative model refinement
Claimed on readmelow confidencetest/state.py:119— select_questions prompt asks the LLM to pick top 5 relevant questions from a fixed 60-item bank based on the user's last answer, a rudimentary form of adaptive question selection, but the result of this call is only printed (line 130) and never used to drive follow-up questions or update chat_history/state
File/image upload featureCode-supported
Not explicitly claimed in Devpost/README text, but present as an implemented capability in code
Claimed on readmelow confidencetest/state.py:151— handle_upload() writes uploaded files to disk and appends to State.imgtest/pages/index.py:112— the upload() UI component that would call handle_upload is commented out and not included in index()'s returned rx.container, so it is not wired to any active page
IntersystemsML AutoML model trained on 60,000+ Kaggle MBTI responses, predicting MBTI via SQL PREDICTCode-supported
IntegratedML uses 60,000+ Kaggle MBTI questionnaire responses to train a predictive AutoML model, interpreting Likert scores to determine MBTI type with a confidence level
Claimed on readmemedium confidencetest/intersystems_backend.py:261— runs a SQL PREDICT(PredictPersonality) query against an IRIS table named SQLUsert.mbti, consistent with IntegratedML AutoML predictiontest/intersystems_backend.py:232— insert_data() loads a cleaned Kaggle-style MBTI CSV (question_mapping/mbti_mapping columns) into the mbti table for model training
NLP analysis of answers via Cohere and OpenAI for emotional/syntactic insightCode-supported
Cohere and OpenAI analyze responses for emotional and syntactic insights
Claimed on readmelow confidencetest/state.py:119— a select_questions prompt asks GPT-3.5 to pick the 5 most relevant follow-up questions from the question bank based on the user's answer, but this is basic prompt-based selection, not emotional/syntactic insight extraction, and no Cohere library or API call exists anywhere in the codebase (only mentioned in README)
Confidence-threshold-based immediate result vs. dynamic further questioningClaimed only
Immediate results are provided if a confidence threshold is met, or the system dynamically selects further clarifying questions
Claimed on readmehigh confidenceFewer than 10 short-answer questions to determine MBTI typeClaimed only
Achieves accurate MBTI results using fewer than 10 short-answer questions instead of hundreds
Claimed on readmehigh confidenceIntegration of IntersystemsML prediction into the live web app / chat flowClaimed only
Real-time ML analysis providing instant MBTI prediction with confidence indicator as part of the app experience
Claimed on readmehigh confidenceVoice/audio input converted to text (voice recognition)Claimed only
Users can respond via audio input; voice recognition converts spoken answers to text
Claimed on readmehigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.