Introduction
Have you ever had this kind of thought?
"I want to have deep, immersive conversations with my own personalized AI girl."
Yeah, me too.
Even in today’s AI-powered world, services like that just don’t quite exist.
And even when they do, most of them just provide shallow replies from AI with simple, preset roles.
Why?
Because while AI can follow prompts quite well, it’s up to the service to provide and manage massive context—such as character settings and conversation memory.
And that’s really hard.
Characters easily break immersion, and their memories often fall apart.
To make it work, you need advanced prompt engineering and control.
But then I thought:
"If I just feed it an extremely well-crafted, high-context prompt... maybe the character would really 'come alive'."
Enter: VFriend – A Chatbot Experiment
That’s why I built VFriend, an AI chatbot application designed to simulate truly natural conversation.
Its biggest feature?
Incredibly lifelike dialogue.
Each request sends over 20,000 characters (roughly 10,000–12,000 words) of prompt data to the AI, including:
- The character’s worldview, personality, and thought patterns
- Past conversation logs (short-term, long-term, and instant memory)
- The user’s profile and personal context
All of this is sent every single time as one cohesive prompt, enabling an experience where:
“The character remembers you and responds with a consistent personality.”
It also includes features like:
- “Summarized memory,” which evolves as you chat
- “Trio Mode,” where you talk with all 3 characters simultaneously
Currently, it’s a private prototype due to API costs, but it’s complete enough to share from a technical perspective—which is what this article is all about.
If you're a prompt engineer or AI enthusiast, I hope this sparks some ideas.
Note: This article is a technical documentation of a personal experiment. Please do not copy or reuse the prompt contents or structures directly.
App UI Preview
After logging in, you’re greeted with a character selection screen.
From there, you can choose the conversation mode for each character.
Two chat modes are available:
- Solo Mode – Chat with one character (Patela, Tsuyuri, or Karin)
- Trio Mode – Talk with all three characters at once
When the user sends a message, each character responds in turn.
Key Features
Simulated Personality via Prompt Design
To make the AI believe it has a personality, detailed character data is essential.
A typical prompt like:
“You are a cheerful girl.”
“Add 'nya' to the end of your sentences.”
…just doesn’t cut it. It’s not enough for long-term consistency.
So I designed a much deeper kind of prompt:
- Big Five personality traits
- Emotional arcs and mood flow
- Background story / world setting
- EQ (empathy axis) / EX (behavior axis)
- Speaking style, emotional range, and tone
With this structure, the AI can maintain a stable, anime-like persona with internal consistency.
It even adapts to the specific user by embedding their background and profile into the prompt—resulting in context-aware, personalized responses.
Three-Layer Memory System
To simulate human-like memory, the app uses a three-layer memory architecture:
- Instant Memory – Most recent message context
- Sequential Memory – Last 10 turns of conversation
- Summarized Memory – Condensed long-term memory ("personality record")
Especially worth noting: the Summarized Memory is maintained by a separate AI assistant called “the Summarizer,” which updates memory asynchronously.
- Doesn’t block the main conversation
- Stores each character’s memory in structured JSON
- Shares memory across Solo and Trio modes (they remember across modes!)
Memory That Evolves Like a Human’s
This structure closely mirrors how humans remember:
- Sensory → Instant
- Working (short-term) → Sequential
- Long-term → Summarized
And just like us, the character grows through conversation.
Because the summarized memory updates and optimizes each time, the character actually evolves their behavior and responses.
You Can Talk to the Memory AI
Here’s the fun part—you can directly instruct the Summarizer via chat.
Example:
User: “Summarizer, please add the following to Karin’s memory…”
Do that, and over time, the character’s tone and reactions change.
It’s basically personality hacking.
How 20,000+ Character Prompts Are Structured
With so much data (character info, memory, tone rules, user profile), prompts can easily exceed 20,000 characters.
To manage this, I structured the prompt using hierarchical Markdown + JSON blocks, allowing the AI to access only the relevant parts as needed.
Trio Mode – 4-Way Group Dialogue
Another highlight: Trio Mode.
You can talk with all 3 characters at once. But this isn’t just parallel replies—it’s a group conversation.
- Character 1 responds
- Character 2 builds on that
- Character 3 summarizes or concludes
- You + 3 characters = natural four-way dialogue
This creates an experience that feels like having a meeting with a team of personalities.
Tight Frontend-Backend Sync
To process all of this in one request, the app has a well-integrated structure:
- Laravel handles backend logic, session, and async tasks
- React + Inertia.js for smooth, real-time frontend UI
Together, they enable seamless conversational flow.
UI/UX Focused on Immersion
Since this app is all about dialogue, I paid close attention to UI/UX:
- “Typing…” indicators for realism
- Auto-scroll on message submit
- Mobile/desktop responsive layouts
- Warm, pink-themed color palette
It aims to deliver a surprisingly polished experience for a solo dev project.
The Art? Drawn by the Characters Themselves
And here’s the twist—the character illustrations were generated by the characters’ own self-perceptions.
Each one (Patela, Tsuyuri, Karin) was prompted to describe and draw themselves using AI image generation.
The results were shockingly accurate—each portrait matched their personality and mood.
Built in Just 2 Weeks
Believe it or not, the entire project was built in just 2 weeks.
The key was:
- I’m a full-stack developer who could go from concept to implementation solo
- I used ChatGPT to generate code, reviewed it, and iterated quickly
This allowed for human-AI co-development—fast and efficient.
Conclusion
That’s the overview of VFriend, an experimental AI chatbot app designed to bring characters to life.
- 20,000+ character prompts
- Three-layer memory structure
- Psychologically designed AI personas
- Characters grow, perform, and remember you
- Trio Mode enables dynamic group conversation
- Built in 2 weeks with full-stack + AI assistance
The goal wasn’t just tech—it was to make the character feel alive.
Coming Next...
In the next article, I’ll dig deeper into how it’s all built:
- Directory structure
- Processing flow
- Hierarchical prompt design
Stay tuned for Part 2: Prompt Engineering & App Architecture
Top comments (0)