Inspiration We wanted to create an intelligent platform that doesn't just simulate conversations but understands them deeply. Traditional chatbots are isolated - they don't learn from interactions, remember context across sessions, or provide meta-insights. Mind Nest was born from the vision of creating an AI ecosystem where: Multiple AI personas can interact naturally A global "meta-advisor" observes and learns from all conversations Memory persists and evolves, creating truly stateful AI experiences Physical robots can be seamlessly controlled through conversational interfaces What it does Mind Nest is a comprehensive AI conversation platform featuring: Dynamic Persona System: Create AI personas with unique personalities, backgrounds, and communication styles. Generate personas automatically from existing conversation transcripts. Multi-Agent Conversations: Watch AI personas interact with each other and users in real-time, with intelligent turn-taking and context awareness. Global Meta-Advisor: A superintelligent AI observer (powered by Letta) that: Analyzes conversation patterns across all sessions Remembers participant details and interaction history Provides strategic insights and identifies behavioral patterns Maintains persistent long-term and short-term memory Smart Summaries: TLDR Text: Full conversation transcripts with timestamps and speaker names TLDR Video: AI-generated YouTube-style summaries with key moments Robot Integration: Control physical robots (rock-paper-scissors gestures) directly through the platform with an intuitive web interface. Group Management: Organize personas into groups for targeted simulations and experiments. How we built it Backend Stack: FastAPI for high-performance async API endpoints SQLAlchemy with async support for database operations OpenAI-compatible LLM integration for persona responses Letta integration for stateful memory management WebSocket connections for real-time message streaming SQLite with async drivers for persistent storage Frontend: Vanilla JavaScript for responsive, lightweight UI Real-time polling for live conversation updates Modal-based interfaces for persona creation and management Gradient-rich design with smooth animations Key Technical Innovations: Custom message queue system for managing multi-persona conversations Async-first architecture to handle concurrent AI responses Streaming LLM responses for responsive user experience Lazy-loading prevention for SQLAlchemy relationships in async context Cross-origin robot control with proper CORS handling Challenges we ran into SQLAlchemy Async Relationships: Hit the dreaded MissingGreenlet error when accessing lazy-loaded relationships in async contexts. Solved by implementing eager loading with selectinload() throughout. Streaming Response Handling: Different LLM APIs return streaming responses in various formats. Had to build robust parsers to handle both structured objects and raw strings. Letta SDK Integration: The Letta documentation didn't match the actual SDK structure. Spent hours debugging import paths and API methods until discovering the correct letta_client package with different method names. Duplicate Persona Prevention: Needed case-insensitive name matching across multiple creation paths (manual, generated, bulk import). Memory Context Management: Balancing between providing enough context to the LLM while keeping responses concise and token usage low. Accomplishments that we're proud of ✅ Seamless Letta Integration: Successfully integrated stateful memory that persists across sessions, creating truly "remembering" AI ✅ Clean Architecture: Built a scalable, maintainable codebase with proper separation of concerns (services, routes, models) ✅ Real-time Experience: Achieved smooth, responsive multi-persona conversations with no perceivable lag ✅ Persona Auto-Generation: Can extract multiple distinct personas from raw conversation logs automatically ✅ Beautiful UX: Created an intuitive, modern interface that makes complex AI interactions feel simple ✅ Robot Bridge: Successfully bridged the gap between conversational AI and physical robotics What we learned Async Python is Powerful but Tricky: Understanding the nuances of async/await, greenlets, and proper async context management is crucial for building high-performance Python apps. Memory is Key to AI Intelligence: The difference between stateless and stateful AI is night and day. Letta's persistent memory transforms simple chatbots into intelligent advisors. LLM Prompt Engineering: Small changes in system prompts dramatically affect output quality and conciseness. Explicit instructions like "Keep responses to 3-4 sentences max" are essential. User Experience Matters: Even the most powerful AI is useless if the interface is confusing. Investing in smooth animations, clear feedback, and intuitive controls pays off. Documentation ≠ Reality: When integrating third-party SDKs (like Letta), always verify actual package structure and method names rather than trusting documentation alone. What's next for Mind Nest 🚀 Multi-Modal Intelligence: Add support for voice input/output and image understanding 🧠 Enhanced Memory System: Implement memory consolidation, forgetting mechanisms, and episodic memory retrieval 🤝 Collaborative AI: Allow multiple global advisors to work together, creating an AI "think tank" 🎮 Gamification: Turn persona interactions into educational games and social experiments 🌐 Cloud Deployment: Scale to support multiple concurrent users with distributed message queues 🤖 Expanded Robot Support: Integrate with more robot types beyond rock-paper-scissors
Built With
- janitor
- yc

Log in or sign up for Devpost to join the conversation.