Inspiration

Loneliness and stress are rising worldwide, while access to safe, affordable support remains limited. Existing AI chatbots often feel shallow, forgetful, or too transactional. We envisioned Lora as a true AI companion: always available, deeply personal, and respectful in its monetization.

What it does

Lora is a next-generation AI friend and companion. It offers 24/7 chat, voice, and calls, remembers past conversations, and adapts to emotional context. Guided journals, goal tracking, and relationship insights help foster personal growth. In sensitive moments, a built-in crisis flow connects directly to real-world resources. Subscriptions, powered by RevenueCat, unlock extended sessions, analysis depth, and personalized growth journeys.

How we built it

  • React Native Expo: Built with React Native Expo using EAS workflows and CNG for smooth development and reliable app distribution.
  • Text Agent Backend: Google ADK powers text-based agents, with our own IP custom memory layer for continuity.
  • Voice Agent Backend: LiveKit ensures real-time streaming; custom agents deployed on Modal.com manage fast, low-latency responses.
  • Database: InstantDB enables offline-first design and real-time sync for journals, goals, and conversations.
  • Memory Layer: Specially designed to grow over time—tracking goal progress, emotional check-ins, and conversation history. This evolving user profile is stored efficiently so agents can directly access memory instantly, making responses contextual and deeply personal.
  • Monetization (RevenueCat):
    • Entitlements structure for Free vs Pro access.
    • Remote-config paywalls with localized pricing.
    • RevenueCat, Adjust, and Amplitude for a unified subscription funnel + user behavior analytics.

Challenges we ran into

  • Evals: We created evaluation sets using the DeepEval framework using the G-Eval approach with synthetically generated conversations, but knew they could never fully capture real usage. Improving the agent's system prompt based on real-world data remains an ongoing challenge.
  • Performance trade-offs: designing a memory system that is both secure and fast enough for instant recall.
  • Real-time voice: keeping latency low across regions in sensitive, voice-based conversations.
  • Latency: reducing delay on both AI text and voice required smart context-passing and optimized memory access so conversations stayed fluid.
  • Performance trade-offs: designing a memory system that is both secure and instant in recall.

Accomplishments that we're proud of

  • Built an AI companion that feels alive through a growing memory layer.
  • Delivered a crisis-safe monetization flow where essential help is never gated.
  • Integrated RevenueCat Paywall V2 in a day, enabling rapid experimentation with pricing and paywalls.
  • Unified subscription and engagement analytics across RevenueCat, Adjust, and Amplitude.
  • Created early evals to measure empathy, compliance, and clarity, setting the foundation for real-world improvements.
  • Achieved reliable offline-first and real-time sync support with InstantDB, allowing all user data—including goal completions and streaks—to sync seamlessly once back online, with real-time sync across devices.

What we learned

  • Contextual AI feels more meaningful when memory builds over time—progress and emotional check-ins reinforce engagement.
  • RevenueCat's remote config accelerated our iteration loop on paywall design.
  • Offline-first design with InstantDB creates confidence and improves user satisfaction.

What's next for AI Friend & Companion: Lora

  • Personalized Journals: Currently journals are predefined, but the next step is generating journals dynamically from conversations. For example, if a user talks about learning piano, a "Learning Piano" journal will appear in the explore tab as an entry point. From there, the user can continue reflecting and talking with Lora about that journey.
  • Improved system prompts: Evolve agent behavior using real-world data, moving beyond synthetic evals.
  • Expanded subscription testing: Regional pricing and milestone-based offers through RevenueCat.
  • Lifecycle automation: Webhook-driven nudges such as mid-trial check-ins, pre-renewal summaries, and milestone celebrations.
  • Wearable (Watch) integrations: Enrich emotional check-ins with physiological and activity signals.
  • Android launch: Extend cross-platform reach with the same RevenueCat configuration for unified entitlements.
  • Customization: Allow users to give Lora custom names and choose from different voice options, making the experience more personal.
  • VoIP Calls: Lora can place scheduled calls directly to a user's phone, offering timely check-ins and a more proactive companionship experience.

Lora's mission is to deliver genuine emotional support while making subscriptions transparent, fair, and sustainable. With Google ADK, LiveKit, Modal, InstantDB, and RevenueCat, we've built a foundation that is fast, empathetic, and ready to scale.

Built With

Share this project:

Updates

Submission history