Ally
Inspiration
Ally began as a response to loneliness. Both founders experienced periods of isolation while living away from friends and working demanding internships. We wanted to build something that offered presence, understanding, and consistency. Recent progress in large language models, memory systems, and lightweight inference made it possible to move beyond a basic chatbot and create an AI companion that feels grounded and attentive.
What We Learned
We learned that memory and emotional consistency matter more than raw intelligence. A system that remembers small details, maintains a steady tone, and responds with context feels more human. We also learned that latency directly affects the sense of connection, and that safety design must be integrated from the start. Building Ally taught us about model behavior, human centered design, and the psychology of supportive communication.
How We Built It
The backend is built with Node.js, Express, and TypeScript. We use a relational database for structured memory and a vector memory layer for semantic retrieval based on cosine similarity [ \text{sim}(u, v) = \frac{u \cdot v}{|u| |v|} ] The system includes three memory layers: short term context, long term episodic memory, and a reflection layer that generates insights about the user. The response pipeline retrieves relevant memories, applies personality and safety rules, and then produces a reply. The mobile app, built in React Native with Expo, focuses on clean design and conversational presence.
Challenges
We faced several challenges. Personality drift was common and required style constraints to maintain a stable tone. Memory management was difficult because the system initially stored too much information, which forced us to build scoring, filtering, and relevance thresholds. Safety was another challenge, since we needed boundaries that felt natural rather than restrictive. Finally, running high quality models at low latency required caching, selective retrieval, and careful optimization.
Summary
Ally is an AI companion designed to remember the user, maintain a consistent personality, and offer a sense of presence. Building it required combining technical engineering with an understanding of emotional design. The project showed us that meaningful AI interaction depends on memory, tone, safety, and speed as much as model capability.
Log in or sign up for Devpost to join the conversation.