About Doffy

Inspiration

We noticed a gap in the self-improvement space: most people fail at their goals not because they lack information, but because they lack consistent, high-level accountability. Generic AI chatbots often feel "robotic" and lack a coherent coaching philosophy. We wanted to bring a "human element" to AI-something that moves beyond basic gradients and generic responses. We were inspired by professional coaching frameworks like GROW (Goal, Reality, Options, Will) and OSKAR (Outcome, Scaling, Know-how). We realized that by combining these proven psychological models with distinct "personalities" (The Face), we could create an AI that doesn't just chat, but actually architects your growth.

What it does

Doffy is an AI-driven coaching platform that allows users to construct their perfect mentor. It is a modular system defined by two core components:

  • The Model (The Brain): Users select a proven coaching framework which dictates how the AI solves problems (e.g., The Strategist uses the GROW model).
  • The Face (The Vibe): Users wrap that brain in a personality, such as a "Drill Sergeant" for tough love or a "Bestie" for supportive accountability.

Key Features:

  • Modpacks: Coaches are shareable! Users can create specific configurations (e.g., "#slayqueens for cooking") and share them, similar to downloading a modpack for Minecraft.
  • RAG-Powered Context: We use a Retrieval-Augmented Generation system to fetch only the top 5 most relevant memories for every interaction, keeping the AI grounded in the user's specific history without blowing up token costs.
  • Adaptive Memory: Doffy observes patterns. If a user frequently skips morning workouts, the AI learns this fact and suggests evening sessions instead.

How we built it

We built Doffy using a modern, scalable stack focused on performance and developer experience:

  • Frontend: We used React Native (Expo) to ensure a smooth mobile experience. We utilized NativeWind for styling, allowing us to rapidly iterate on the UI using utility classes.
  • Backend: We leveraged Supabase for our database and authentication. We used Supabase Edge Functions (running on Deno) to act as our orchestration layer, keeping our API keys secure and our logic centralized.
  • AI Layer: The core intelligence is powered by Google Gemini Pro. We implemented a custom RAG pipeline that generates embeddings for user memories and retrieves them dynamically during chats.
  • Orchestration: Our backend "Orchestrator" receives user messages, fetches relevant memories, enforces personality rules, and then calls Gemini—ensuring the app never talks to the AI directly.

Challenges we faced

  • The "Frankenstein" UI: One of our biggest hurdles was integrating NativeWind with React Native stylesheets. We ended up with what we jokingly called "Frankensteined style sheets," but we eventually wrestled it into a sleek, minimalist design.
  • Token Efficiency: Querying the database to update token counts for every single chat message proved to be too slow. We had to rethink our architecture to buffer these requests.
  • Memory Latency: The summarizer agent, which distills chat logs into long-term facts, initially took too long and blocked the conversation. We are working on making this process asynchronous so the user doesn't feel the lag.

What we learned

We learned that prompt engineering is an art form. Simply telling an AI to "be a coach" isn't enough. You have to define its "Model" (the rules of engagement) separately from its "Face" (the tone) to get a truly consistent experience. We also gained deep experience in Supabase Edge Functions and Deno, learning how to orchestrate complex AI workflows without a heavy dedicated server.

What's next for Doffy

We plan to implement the "Future Me" simulation, where the AI extrapolates your current habits to simulate a conversation with your future self 4 months from now (e.g., "The sambar I made is truly popping!"). We also plan to integrate RevenueCat to handle premium subscriptions and token usage limits.

Built With

Share this project:

Updates