Ancient Wisdom Meets Modern Innovation
Our goal is to foster self-discovery, enhance emotional wellbeing, and connect users to a richer understanding of themselves and others.
We do this through our nine unique AI companions, each embodying a distinct Enneagram type. EnneaGuide uses a set of keywords for each Enneagram type to analyze user responses and determine their Enneagram type. Remember, these keywords may not encompass all aspects of each Enneagram type and there might be overlaps between different types.
const contextPhrases = {
type1: [
"strive for perfection",
"strong sense of right and wrong",
"attention to detail",
"high standards",
"order and structure",
],
type2: [
"help and support others",
"empathetic and caring",
"building strong relationships",
"giving and receiving love",
"prioritizing others' needs",
],
type3: [
"focused on success",
"ambitious goals",
"adapting to situations",
"concerned about image",
"drive for efficiency",
],
type4: [
"embrace individuality",
"explore emotions deeply",
"creative self-expression",
"search for authenticity",
"value uniqueness",
],
type5: [
"analyze and observe",
"pursue knowledge",
"need for privacy",
"intellectual curiosity",
"objective and detached",
],
type6: [
"loyalty and commitment",
"seek security and safety",
"anticipate problems",
"hardworking and reliable",
"value trust and stability",
],
type7: [
"optimistic and spontaneous",
"pursue adventure",
"avoid limitations",
"thirst for new experiences",
"fun-loving and energetic",
],
type8: [
"assertive and decisive",
"take charge and lead",
"confront conflicts",
"protect the vulnerable",
"exude self-confidence",
],
type9: [
"seek harmony and peace",
"easygoing and adaptable",
"avoid conflicts",
"accepting and understanding",
"value stability and balance",
],
};
Harnessing the Power of the Enneagram
At EnneaGuide AI, we use the Enneagram, a model of human psychology that classifies individuals into nine different types, each with its own set of characteristics, motivations, and growth paths. To create a personalized user experience, we have developed a set of keywords and context phrases for each Enneagram type. These keywords and phrases, which range from "perfectionist" and "ethical" for Type 1 to "calm" and "agreeable" for Type 9, are used to analyze user responses and provide tailored guidance.
const enneagramKeywords = {
type1: [
"perfectionist",
"ethical",
"organized",
"principled",
"purposeful"
],
type2: [
"helpful",
"caring",
"relationship-oriented",
"possessive",
"empathetic"
],
type3: [
"success-oriented",
"ambitious",
"adaptable",
"image-conscious",
"driven"
],
type4: [
"creative",
"expressive",
"introspective",
"unique",
"emotionally intense"
],
type5: [
"analytical",
"observant",
"perceptive",
"intellectual",
"independent"
],
type6: [
"loyal",
"responsible",
"security-oriented",
"hardworking",
"vigilant"
],
type7: [
"enthusiastic",
"spontaneous",
"versatile",
"adventurous",
"optimistic"
],
type8: [
"direct",
"assertive",
"decisive",
"confident",
"powerful"
],
type9: [
"calm",
"agreeable",
"diplomatic",
"compromising",
"patient"
]
};
But how does this all work on a technical level? Let's dive into the tech stack behind EnneaGuide AI.
The Tech Stack
EnneaGuide AI is built with a robust tech stack that prioritizes performance and user experience. Our main framework is Next.js, a React framework that allows us to build performant web applications with an optimal developer experience.
We host our application on Vercel, which allows us to easily preview and deploy changes using git. Our data is managed on Upstash, a serverless data platform that uses Redis for rate limiting.
For our user interface, we use Tailwind CSS, a utility-first CSS framework that allows for rapid UI development. We animate our components using Framer Motion, a motion library for React.
To generate dynamic Open Graph images at the edge, we use ImageResponse. We also use HeadlessUI, a library of unstyled, fully accessible UI components designed to integrate seamlessly with Tailwind CSS.
AI & Speech
Our AI companions are powered by OpenAI's GPT-3.5-turbo, which generates personalized responses based on the user's input and selected Enneagram type.
When a user speaks to an AI companion, we use FFmpeg to transcode the audio input right in the user's browser. This audio is then sent to OpenAI's Whisper API, which transcribes the audio into text. This text, alongside the user's selected Enneagram type, is fed into GPT-3.5-turbo, which generates a personalized response that is streamed back to the user in real time.
Code Quality
We also prioritize code quality in our development process. We use TypeScript for end-to-end type safety and Prettier for maintaining a consistent code style. For linting, we use ESLint, a pluggable linter that works well with both Next.js and TypeScript.
Taking the Journey with EnneaGuide AI
With EnneaGuide AI, we've created a platform that balances ancient wisdom with modern innovation. Whether you're seeking to understand your emotions, explore your personality, or simply grow as an individual, our AI companions are here to guide you on your journey.
So, are you ready to start your journey of self-discovery and personal growth? Our AI companions are waiting to meet you.