Inspiration

Enough began from a part of my life that has been difficult to put into words.

My mother passed away from cancer in 2022. Since then, grief has often appeared alongside panic attacks, anxiety, medication, therapy, overthinking, and days when even a small task feels overwhelming. I have learned that recovery is rarely a straight line. Sometimes, “getting back on track” simply means breathing, drinking water, writing one honest sentence, or making it through the day without judging yourself.

This was not my original hackathon idea. I initially wanted to build something more technical and familiar, but I kept returning to a more personal question:

Could I use AI to create something meaningful from what I have experienced—something that helps another person feel less alone in a difficult moment?

I did not want to build an artificial therapist or another chatbot that gives generic advice. I wanted to create a gentle space that helps people slow down, understand what they are feeling, and find one manageable next step.

Enough is built around a simple message I have needed to hear myself:

You do not need to have everything figured out. You are already enough.

What it does

Enough is a privacy-conscious AI wellbeing companion for grief, panic, overthinking, and low-energy days.

Instead of asking users to explain everything immediately, Enough begins with four approachable choices:

  • I’m panicking
  • My thoughts won’t stop
  • Grief found me today
  • I can’t get moving

From there, the user can choose support that fits the moment:

  • Follow step-by-step grounding exercises
  • Write privately in a journal
  • Create a minimum-viable-day plan
  • Save memories without attempting to recreate a deceased person
  • Record mood and energy without streaks or scores
  • Generate a structured GPT-5.6 reflection
  • Speak naturally with an AI companion using real-time voice
  • Convert a voice conversation into one private reflection
  • Receive optional “A Little Light” reminders through email or browser notifications
  • Find verified mental-health and emergency support resources in India

Enough includes five original AI companions—Rowan, Mira, Elias, Anaya, and Soren. Each has a distinct voice and philosophical approach, but every companion clearly identifies itself as AI. They do not impersonate therapists, fictional characters, real people, or loved ones who have passed away.

The application is also an installable Progressive Web App, allowing people to keep its grounding and private tools nearby.

How we built it

I built Enough as a solo developer, but I was not alone in the process.

I worked closely with OpenAI Codex as my engineering and design collaborator. I brought the lived experience, product direction, safety boundaries, testing feedback, and countless “this still doesn’t feel right” moments. Codex helped me turn those decisions into working software, debug failures, challenge weak assumptions, refine the interface, and keep iterating until the application felt coherent.

It genuinely felt like a small team: one human building from personal experience, and one AI helping translate that intent into a product.

The application uses:

  • FastAPI and Python for the backend
  • Vanilla HTML, CSS, and JavaScript for a lightweight frontend
  • GPT-5.6 for structured, bounded reflections
  • OpenAI Realtime API and WebRTC for low-latency voice conversations
  • Live captions for accessible voice interaction
  • SQLite for accounts, sessions, verification, and notification preferences
  • Scrypt password hashing and opaque HttpOnly sessions
  • Resend for verification and reminder emails
  • Web Push and VAPID for device notifications
  • Service workers for installation and offline application-shell support
  • Railway for container deployment and persistent storage

FastAPI serves both the frontend and API, keeping the architecture simple enough for a solo developer to understand and maintain.

I also built Enough with graceful fallbacks. Its grounding, planning, journaling, and memory tools do not require AI. If an OpenAI key is unavailable, the reflection flow can still demonstrate its intended structure instead of making the entire application unusable.

Challenges we ran into

The hardest challenge was not connecting an API. It was deciding what the AI should not do.

A grief-focused product can easily become manipulative or unsafe. I deliberately avoided:

  • Presenting AI as a therapist
  • Diagnosing mental-health conditions
  • Recommending medication changes
  • Simulating someone who has died
  • Treating ordinary sadness as an emergency
  • Using streaks, guilt, or engagement pressure
  • Encouraging emotional dependency on a companion

Real-time voice introduced another set of challenges. I had to handle microphone permission, WebRTC session creation, caption timing, interruption, different companion voices, conversation stopping, and clear disclosure that audio is processed by OpenAI.

Notifications were also more complicated than they appeared. A real reminder system required browser permission, VAPID keys, service-worker behavior, scheduled delivery, persistent subscriptions, expired-device cleanup, verified email ownership, unsubscribe links, and safeguards against registering someone else’s email.

Deployment uncovered practical issues too: Railway port handling, persistent SQLite storage, secure cookies, health checks, environment variables, service-worker caching, DNS propagation, and custom-domain configuration.

Finally, designing for anxious or grieving users required restraint. Every interaction needed to feel calm, understandable, and optional. Even a scrollbar, animation, error message, or overly enthusiastic sentence could disrupt the experience.

Accomplishments that we're proud of

I am proud that Enough became more than a polished chatbot interface.

It is a functioning, deployable product with:

  • Real-time AI voice companions with distinct identities and voices
  • Structured GPT-5.6 reflections grounded in the user’s chosen context
  • Working grounding exercises and private local-first tools
  • Account registration and secure sign-in
  • Single-use email ownership verification
  • Scheduled email and browser push notifications
  • One-click email opt-out
  • Persistent production storage
  • An installable offline-capable PWA
  • Explicit privacy and safety boundaries
  • A verified India-focused support directory
  • Automated backend tests
  • A public deployment and open-source repository

I am especially proud that the product does not use my experience with loss as a gimmick. It tries to turn that experience into careful design choices that respect people when they may be vulnerable.

As a solo builder, seeing the application move from a personal idea to something another person can open, speak to, and potentially find comfort in means a great deal to me.

What we learned

I learned that meaningful AI products are defined as much by their boundaries as by their capabilities.

The most advanced model is not automatically the most helpful experience. Sometimes the right response is a grounding exercise that works offline. Sometimes it is a quiet place to write. Sometimes it is a real person’s phone number. AI should support those options, not replace them.

I also learned that emotional products require serious engineering. Privacy, authentication, consent, accessibility, email verification, notification permissions, persistence, and graceful failure are not secondary features. They are part of whether a user can trust the experience.

Working with Codex also changed how I think about solo development. I still had to make the product decisions, test the application, reject ideas that did not fit, and remain accountable for the result. But I could explore, debug, and iterate at a speed that would otherwise have been difficult alone.

The most personal lesson was that building from grief does not mean staying trapped inside it. Something painful can become the reason to create with more empathy.

What's next for Enough - A Gentle AI Companion

Enough is a strong prototype, but I want to grow it responsibly.

My next priorities are:

  • Conducting professional clinical and safety review
  • Adding a clear privacy policy and consent documentation
  • Giving users account export and permanent deletion controls
  • Expanding crisis-resource routing beyond India
  • Improving accessibility and multilingual support
  • Adding encrypted server-side synchronization for users who explicitly request it
  • Evaluating companion responses for safety, dependency risks, and cultural sensitivity
  • Improving notification scheduling across devices and time zones
  • Creating moderated community storytelling without likes, follower counts, or harmful engagement incentives
  • Partnering with grief-support organizations, therapists, and people with lived experience
  • Keeping the essential experience free and accessible

I do not want Enough to become an application that tries to keep people inside it forever.

I want it to help someone through a difficult moment, encourage real human support when needed, and eventually make itself less necessary.

Enough is not here to fix you. It is here to meet you where you are—and remind you that you are still enough.

Built With

Share this project:

Updates