My vision for this project is to develop a super-intelligent digital being that acts as a best friend, teacher, and assistant … and eventually runs my company so I can fully dedicate myself to other things.
Here are the Updates For the day
- Changed Vee’s brain architecture
- Introduced a new component inside the structure called Vee-Self
- Gave Vee the ability to remember and never forget key information
Let’s Start with the Architecture Change

In the previous architecture, I had two modes and a mode decider.
I decided to focus on Bestie Mode first, so I removed the Information Guardian Mode.
In Bestie Mode, I had an Emotion Detection component (LLM) to extract the feelings behind the user’s latest text.
Then it would go to the Planner (to generate a plan for what to address and the tone to use), and finally, the Drafter component would generate the final text reply.
After chatting with it for a while, I realized that Vee sounded robotic, and all responses had a similar structure.
It lacked autonomy.
And honestly, the structure was overcomplicated for no reason.
That’s when the idea of a centralized model came about.
Instead of having multiple components (LLMs) collaborate to produce a single reply, I decided to have one main component generate the final response … while other components simply prepare enough context for that model to produce a high-quality, human-like message.
In this new system, that centralized component is called Vee-Self.
How Vee-Self Works

The Persist Component first stores the newly received user text.
The Perceive Component extracts the emotional layer behind the text … identifying whether it carries positive or negative feelings, arousal level, and emotion probabilities.
Finally, Vee-Self is invoked along with the perceived data and the latest user text.
This is Vee-Self’s system prompt:
https://github.com/moe1047/ai-bestie/blob/main/prompts/vee_self.md
Now, Vee sounds more human … the responses vary in structure (more natural and less templated), just like how we talk.
Giving Vee the Ability to Remember Things
ven though Vee now sounds more human, it still couldn’t remember anything beyond the latest user text and its emotional analysis.
I needed it to have enough context before replying … to remember things like:
- The last 10 turns of our conversation
- The feelings behind each of my messages
- My personal info (name, city, and time zone)
To achieve this, I divided the task into two main categories:
- Recording Memory (writing to short-term memory)
- Retrieving Memory (reading from short-term memory)
Recording Memory involves storing:
- Each user text and its metadata (like timestamps)
- Perception data (feelings behind each user text)
- Vee’s replies
Retrieving Memory involves recalling:
- The last 10 turns of the current conversation (mapped with feelings behind each user message)
- The hardcoded user profile (like my name and city)
- Environmental context (current date, time, and day)
Giving Vee memory made it sound even more alive.


Thank you for reading if you made it this far.
See you in the next update. 🚀