The Uvilo Method
A Comprehensive Approach to Life Management and Coaching
Version: 2026-02-12
Table of Contents
- 1. Introduction
- 2. The 30,000 ft view
- 3. Features Overview
- 4. Coach Matching System
- 5. Uvilo 360° Life Review
- 6. Interviews
- 7. Persistent Memory
- 8. The Uvilo Taxonomy System
- 9. Self-Help Resources
- [10. Goals Feature [Work In Progress]](#10-goals-feature-\work-in-progress)
- 11. Habits Feature
- [12. Metrics Feature [Work In Progress]](#12-metrics-feature-\work-in-progress)
- [13. Programs Feature [Work In Progress]](#13-programs-feature-\work-in-progress)
1. Introduction
1.1. The problem
We live hurried, unbalanced, unsatisfying lives
While we race through our days, many of us rarely pause to consider who we truly want to be or where we genuinely want to go. The relentless demands of modern living push us to focus all our energy on specific areas while neglecting others, leading to a sense of imbalance and dissatisfaction.
There is a lack of a comprehensive solution
In an era where life moves at breakneck speed, there is a conspicuous absence of a comprehensive platform that holistically improves one’s quality of life. Despite being more connected than ever through technology, we often find ourselves feeling lonelier, disconnected, and caught in the trap of comparing our lives to the curated—and often misleading—versions of others we see online. This amplifies our sense of inadequacy and fuels FOMO.
The landscape of tools is fragmented
Today, numerous websites, devices, and mobile apps focus on wellness and self-improvement—covering fitness, nutrition, mindfulness, sleep optimization, habit building, personal productivity, and stress management.
However, none of these products offer a comprehensive view of a person’s life with multiple goals, both short- and long-term, and how each goal fits into a balanced life. Their user interfaces vary, and the information they contain is mostly siloed. A comprehensive solution should allow a user to:
- set goals,
- find strategies to reach those goals,
- adopt habits to carry out these strategies, and
- measure progress to enable continual review and adjustment.
Self-help content rarely leads to change
Books, podcasts, and YouTube videos on a wide range of self-improvement topics abound. However, these media do little to help users integrate the knowledge into their daily lives and build habits that move them toward success.
Professional help is cost-prohibitive
Professional support from life coaches, personal trainers, and psychotherapists can be invaluable, but at $100–$300+ per hour, few people can afford them. In addition, even with one-on-one attention for one or two hours a week, clients are mostly on their own the rest of the time when real change happens.
1.2. The opportunity
AI presents an opportunity to bridge the gaps
Over the next ten years, Artificial Intelligence (AI) will profoundly impact our work and personal lives. As automation makes daily tasks easier, we will focus more on improving our quality of life and overcoming problems like loneliness, imbalance, and dissatisfaction. AI presents an opportunity to bridge the gaps in existing solutions by providing a comprehensive, personalized platform that integrates all aspects of personal development.
Artificial Intelligence is already profoundly impacting our personal and professional lives, and its rapid advancement is a source of widespread public concern (e.g., job displacement, deepfakes, and loss of privacy due to surveillance creep.) But as automation increasingly simplifies daily tasks, the primary human focus will shift toward improving quality of life and solving persistent problems like loneliness, imbalance, and dissatisfaction. AI presents a direct opportunity to bridge the gaps in existing solutions by providing a comprehensive, personalized platform that integrates all aspects of personal development.
1.3. The vision
A vision to empower personal growth
By leveraging AI, we can create an accessible, holistic platform that empowers individuals to set and achieve multiple goals across all areas of life. This platform would:
- Help users review their current lives
- Set goals for change and prioritize them over time
- Find strategies to reach these goals
- Learn the necessary skills to implement these strategies
- Adopt habits that move them forward
- Measure their progress along the way
- Continually adjust their journey toward a balanced, fulfilling life
Such a solution would unify personal well-being, relationships, professional ambitions, lifestyle choices, and life purpose into a single, cohesive experience.
2. The 30,000 ft view
A message from your AI Coach
Here is a 30,000 ft view of how The Uvilo Method helps with life planning. It is a step-by-step process, but it does not have to be done in sequence. As your coach, I want to give you small wins early and then fill in the details over time.
2.1. Evaluation
The first step is to evaluate your current life through the Domain Quizzes or the Expedited Evaluation Quiz. This will surface life domains that need attention earlier. It also establishes a baseline against which we can measure your progress over time.
2.2. Dreaming
Here, you let go of reality and dream big about what you want out of life. Hopes, dreams, bucket list—as if there were no constraints. Ideally, this will result in establishing some aspirations for all domains of your life—your body, your mind, your relationships, your financial security, and the legacy you want to leave behind.
2.3. Goal setting
I am sure you have heard the saying about how to eat an elephant. One bite at a time. In this step, we examine what would be required to achieve your bigger aspirations and how to solve or manage your challenges. We break them down into specific, measurable short-term goals. You can’t work on everything all at once, so I will recommend focusing on one primary goal and a couple of secondary goals at a time for a 2 to 6-month period. At the end of that period, we reevaluate and reprioritize so that even if you don’t have balance in your life at all times, over time, all of your aspirations and issues are addressed.
2.4. Values
Ultimately, what determines your success is not just doing the required work but becoming the person who deserves success, and for whom doing the work is second nature. Most people have strong values, but rarely do they really contemplate them or write them down. These values will define your identity. But more than that, it establishes the identity you aspire to. You may not live up to it every day, but over time, you will come closer and closer to that ideal self. Having done this will allow us to ensure that your goals and actions align with your ideal values. I will make sure you become a happy warrior, and putting in the work to reach your goals is a joyful exercise.
2.5. Recommendations
Once we have chosen the goals to focus on, I will recommend practices and resources to learn the necessary skills. I will recommend books, podcasts, videos, and other resources. It’s essential that the solutions I suggest resonate with you and fit your means and life circumstances. You will select the one that feels right to try first.
2.6. Programs
When we have landed on a practice you want to try, I will design a complete program around it, one that is customized just for you. This will always include a metric—be that your body weight, daily mood, investment account balance, whatever. What gets measured gets managed. It will also include lessons to learn, tasks to complete, and habits to follow. I may also recommend joining groups, connecting with like-minded individuals, or talking to professionals—you know, IRL (in real life). By knowing the town where you live, I can make specific recommendations.
2.7. Work
Yes, you have to do the work. You reap what you sow. But I will be by your side 24/7, providing motivation and advice on completing the work and adjusting the program so it works better for you. In addition, you will also get a set number of habit holidays that you can use to take days off from your habits when life gets in the way, or you just need a break, without losing your streak.
2.8. Journaling
Some find it helpful to quiet their minds by writing down their thoughts or keeping a record of their daily activities, beyond simply checking off habits and recording metrics. I may recommend guided journaling, or just recording your thoughts in your real, unfiltered voice. This gives me more insight to support you better.
2.9. Troubleshooting
I am available any time for advice and troubleshooting specific issues. A disagreement with your spouse? A jerk of a boss? An unexpected catastrophe? Or just a bad day? I am happy to act as an empathetic sounding board, a trusted advisor, or a no-nonsense coach. If serious problems arise, I will recommend seeking professional help and put you in touch with the right people.
2.10. Monitoring
Not every program or practice will work for everyone. If I notice that you are not completing your habits or not improving your metrics, I will recommend that we troubleshoot your program or change course. Think of life like a grand experiment in how to get to where you want to go. It’s a bit like the scientific method: start with a problem, form a hypothesis, test it, analyze the results, revise or discard. I will make sure you are not wasting time and energy on something that’s not working for you.
2.11. Reevaluation
Periodically, every 2 to 6 months, we will repeat this whole process: evaluation, dreaming, goal setting, values, recommendations, and programs. Life is not static - in fact, the only constant in life is change. It is vital that, as you grow, you adjust your values, goals, and habits. You will get closer to your ideal identity, and different things will take priority. But it will be much quicker and easier than the first time, because you are just reviewing and adjusting your existing plan. This is also a great time to take stock of the progress you have made and pat yourself on the back.
2.12. The Promise
If you follow this process, living your life with intention and putting in the work, over time, you will inevitably get closer and closer to your ideal life. Call it purpose, success, happiness, confidence, inner peace, eudaimonia, well-being, or contentment, it’s my solemn promise to you that I will do everything in my power to get you there.
3. Features Overview
3.1. What is Uvilo?
Uvilo is a SaaS platform (web app, iOS app, and Android app) designed to help users set goals, learn new life skills, incorporate those skills into their lives by adopting new habits and attitudes, and measure their progress toward those goals. Periodic reviews will allow users to assess their progress and adjust their goals and habits as necessary.
Uvilo’s mission is to help users reach success, balance, and inner peace in their lives.
3.2. Uvilo features
Uvilo provides a number of features to help accomplish this mission:
-
Coach Matching System, a quick evaluation of the user to match them with a AI coach who matches their personality and preferences.
-
Uvilo 360° Life Review, an examination of the Domains of Life Balance. We will evaluate each domain separately to help assess where work is needed, and how to keep life in better balance
-
Interviews, conducted by the Uvilo AI Coach to learn about the user, assess their needs, monitor their progress, provide feedback, and suggest solutions
-
Persistent Memory about the user is collected over time by analyzing freeform answers in quizzes, interviews, and journal entries. Key information is extracted, analyzed, and indexed, giving rich context for the AI Coach about the user’s history, attitudes, and preferences.
-
Taxonomy System, a structured, data-driven map of personal growth that lists common issues (problems to manage or resolve), aspirations (goals to achieve), and practices (that address those issues and aspirations).
-
Self-Help Resources, an extensive database of books, podcasts, videos, blogs, courses, and apps organized around the taxonomy provides a wide range of authoritative sources for solutions to issues and aspirations. They also form the basis for building programs.
-
Goals Feature, which are a combination of bucket list items, aspirations for the future, and SMART goals to accomplish in the short term
-
Habits Feature, which are recurring tasks in the user’s Habit Calendar to implement the behaviors and practices necessary for change
-
Metrics Feature, to monitor the user’s progress toward their goals, which can be self-reported, or ingested via integrations with quantified self devices and external APIs
-
Programs Feature, which are courses to accomplish a specific goal - they include lessons to learn skills, metrics to measure progress, and habits to practice the skills and accomplish required tasks
-
Journaling Feature helps organize the user’s thoughts, keeps a record of their daily activities, and gives us qualitative insight to improve coaching and provide interventions when necessary.
-
Notifications are sent by the Uvilo AI Coach to the user to remind them about their habits, to give encouragement, and to check in about how they are doing
4. Coach Matching System
Uvilo comes with a variety of AI coaches, offering a range of personalities, communication styles, and demographic profiles. The Coach Matching System is designed to match each user with an AI coach whose personality and learning style best align with theirs.
The Coach Matching System is based on a series of questions about energy, communication style, structure preference, and verbosity.
4.1. Coach matching instructions
Use the user’s answers to identify the top 3 coaches that best fit their needs based on the following:
Energy (Q1)
Match the user’s preferred vibe to coach temperament (motivational, calm, tough, friendly, reflective, visionary).
Communication style (Q2)
Use tone preferences (direct, supportive, philosophical, casual/humorous, serious) to align with coaches who naturally speak that way.
Structure preference (Q3)
Map “clear steps,” “some structure,” “go-with-the-flow,” or “inspiration first” to coaches with matching coaching formats.
Verbosity (Q4)
Use this only to order and refine the top 3 recommendations. This value should be stored in the user profile and applied to any coach they select, regardless of the match.
Produce the top 3 closest fits. Avoid coaches who contradict strong user preferences (e.g., humor-averse users should not be paired with Buddy Sam).
4.2. Uvilo AI coaches and their personalities
Here is the current list of available Uvilo AI Coaches, with brief descriptions of their personalities.
This personality is energetic, enthusiastic, and optimistic. They are focused on helping the user achieve their highest potential with constant encouragement.
A no-nonsense personality that helps users tackle problems head-on with actionable advice and clear steps. They are methodical and logical.
This personality is casual, friendly, and relatable. They talk to the user like a close friend, providing advice in a lighthearted, conversational manner.
This personality is calm, patient, and thoughtful. They take a reflective approach to problem-solving, offering gentle guidance and deep insights.
Empathetic, caring, and nurturing, this personality focuses on emotional support and reassurance. They are warm and deeply understanding of the user’s struggles.
This personality takes a deep, intellectual approach to life coaching. They enjoy discussing existential questions and offer profound insights with a philosophical flair.
This personality is direct, blunt, and sometimes confrontational. They believe in hard truths and pushing the user to face their weaknesses in order to grow.
This personality is imaginative, idealistic, and focused on big dreams. They help the user visualize and create a bold future, encouraging them to think beyond current limitations.
Calm, centered, and deeply wise, this personality emphasizes balance, meditation, and acceptance. They focus on helping the user find inner peace and tranquility.
This personality is highly organized, methodical, and focused on long-term strategy. They help the user break down their goals into strategic, achievable steps.
4.3. Coach Matching Questions
What kind of energy do you want from a coach?
- High-energy and motivational
- Calm and grounding
- Direct and tough
- Friendly and laid-back
- Thoughtful and reflective
- Big-picture and imaginative
How do you like your coach to communicate with you?
- Straight and actionable
- Gentle and supportive
- Deep and exploratory
- Casual and humorous
- Serious and focused
What level of structure do you prefer?
- Clear steps and plans
- Some structure
- Go-with-the-flow
- Inspiration over structure
How terse or verbose do you prefer your interactions with your coach?
- Terse—fewer words
- Average
- Verbose—longer explanations
- No preference
5. Uvilo 360° Life Review
A holistic assessment of life balance and satisfaction
The Uvilo 360° Life Review is a holistic way to assess a user’s life balance and satisfaction at a given point in time, and to track progress over time, empowering individuals who refuse to settle for superficial or outdated self-improvement models. This framework surfaces gaps and blind spots, then offers a fearless, modern, and deeply human roadmap—identifying skills to learn, metrics to track, goals to set, and actions to take—to fill the gaps standing in the way of living a more fulfilling life.
The process starts by completing questionnaires for one or more Domains of Life Balance.
5.1. Domains of Life Balance
1. Body (Health & Fitness)
Body focuses on physical fitness, health, nutrition, sleep quality, and stress management. This domain addresses the foundation of all other domains—physical strength, vitality, endurance, flexibility, and overall bodily well-being.
ID: body
Tags: health, fitness, exercise, nutrition, sleep, stress, recovery, vitality, personal care, hygiene, grooming
2. Mind (Mental Wellbeing)
Mind encompasses psychological health, emotional resilience, life satisfaction, authenticity, and alignment between values and actions. Key sub-areas include: emotional regulation, cognitive flexibility, stress management, and digital & informational hygiene. This domain recognizes the inseparable connection between mind and body, addressing the increasingly critical challenge of managing digital overload.
ID: mind
Tags: mental health, emotional resilience, life satisfaction, authenticity, values alignment, stress management, cognitive flexibility, digital hygiene
3. Home (Living Environment)
Home focuses on your physical living environment, including organization, cleanliness, aesthetics, comfort, connection to nature, and the care of pets that share your space. This domain emphasizes creating spaces that nurture safety, calm, inspiration, and personal expression—recognizing that your surroundings profoundly shape your mental and emotional states.
ID: home
Tags: home, living environment, organization, cleanliness, aesthetics, comfort, nature connection, pets, animal care, safety, maintenance
4. Intimacy (Sex & Romance)
Intimacy focuses on intimacy, sexual health, romantic connection, and cultivating physical and emotional closeness with partners. This domain highlights the essential role of desire, vulnerability, and sensuality in overall life satisfaction and personal identity.
ID: intimacy
Tags: intimacy, sex, romance, desire, sensuality, vulnerability, sexual health, partnership
5. Community (Family, Friends, & Beyond)
Community addresses family, friendships, interpersonal connections, communication skills, social support networks, and community engagement. This domain recognizes humans as fundamentally social beings who thrive through quality, supportive, and meaningful connections.
ID: community
Tags: relationships, relatives, friends, community, communication skills, social support, belonging
6. School (Education & Academic Life)
School encompasses formal education across all stages—primary, secondary, vocational, and higher learning. This domain focuses on academic growth, time management, learning motivation, and balancing school responsibilities with wellbeing. It emphasizes curiosity, resilience, and healthy performance habits that prepare individuals to thrive in both study and life.
ID: school
Tags: education, academics, school, study habits, learning, student life, time management, balance, motivation, resilience
7. Work (Job & Career)
Work encompasses professional growth, job satisfaction, skill development, setting healthy boundaries, and integrating work with personal priorities. This domain helps individuals build meaningful careers while preventing burnout and aligning professional life with broader life values.
ID: work
Tags: career, work, professional growth, job satisfaction, skill development, work-life balance, burnout prevention
8. Business (Entrepreneurship)
Business covers the unique challenges and opportunities of building, running, and growing a small to medium size business. This domain addresses entrepreneurial mindset, product-market fit, fundraising, cash flow management, hiring, leadership, scaling, risk tolerance, and the personal toll of founder life—recognizing that entrepreneurship demands a distinct set of skills, resilience, and support.
ID: business
Tags: entrepreneurship, startup, small business, founder, product-market fit, fundraising, cash flow, hiring, scaling, leadership, risk tolerance
9. Money (Financial Stability)
Money covers income generation, budgeting, savings, investments, financial literacy, and planning for long-term security. This domain supports creating freedom, reducing stress, and building a solid foundation for future opportunities on a sound financial foundation.
ID: money
Tags: money, finance, budgeting, savings, investments, financial literacy, long-term security, planning
10. Parenting (Raising Kids)
Parenting focuses on raising and nurturing children with presence, patience, and consistency. This domain encompasses promoting emotional security, modeling healthy behaviors, setting clear boundaries, and striking a balance between caregiving and self-care. It highlights the profound interplay between a parent’s wellbeing and a child’s growth—supporting a family environment grounded in love, learning, and mutual respect.
ID: parenting
Tags: parenting, caregiving, children, family, attachment, discipline, emotional support, modeling, parental wellbeing
11. Caregiving (Eldercare & Disability Care)
Caregiving addresses the demands of caring for aging parents, disabled family members, or other dependents outside of child-rearing. This domain covers caregiver burnout, navigating medical and legal systems, managing care logistics, preserving the caregiver’s own identity and wellbeing, and finding support—recognizing that this often invisible labor profoundly shapes one’s health, finances, and relationships.
ID: caregiving
Tags: caregiving, eldercare, disability care, caregiver burnout, medical navigation, respite, support systems, family obligations, aging parents, care logistics
12. Play (Rest, Leisure & Creativity)
Play encompasses leisure activities, creative expression, humor, playfulness, and restorative practices. This domain highlights the crucial role of downtime, imagination, and joy in fostering holistic well-being and innovation.
ID: play
Tags: play, rest, leisure, creativity, humor, playfulness, restorative practices, joy
13. Growth (Learning & Personal Growth)
Growth focuses on intellectual development, skill acquisition, curiosity cultivation, and adaptability. This domain supports lifelong learning and continuous self-improvement, empowering individuals to remain agile and relevant in a rapidly changing world.
ID: growth
Tags: growth, skill acquisition, curiosity, adaptability, lifelong learning, self-improvement
14. Purpose (Meaning, Values & Legacy)
Purpose addresses existential questions, spirituality, personal values, life purpose, and connection to something greater than oneself. It also encompasses impact beyond oneself—including giving back, mentorship, community service, and creating lasting positive change. This domain invites individuals to explore their deeper “why,” live in alignment with their values, and leave a meaningful mark on the world.
ID: purpose
Tags: purpose, meaning, spirituality, values, legacy, contribution, service, mentorship, impact, civic engagement, giving back, life purpose, value alignment
5.2. Domain Evaluation
Our domain evaluation framework is designed to be rigorous, forward-looking, and brutally honest—not a vague “feel-good” rubric. For each life domain, we have a quiz broken into multiple sections. In each section, there are 4 types of questions:
-
Scale Questions - The user is prompted to rate something on a scale of 1 to 10
-
Multiple Choice Questions - The user is presented with multiple options and is prompted to select the answer that best describes their current situation
-
Boolean Questions - The user is prompted to answer a question with Yes or No
-
Freeform Questions - The user is asked to type in a freeform text response to the question
The Grade
Each question has a maximum score and a weight. When the quiz is completed we sum all weighted scores and we calculate the final alignment Grade, expressed as a percentage.
The Brackets
Next, we assign the Grade to one of the following Brackets:
-
85–100%: Thriving
-
70–84%: Steady
-
55–69%: Uneven
-
40–54%: Challenged
-
Below 40%: In crisis
The Evaluation
As the last step, we generate a textual evaluation of the domain highlighting areas that need attention.
6. Interviews
AI-coach-led convos with concrete outcomes
Interviews are structured chats between the user and their AI coach (or another AI personality). They are comprised of two parts:
-
Bots define an interview’s language model, settings, and system prompt. Bots are used for other types of inference as well, like background agents and automated testing, but in this chapter we will focus on Interviews.
-
Convos are instances of Bots representing a discrete conversation.
Interviews are guided conversations conducted by the coach that follow a step-by-step process. They are used to gather context and move the user toward a concrete outcome (onboarding, a goal, a habit plan, a value statement, a program, etc.).
Convos are not “random chats.” They are a structured product surface designed to:
- turn reflection into clarity,
- turn clarity into decisions,
- turn decisions into habits, tasks, and programs,
- and turn outcomes into learning (via summaries, analysis, and memory).
Uvilo treats each Convo as an intentional unit of work with a purpose, a beginning, and (usually) a defined ending.
Common characteristics:
- started by the coach instead of waiting for user input,
- clear pacing (one question at a time),
- progressive disclosure (broad → specific),
- checkpoints (“Did I get that right?”),
- and a defined output (summary, recommendation list, next action).
Examples:
- Initial Intake Interview (user profile and coaching preferences)
- Values interview
- Goal-definition interview (SMART goals)
- Domain deep-dive interview after a Life Review quiz
6.1. Bots: How Convos Are Created
Convos are instantiated from predefined Bots.
A Bot is essentially a reusable “conversation blueprint” that defines:
- which AI model is used (and through which provider/integration),
- settings like temperature, reasoning effort, verbosity,
- a prompt stack from a curated set of modular prompts that can be combined like building blocks,
- the coach/personality framing (system prompt + optional system message),
- behavior settings, including step-by-step instructions on how to conduct the convo.
Bots also support parameterized prompts (template variables with defaults and optional pick-lists). This enables the same Bot to run many variations of a Convo safely and consistently—for example:
- “Diagnostic: Habit adherence” with different user constraints inserted
- “Tutorial: Habits” with different skill levels
- “Interview: Values” with different tones (gentle vs. direct)
Finally, Bots are treated like first-class items in the platform (named, optionally grouped, publishable, and optionally private), making them maintainable and reusable across the product. In the future human coaches and even users may be able to build bots for special purposes.
6.2. Convo Capabilities
A Convo includes many operational and behavioral controls, but a few stand out as especially important:
-
Auto-start: The AI can initiate the conversation without waiting for user input. This enables proactive experiences like daily check-ins, onboarding greetings, or “time to review your week” nudges.
-
Bot-derived identity, with overrides: A Convo inherits all the settings of a Bot, including the system prompt, but then injects user-specific preferences, like the user’s coach personality and user-specific context, like their profile and a summary of recent conversations.
-
Auto-close: Convos are closed when they are completed or at 3 am in the user’s time zone, reinforcing that conversations are purposeful sessions, not endless threads.
-
Analysis & summary: When closed, convos are processed and analyzed. Factoids are extracted for user context, and a summary is generated. This enables deeper reflection, continuity between convos, and quality control.
-
Token + cost telemetry: Convos track input/output/reasoning/cached tokens and associated costs. This allows Uvilo to manage performance, control spend, and measure efficiency over time—without guessing.
6.3. Tool Use: How Convos Take Action
Convos can do more than talk. They can read and modify user context using AI tools. Conceptually, these tools fall into groups:
Coaching Flow
- Select coach (coach matching and switching)
- Continue journey (marking a user journey step complete)
Quizzes (Uvilo 360° Life Review)
- Start a life domain quiz
- List life domain quiz results
Habits & Calendar Operations
- Create, read, update, and trash habits and tasks
- Generate or delete sample habits
- Navigate/select items in the Habit Calendar UI
Memory (User Context Over Time)
- List stored factoids (remembered user facts)
- Semantic search over memory (retrieve relevant context when needed)
Taxonomy & Resources (Recommendations Engine)
- Search taxonomy items (keyword or semantic)
- List recommended practices for an issue/aspiration
- Search resources (keyword or semantic), view a resource, and let the user select one
- Add new taxonomy items/maps (for curated expansion workflows)
User Profile
- Read user profile fields
- Update user profile fields
- Present an in-chat form for user-driven profile updates
User Input Components (Structured Responses)
- Yes/No questions
- Multiple choice questions
- Scales (numeric ratings)
Web & External Knowledge
- Web search + web page extraction
- Weather lookup
- Google Books search / lookup (ID, ISBN)
This tool ecosystem is what turns Convos from “chat” into coaching that can actually execute—creating habits, launching quizzes, retrieving memories, and guiding the user through structured decisions.
6.4. Design Principles (How Convos Should Feel)
Uvilo Convos are built to be:
- Purposeful: each Convo should have a clear intent (even if it evolves).
- Adaptive: the same Convo type can be gentle, direct, philosophical, or highly structured depending on the user and coach style.
- Action-capable: when the user is ready, the Convo can directly translate insight into steps (habits, tasks, resources, next milestones).
- Accountable: summaries, analysis, and cost telemetry make the system measurable and improvable.
- Human-first: the user stays in control—especially when making changes to their habits, profile, or plans.
7. Persistent Memory
Rich context for relevant guidance
Uvilo’s Persistent Memory system exists for one reason: continuity.
A great coach doesn’t restart from scratch every time you talk. They remember what matters—your goals, constraints, preferences, history, and patterns—so recommendations get better, follow-ups are coherent, and coaching feels like an ongoing relationship instead of a series of disconnected chats.
In Uvilo, Memory is the user-context layer that sits between:
- what you say (conversations, quizzes, metrics),
- what Uvilo can do (habits, tasks, programs, recommendations),
- and how your coach responds (tone, prioritization, follow-through).
Uvilo Memory has three main components:
- Factoids (structured “remembered facts” extracted from convos)
- Convo Summaries (high-level narrative summaries [Work in progress])
- User Context AI Tools (mechanisms a Convo can use to recall context on demand)
7.1. Factoids
What Factoids are
Factoids are short, information-dense statements about the user that are extracted from conversations and stored for future recall.
They are designed to capture durable context—things likely to matter later—such as:
- goals and aspirations,
- worries and friction points,
- preferences (including coaching preferences),
- key relationships, responsibilities, constraints,
- relevant life events and milestones.
Factoids are not a transcript. They are the “sticky notes” a great coach would keep.
Factoid categories and life domains
Each factoid is stored with two important labels:
- Category (what kind of fact this is—e.g.,
goals,work,worries,values) - Domain (which life domain it belongs to—e.g.,
money,connection,mind, orgeneral)
Uvilo uses these labels to retrieve the right context at the right time (for example: surfacing “money + worries” context before budgeting advice).
(See Factoid Categories and Domains of Life Balance elsewhere in The Uvilo Method.)
Factoids vs. User Profile Fields
When Uvilo analyzes a conversation for Memory, it extracts two kinds of “user facts”:
a) User Profile Fields (structured data)
These are canonical fields like dateOfBirth, gender, relationship, city, coachId, verbosity, etc. They are stored in the User Profile because they are:
- standardized (types/enums),
- frequently used,
- and best treated as “source of truth.”
b) Factoids (unstructured memory)
These are everything else that is useful but doesn’t belong in a rigid schema.
Key principle: the profile is the “form”; factoids are the “notes.”
Factoid extraction rules (the “extract factoids” prompt)
Factoids are extracted using a strict prompt that enforces quality and avoids noisy or ephemeral data.
Core rules:
- Factoids must be useful later (not “small talk”).
- Factoids must be understandable out of context.
- Factoids must start with the user’s nickname (e.g., “Erik …”).
- Factoids must avoid internal/product state.
Explicit exclusion: no app-state memory
Uvilo does not store “facts” that are really just transient product state, such as:
- onboarding steps,
- which habits exist,
- quiz status (paused/started),
- calendar specifics,
- notifications settings,
- internal system actions.
That information already lives in the product database and should be retrieved through tools when needed—not remembered as “life context.”
How Factoids are stored and used
Factoids are stored in a way that supports semantic recall (technically called vector search), not just keyword search. This enables a coach to retrieve relevant context even when the user phrases something differently later.
Example: If a factoid says “Erik is worried about getting older,” the coach can still find it when the user says, “Lately I’ve been thinking a lot about aging.”
Recalling Factoids (Memory Tools)
Uvilo provides two primary Memory retrieval tools for factoids:
listFactoids — List memories (chronological, filterable)
Use this when you want a broad scan of what we know, optionally filtered by category/domain.
Interface highlights:
- Inputs:
userIdcategories(array; OR-filter)domains(array; OR-filter)skip/take(pagination)
- Output:
- Factoids returned in reverse chronological order
Typical use cases:
- “Before we set goals, what do we already know about Erik’s priorities?”
- “Show me recent worries and constraints so I don’t recommend unrealistic habits.”
vectorSearchFactoids — Search memory (semantic similarity)
Use this when you want targeted recall based on meaning (conceptual similarity), not exact words.
Interface highlights:
- Inputs:
userIdsearchText(natural language)- optional
categories,domains limitminSimilarity(0–1 threshold)
- Output:
- Ranked results by similarity score
Typical use cases:
- “The user is talking about burnout—what prior context do we have about work stress?”
- “They’re asking for motivation—have they said what type of coaching style works for them?”
Best practices for recall
- Recall only what you need. Don’t “memory dump” at the user.
- Treat recall as fallible. Memory can be incomplete or stale—confirm if it matters.
- Recency beats history. Consider more recent memories to be more truthful and accurate than older ones.
- Be sensitive. If a recalled fact is personal, introduce it gently and give the user an easy out (“Tell me if this has changed…”).
Factoid Category List
identity: Personal info like name, age, gender, pronouns, ethnicity, etc.perception: How they view themselves, whether positive or negative, regardless if accurate or notrelationships: Romantic, familial, and business connections (partners, children, siblings, parents, friends, mentors, teachers, pets)education: Schools, degrees, certifications, credentialsskills: Languages, technical skills, creative abilities, certificationswork: Job, title, employer, industryprojects: Current or past projects, side hustles, startups, community involvementinterests: Hobbies, passions, sports, music, entertainment, intellectual interestscoaching: Any preferences regarding coaching and how the they want to interact with their coachpreferences: Food, lifestyle, travel, learning, work style, including specific likes and dislikesvalues: Guiding principles, worldview, ethical or philosophical leaningsmedia: Books, podcasts, videos, writers, thought leaders, and influencers read, liked, or followedmilestones: Major life milestones and related info, like time and place of birth, wedding, graduation, moves, major illnesses, career changeshabits: Recurring activities with specific time intervalsevents: Time-based happenings, including appointments, meetups, travel, conferencesgoals: Hopes, dreams, aspirations, resolutions, personal or professional goalsplans: Future plans or intentions (distinct from goals) including travel, job changes, education, major life changesworries: Things that cause fear, stress, worry or rumination
7.2. Interview Summaries
Factoids capture durable “sticky note” truths about a user. Convo Summaries capture the storyline of a single coaching session—what happened, what was decided, and what should happen next.
After an Interview-style Convo is closed, Uvilo generates a concise, neutral, practical summary designed for continuity and follow-through. It is not a transcript. It is a structured recap that helps the next conversation pick up cleanly and avoids “starting over.”
What an Interview Summary is for
Summaries exist to:
- preserve the outcomes of the conversation (not every detail),
- keep coaching coherent across time (“What did we actually agree to?”),
- capture unresolved items (open questions and follow-ups),
- carry forward actionable planning context (goals, obstacles, strategies),
- provide a reliable handoff note for future convos and product surfaces.
What the summary contains
When the conversation provides evidence, an Interview Summary will include some or all of:
- One-liner: a 1–3 sentence overview of the conversation (longer for long convos).
- What we covered: the main topics discussed.
- Decisions and commitments: only items the user explicitly agreed to.
- Open questions: what still needs to be clarified.
- Risks or concerns: only concerns that are clearly evidenced and warrant follow-up.
- Follow-up recommended: follow-ups explicitly stated by the coach or user.
- Next steps: concrete actions, time-bound when possible.
- User mood and energy (only if evidenced): notable signals about mood/energy/stress/confidence, captured simply and conservatively.
- Planning (when agreed-upon): what the conversation converged on—primary goal, optional secondary goals, obstacles, and strategies discussed. If relevant for continuity, it may also note habits, metrics, resources, programs, or quizzes that came up.
- Uvilo tags: lightweight labels to keep the system organized, including relevant life domains and any taxonomy items (issues/aspirations/practices) that were mentioned.
Accuracy and privacy rules (by design)
Convo Summaries are intentionally conservative:
- Do not invent details. If it wasn’t said or clearly supported, it’s omitted.
- If uncertain, omit. Summaries prioritize correctness over completeness.
- Avoid unnecessary personal identifiers. For example: no email, phone, or exact address; keep location general unless essential.
- No filler. Empty sections are simply left out (no “N/A” or placeholders).
How Interview Summaries work with Factoids
Interview Summaries and Factoids complement each other:
- Interview Summaries answer: “What happened in this session, and what’s next?”
- Factoids answer: “What enduring context about the user should we remember?”
In practice, Interview Summaries carry forward short-term continuity (decisions, next steps, open loops), while Factoids capture longer-term context (goals, constraints, preferences, patterns).
By default, the summary of the past several interview-style convos are included in the context of all interviews.
7.3. User Context AI Tools
In Uvilo, a Convo can recall user context through a small set of tools. These tools are the “read layer” that keeps the coach grounded in reality.
Current set of user context tools
| Tool ID | Group | Tool Name |
|---|---|---|
| readHabit | Habits | Read habit |
| readTask | Habits | Read task |
| listFactoids | Memory | List memories |
| vectorSearchFactoids | Memory | Search memory |
| listLifeDomainQuizResults | Quizzes | List life domain quiz results |
| readUserProfile | User | Read user profile |
What each tool is for
-
Read user profile: Use for canonical identity/preferences that must be correct (name, location, coach choice, verbosity, etc.).
-
List life domain quiz results: Use to ground coaching in the user’s measured baseline across life domains (and to avoid guessing which domains are “in crisis” vs “steady”).
-
Read habit / Read task: Use when coaching needs to reference specific planned actions or commitments (“What did we actually schedule?”), rather than relying on memory or user recollection.
-
List factoids / Vector search factoids: Use to retrieve durable user context that isn’t represented well by a strict schema.
Why use tools (instead of stuffing everything into the prompt?)
A coach that always carries all history becomes:
- slow,
- expensive,
- and prone to irrelevant recall.
Uvilo’s approach is to keep conversations lightweight, then retrieve context on demand when it’s likely to improve accuracy or personalization.
This is the difference between:
- “chat that remembers everything all the time” and
- “coaching that remembers the right thing at the right time.”
7.4. Design Principles
What “Good Memory” means in Uvilo:
- Useful: captures context that improves future coaching outcomes.
- Concise: stores facts as short, clear statements.
- Non-ephemeral: avoids internal product state and momentary trivia.
- Retrievable: supports both browsing (list) and semantic recall (vector search).
- Correctable: anything recalled can be re-checked with the user and updated over time.
Memory should make the coach feel more human—without pretending to be perfect.
8. The Uvilo Taxonomy System
A Unified Framework for Human Growth and Intelligent Guidance
Modern life-coaching, therapy, and self-improvement content suffer from the same core fragmentation problem: there is no unifying structure that connects human issues, aspirations, and the practices that bridge them. The result is an overwhelming ecosystem of advice, books, courses, and videos—often repetitive, conflicting, or decontextualized.
Uvilo was built to fix that. The Uvilo Taxonomy System is the semantic foundation for a new kind of human development intelligence: a structured, data-driven map of personal growth that connects all forms of self-improvement knowledge into one coherent, navigable framework.
The Taxonomy acts as both a conceptual model and a technical substrate. Conceptually, it defines how life’s challenges and goals interrelate across eleven universal domains of life balance. Technically, it powers Uvilo’s ability to classify, recommend, and personalize resources—books, podcasts, videos, and programs—to help each person find what they need, when they need it.
The system provides the foundation for a scalable knowledge graph of human growth, grounded in psychology, behavioral science, and real-world data.
8.1. The Conceptual Foundation
The Domains of Life Balance
The Uvilo 360° Life Review framework defines domains that represent the full spectrum of human wellbeing:
Body, Mind, Home, Intimacy, Connection, School, Work, Money, Parenting, Play, Meaning, Growth, and Legacy.
Each domain encapsulates an area of human life where people encounter issues (problems to manage or resolve), pursue aspirations (goals to achieve), and engage in practices (behaviors that move them forward).
This triadic structure—Issue, Aspiration, Practice—is the backbone of the Taxonomy. Together, these create a comprehensive model for self-development that is both human-readable and machine-operable.
The Taxonomy as a Map
Each element in the Taxonomy represents a clearly defined node in a graph:
- Issues describe obstacles or deficits (e.g., insomnia, burnout, social isolation).
- Aspirations define positive goals (e.g., calm mind, thriving relationships, fit body).
- Practices are empirically supported or widely recognized behaviors that improve outcomes (e.g., mindfulness, journaling, progressive exercise).
Relationships between these nodes are expressed as weighted mappings that represent how strongly a given practice relates to a specific issue or aspiration. These mappings can be quantitative (via confidence scores) or qualitative (curated relationships).
This structure allows the system to represent human development as a dynamic network rather than a flat list of topics—one that can learn and evolve over time as data grows.
8.2. Data Model and Implementation
The Taxonomy is implemented as a relational and graph-aware database schema that supports efficient querying, mapping, and recommendation. It is designed to serve both human editors and AI systems.
Core Entities
Two core models form the foundation:
Taxonomy
Represents a single entity within the system (issue, aspiration, or practice).
TaxonomyMap
Defines a directional relationship between two taxonomy entities (e.g., insomnia → sleep hygiene).
In addition, three enumerations are used:
LifeDomain
A list of the life domains: body, mind, home, intimacy, connection, work, money, play, meaning, growth, and legacy
TaxonomyType
Taxonomy types: issue, aspiration, and practice.
PublishStatus
Publish status of a taxonomy item: draft, review, published, rejected, and archived.
Example issue
Example aspiration
Example practice
Data Characteristics
- Normalization: Each taxonomy item has a canonical ID, human-readable name, and clear domain assignment.
- Tagging: Tags are stored as arrays for flexible semantic search and topic expansion.
- Relations: Directed mappings support asymmetric relationships (e.g., one issue may be addressed by multiple practices and one practice may address multiple issues).
- Indexing: Trigram search enables rapid text matching, improving classification and recommendation accuracy.
8.3. Integration Across Content Types
The Taxonomy acts as the semantic layer linking all self-improvement content. Every book, video, course, or podcast that enters the Uvilo ecosystem is classified according to the Taxonomy.
- Books: Each title is tagged with its relevant issues, aspirations, and practices, enabling personalized book recommendations.
- Podcasts & Videos: Episodes are parsed for topics and linked to the same taxonomy nodes.
- Courses & Programs: Structured learning paths reference practices directly, allowing users to track measurable progress.
This unified structure means that a user dealing with chronic stress could receive book suggestions, guided meditations, and courses—all mapped through the same underlying framework.
8.4. Technical Architecture (Overview)
The Taxonomy underpins a modular data system:
- Data Layer – PostgreSQL relational schema with JSON and array fields for flexible metadata storage.
- Semantic Layer – Taxonomy Map provides graph-like relationships for knowledge traversal.
- API Layer – Exposed through REST (and, in the future, GraphQL and MCP) endpoints for querying taxonomy items and relations.
- AI Layer – Machine learning models perform tagging, similarity search, and resource recommendation.
- Integration Layer – Connects the Taxonomy to Uvilo’s content databases (books, videos, etc.).
From a user perspective, the complexity is invisible—but the system’s intelligence depends on the precision of these semantic connections.
8.5. Compliance and Ethical Design
Uvilo’s Taxonomy deals with deeply human data: psychological challenges, goals, and behaviors. Ethical considerations are built into its design.
- Attribution and Licensing: All source data and external content mappings respect copyright and API terms of service.
- Privacy: No personally identifiable user data is stored within the Taxonomy itself.
- Framing: Language is intentionally neutral and non-pathologizing—emphasizing growth and agency.
- Transparency: Recommendation logic can be explained in plain language (e.g., “We suggested this book because it addresses fatigue and supports recovery practices.”)
8.6. Maintenance and Growth
The Taxonomy is designed to evolve. Uvilo maintains an evolving repository of taxonomy data and mappings.
- Governance: Changes are reviewed by editors and domain experts.
- Extensibility: New domains, sub-practices, and relations can be added without schema changes.
- Localization: Support for multilingual entries enables expansion beyond English.
The goal is not static perfection but continuous learning. As more data flows through the Uvilo platform, the Taxonomy becomes increasingly intelligent and adaptive.
8.7. Future Directions
The Taxonomy is agnostic about the implementation format of the recommended practices. It provides a single semantic backbone that can organize the entire ecosystem of personal growth resources:
- A comprehensive index of self-help books.
- YouTube and podcast ingestion for multi-modal learning.
- Third-party apps and courses that implement practices.
- Integration with wearable data to link real-world habits to life domains.
- AI-generated insights for personalized coaching and reflection.
As Uvilo evolves, this taxonomy will become a living model of human growth—the connective tissue between knowledge, behavior, and outcome.
8.8. Significance
The Uvilo Taxonomy System transforms self-help from a chaotic information landscape into a structured, intelligent ecosystem. It provides the scaffolding for personalized guidance, measurable progress, and scalable AI reasoning about human wellbeing. It does so while avoiding hallucinations and suggestions of unproven practices.
It is, in short, the operating system for modern personal growth—built not on ideology, but on evidence-based structure, clarity, and empathy.
9. Self-Help Resources
Foundational Knowledge Graph for Personalized Human Growth
9.1. Resources Overview
Self-help knowledge is abundant but fragmented across thousands of books, podcasts, videos, and channels. Consumers face bestseller noise, influencer bias, and generic recommendation lists with no path to personal application. Uvilo addresses this by structuring global self-help content into a unified, intelligent system mapped directly to the Uvilo Taxonomy System (Issues, Aspirations, and Practices across the Domains of Life Balance).
Purpose
The result is a curated, contextualized, and actionable knowledge graph that powers personalized recommendations, coaching tools, and adaptive learning programs. By anchoring every resource to Taxonomy nodes and layering vector embeddings (to enable semantic similarity search), the system delivers precise, explainable recommendations tied to a user’s declared issues, aspirations, and active domains.
Method
Resources are acquired from publicly-available external APIs and data feeds, normalized into a canonical schema, and enriched through a multi-step ETL pipeline:
- Extract — Pull metadata from platform APIs (Google Books, RSS feeds, YouTube Data API).
- Transform — Clean and normalize text, deduplicate, enrich with ratings and citations, generate AI summaries and tags, and compute vector embeddings.
- Load — Insert canonical records; attach Taxonomy relations via embedding similarity search; create platform-specific Resource Links.
Every resource is automatically mapped to relevant Taxonomy nodes by searching the Taxonomy embedding space, producing relations with cosine similarity scores. The same Taxonomy spine links Books, Podcasts, Pod Episodes, YouTube Channels, and Videos, enabling multi-modal guidance through a single semantic graph.
Current and Future Resource Types
The system currently indexes Books, Podcasts, Podcast Episodes, YouTube Channels, and Videos. The architecture is designed to be extensible — future resource types such as apps and online courses will plug into the same Resource Item delegate pattern without altering the core knowledge graph.
9.2. Resource Item: The Polymorphic Base
Overview
Resource Item is the abstract polymorphic base model for all resource types. Every concrete resource (Book, Podcast, etc.) extends Resource Item and shares the same base table, enabling unified cross-type queries from a single entry point.
Key Fields
id– Primary keyslug– URL-safe unique identifiertitle– Resource title (1–500 chars)subtitle– Optional subtitledescription– Full descriptionsummary– AI-generated short summary (30–250 chars)domain– One of the Domains of Life Balancelanguage– 2-letter ISO language codescore– Aggregate rating (0–5)scoreCount– Number of ratingscategories– Content categoriestags– Editorial tagsembedding– Vector embedding of combined text fieldsitemType– Discriminator: Book, Podcast, Pod Episode, Channel, or Videostatus– Approval workflow: draft → review → approve → published
Relationships
Resource Item has one-to-many relations with:
- Taxonomy Relations — links to Taxonomy nodes (with similarity scores)
- Author Relations — links to Author records
- Resource Links — links to external platform pages
- Cloud Images — associated images (hosted on Cloudinary)
- Transcripts — transcripts for audio/video content
9.3. Resource Types
Book
Extends Resource Item with fields specific to published books:
publisher– Publisher nameisbn10– 10-digit ISBNisbn13– 13-digit ISBN (indexed)copiesSold– Estimated copies soldpages– Page countedition– Edition identifier
Primary data sources: Google Books API, Goodreads.
Podcast
Extends Resource Item with RSS feed metadata and podcast-specific fields:
rssFeedUrl– RSS feed URL (unique)ownerName– Podcast ownerpodcastType– Typicallyepisodicorserialexplicit–yes,no, orcleanlastEpisodePubDate– Tracks incremental episode indexingpodEpisodes– Relation to episodeschannel– Optional linked YouTube Channel
Primary data sources: RSS feeds, Podchaser GraphQL API.
Pod Episode
Extends Resource Item with episode-level metadata:
guid– Globally unique episode ID from the RSS feedepisodeUrl– Direct episode URLenclosureUrl– Media file URLdurationSeconds– Episode lengthepisode– Episode numberseason– Season numberepisodeType–full,trailer, orbonuspodcastId– Foreign key to parent Podcast
Primary data source: RSS feed items, Spotify Podcasts, and Apple Podcasts
Channel (YouTube Channel)
Extends Resource Item with YouTube channel metadata:
youtubeChannelId– YouTube channel ID (unique)customUrl– YouTube custom URL (e.g.@handle)subscriberCount– Subscriber countvideoCount– Total videosuploadsPlaylistId– Used for incremental video indexinglastVideoPubDate– Tracks incremental video indexingvideos– Relation to videospodcastId– Optional link to a Podcast (for video podcasts)
Primary data source: YouTube Data API.
Video
Extends Resource Item with YouTube video metadata:
youtubeVideoId– YouTube video ID (unique)videoUrl– Direct video URLdurationSeconds– Video lengthviewCount– View countlikeCount– Like countcommentCount– Comment countdefinition– Video quality (e.g.hd)channelId– Foreign key to parent Channel
Primary data source: YouTube Data API.
9.4. Resource Links
Purpose
A Resource Link represents a reference to an external platform page where a resource can be reviewed, purchased, or consumed. Each Resource Item can have multiple Resource Link records — one per platform — so users are offered diverse access options (e.g., a Book might link to Amazon, Goodreads, and Google Books; a Podcast to Apple Podcasts and Spotify).
Key Fields
platform– Target platform (e.g.amazon_us,goodreads,youtube,apple_podcasts,spotify_shows,podchaser)format– Content format (hardcover, paperback, kindle, audiobook, podcast, episode, video, channel, etc.)url– Public URL to the resource on the platformdataUrl– API/data URL (e.g. RSS feed URL)externalId– Platform-specific identifierscore– Platform-specific rating (0–5)scoreCount– Number of ratings on that platformprice– Price on the platformpriceType–free,once,monthly,quarterly,annual, ornot_availablecurrency– 3-letter ISO currency coderesourceItemId– Foreign key to the parent Resource Item
9.5. The Indexing Mechanism
Common Pipeline
All resource types are indexed through background jobs that follow a consistent multi-step pipeline, orchestrated by the Uvilo Execution Job system for structured logging, AI operations, and error recovery:
- Fetch External Data — Call the appropriate platform API (Google Books, RSS parser, YouTube Data API, Podchaser GraphQL).
- Match Life Domain — Perform a vector similarity search against the Life Domain embedding space to classify the resource into one of the Domains of Life Balance.
- Create Resource Record — Insert the concrete type (Book, Podcast, etc.) into the database, which auto-creates the delegate Resource Item row.
- Generate AI Summary — Use the
summarize-descriptionbot to produce a concise 30–250 character summary. - Generate AI Tags — Use the
extract-tagsbot to extract semantic tags (primarily for episodes and videos). - Upload Images — Upload cover art, thumbnails, and banners to Cloudinary.
- Link Authors — Find or create Author records (case-insensitive name matching) and create Author Relation join records.
- Create Resource Links — Create one Resource Link per platform (e.g. a Podcast gets links for its RSS source, Podchaser, Apple Podcasts, and Spotify).
- Link Taxonomies — Search the Taxonomy embedding space with a text composed from title, subtitle, categories, and description. Create up to 10 Taxonomy Relations with cosine similarity scores.
- Compute Embeddings — Join the resource’s title, subtitle, description, category, and categories into a single text, compute the vector embedding, and save it to the Resource Item.
- Finalize — Set the resource status to
reviewand recordindexedAt.
Incremental Indexing
Podcasts and Channels track their most recently indexed content via lastEpisodePubDate and lastVideoPubDate respectively. When a bulk indexing job runs, it finds the next chronological episodes or videos after that watermark, processes a configurable batch (one to hundreds), and advances the date. This enables efficient ongoing indexing without re-processing already-indexed content.
9.6. Publishing and Versioning Workflow
The Publish Status
Every Resource Item — and every related entity that extends the Taxonomy Base (Resource Links, Taxonomy Relations, Authors) — carries a Status field governed by the Publish Status enumeration, a Published At date, and a Version number. This defines a multi-stage approval workflow:
| Status | Description |
|---|---|
draft | Initial state. A work in progress, typically being assembled by an indexing job. |
review | Indexing is complete. The resource has all required fields, embeddings, taxonomy links, and platform links, and is ready for AI review. |
approve | Reviewed by an AI agent and accepted. Ready to be published by a human administrator. |
published | Live and visible to all authenticated users. Only published resources appear in search results and AI tool responses. |
rejected | Reviewed and declined. Excluded from public queries. |
archived | Retired from active use but retained in the database for historical reference. |
Status Cascade
The system automatically propagates Status and Published At changes from a Resource Item to all of its child Resource Link and Taxonomy Relation records. When an administrator publishes a resource, every associated platform link and taxonomy mapping is published in the same transaction. This ensures that related records never appear in public queries before their parent resource is ready, and that archiving or rejecting a resource immediately hides all associated data.
Versioning
Every Taxonomy Base record carries a Version field, defaulted to 1. This allows the system to maintain multiple versions of the same resource (e.g., a revised edition of a Book or an updated description of a Podcast), although only one can be published, and previous versions are archived. While the current system primarily operates on version 1, the schema is designed to support future version-based workflows such as editorial drafts alongside a live published version.
9.7. AI Tools for Resources
The Uvilo AI coach has access to a suite of registered AI tools in the resources group that allow it to discover, search, present, and recommend resources during conversations. All resource tools query through the polymorphic Resource Item model, so they work uniformly across Books, Podcasts, Pod Episodes, Channels, and Videos.
Current set of resource tools
| Tool ID | Group | Tool Name |
|---|---|---|
vectorSearchResources | resources | Vector Search Resources |
searchResources | resources | Search Resources |
listResources | resources | List Resources |
viewResource | resources | View Resource |
selectResource | resources | Select Resource |
Vector Search Resources
Performs semantic vector similarity search across all resource types. The AI provides natural-language search text, and the tool embeds it and queries the Resource Item using cosine similarity. Optional filters narrow results by itemTypes (e.g. ['Book', 'Video']) and/or domains (life domains). Returns up to 50 results ordered by relevance, each including a similarity score (0–1). A minSimilarity threshold can be tuned to control precision vs. recall.
Search Resources
Performs keyword-based tag search across all published resources. The AI provides an array of keywords and a match mode (any or all), and the tool queries the GIN-indexed tags array on Resource Item. Optional itemTypes and domains filters are supported.
List Resources
Lists all published resources linked to a specific Taxonomy item (issue, aspiration, or practice). Given a taxonomy, the tool queries through the Taxonomy Relation join table and returns all associated resources ordered by similarity score (highest first), then by title. This powers the “related resources” feature when the AI is discussing a particular topic.
View Resource
Retrieves a single resource by ID for detailed presentation to the user. Loads core fields (title, subtitle, summary, cover image, authors, domain, score, tags) from Resource Item, plus type-specific media fields: the URL for Pod Episodes (enabling an inline audio player) and Videos (enabling an inline video player). The client renders the resource in the convo interface as a rich card with cover image, metadata, and embedded player when applicable.
Select Resource
A user-interactive recommendation tool that presents a ranked list of resources for the user to choose from. The AI provides a message prompt and an array of resources, each with a ranking, Resource Item ID, and “Why it fits” explanation. The client renders this as an accordion UI in the convo interface showing each resource’s cover image, title, author, type, summary, and personalized rationale. The user selects one resource to explore. This is the primary mechanism for delivering personalized resource recommendations during coaching conversations.
10. Goals Feature [Work In Progress]
Steps in the goal framing process
-
Step 1: Quantify a Positively Framed Goal
-
Step 2: Ensure Goals Are Timely and Realistic
-
Step 3: Explore Potential Options and Solutions
-
Step 4: Decide on the Best Next Steps to Take
-
Step 5: Have a Clear Vision of the Outcome
11. Habits Feature
11.1. The Habit Calendar
The Habit Calendar is at the heart of Uvilo’s feature set. This is where we keep track of the tasks that need to be completed each day to move us closer to our goals. They can also track refraining from doing something undesirable.
Habits are similar to recurring events in a calendar – they can be daily, on given days of the week, weekly, or monthly.
Tasks are individual occurrences of a Habit.
11.2. Task States
We have put a spin on the concept of habits by giving Tasks four states instead of the typical done/not done check box.
-
Empty - The user has not indicated whether this task was completed
-
Skipped - This task was skipped
-
Partial - This task was partially completed
-
Done - This task was completed in full
There are several benefits to the four-state task completion method:
When looking at a whole day’s tasks, for example during an evening check-in, it’s clear which tasks have already been marked skipped, and which ones are still waiting to be recorded. A simple check box does not provide that information.
Tasks are typically specific, for example a 45-minute weight training workout. But life is rarely black and white. On some days one may not have the time or energy to complete this workout. But when it comes to habits, something is better than nothing. Partial indicates that the user has put in the effort to do the task, but fell short of completing the full time or effort prescribed.
When calculating compliance, a partially completed task receives 65% the effort value of a completed one. Yes, almost two thirds. As Woody Allan once said, “80% of success is showing up.”
11.3. Habit Auto-Complete
Habits can be linked to Metrics. If a Habit, for example, is to walk at least 15,000 steps daily, when Apple Health reports that the set number was reached, the habit is automatically set to Done. A number can also be set to get a Partial, for example after 10,000 steps.
11.4. Habit Grace Period
Habits can have a grace period. This means they don’t have to be completed on the exact day they are scheduled. However, after the grace period they are marked Skipped.
11.5. Reminders
Uvilo’s sophisticated notifications system includes reminders to complete tasks. The goal is for the system to learn the most effective way to encourage each user to complete their Habits. This includes timing, repetition, and AI-generated messages that refer to the user’s goals they are working towards and values they aspire to.
11.6. Habit Compliance
Habit compliance is a metric that can be calculated for any period of time and is expressed as a percentage and a grade. For a given moment in time it is a rolling average of the previous 7 days. It takes into account the weight of each habit (more difficult and more time consuming tasks get higher weights) and the number of times it was Skipped, Done, or Partial. Habit compliance is also calculated for individual habits. Compliance is then graded like in school as A+, A, A-, B, etc.
11.7. Habit Holidays
Nobody can be perfect all of the time. Breaking a streak or falling off the wagon can be very demotivating. Sometimes life happens – emergencies, celebrations – and sometimes we all need a holiday, a break from the daily drudgery. The last thing we need at these times is nagging about our declining habit compliance.
This is where Habit Holidays come in. Every year a user gets a given number of days they can use like vacation days or personal days at work – somewhere around 30-45 days. When a day or stretch of days is designated as a Habit Holiday, most habits are removed from that day so no reminders are send and skipping them does not affect your compliance or streaks.
However, some habits, like taking medications, can be marked as “Essential”, and will continue to function as normal during a holiday.
11.8. Habit Time
Habits can be set to perform during a time block or at a specific time. The time blocks can be customized by the user. Here are the default start times for each time block:
-
Wakeup - 7:00 am
-
Morning - 9:00 am
-
Lunch - 12:00 pm
-
Afternoon - 1:00 pm
-
Dinner - 6:00 pm
-
Evening - 7:00 pm
-
Bedtime - 10:00 pm









