Inspiration

Health literacy often starts too late. Many young people make daily choices around sleep, food, stress, screen time, and recovery without understanding how those choices affect their future health. Existing apps usually focus on tracking or reminders, but they rarely help users understand cause and effect in a motivating way.
Nouri was inspired by this gap: we wanted to make health decisions feel immediate, personal, and empowering rather than fear-based.

What it does

Nouri is a youth-focused AI health companion that turns vague health goals into personalized 7-day experiments.
Users choose one primary experiment (for clearer attribution) and optional support habits, then log daily check-ins through text or voice.
Nouri analyzes trends in energy, clarity, and mood, generates practical insights, and visualizes progress through a Current vs Future Self twin.

How we built it

  • Frontend: React + TypeScript + Vite
  • State and app logic: Context-based state management with local persistence for MVP reliability
  • AI layer (OpenAI): experiment generation, insight synthesis, structured response formatting, and conversational coaching
  • Voice layer (ElevenLabs): text-to-speech coaching, speech-to-text for voice check-ins, and reward sounds
  • Charts and visual feedback: trend lines and effect-window visualization to show timing of habit impact
  • Deployment: Vercel, with SPA routing fixes and PWA install support (manifest + service worker)

What we learned

  1. Attribution matters for behavior change. Users get more trust and motivation when they can connect outcomes to one clear habit variable.
  2. Voice reduces friction. Fast voice check-ins make logging easier, especially for users with low attention or busy routines.
  3. Motivation is emotional, not just analytical. The Future Self visual and small reward cues increased perceived engagement more than raw metrics alone.
  4. Clarity in UX is critical. We improved onboarding and check-in scales so data remains fair and understandable.

Challenges we faced

  • Signal attribution with multiple habits: We introduced a primary-vs-support experiment model to reduce confusion.
  • Consistency of scoring and baselines: We standardized check-ins to a 1-10 scale and added baseline refresh logic.
  • Privacy in social sharing: We added per-post visibility controls (private/friends/public) and account-level defaults.
  • Demo reliability: We built fallbacks for AI features so the core flow remains stable during live demos.
  • Deployment routing issues: Direct route 404s on Vercel were resolved using SPA rewrite configuration.

Accomplishments

  • Built an end-to-end MVP that supports personalized experiment design, daily check-ins, AI insights, and visual progress feedback
  • Integrated both OpenAI and ElevenLabs in ways that add functional value beyond a simple chat wrapper
  • Added social feed controls with privacy settings and PWA home-screen installability for mobile retention
  • Shipped a live, deployable product under hackathon time constraints

What’s next

  • Run rapid user validation (5-10 interviews/tests) and refine based on real friction points
  • Add stronger longitudinal analytics and confidence indicators
  • Expand explainability so users can better understand why recommendations are generated
  • Pilot with student and young professional communities to test retention and behavior change impact

Built With

  • elevenlabs-api-(tts/stt/sound-generation)
  • html/css
  • localstorage-(client-side-persistence)
  • openai-api-(llm)
  • pwa-(manifest-+-service-worker)
  • react
  • react-router
  • recharts
  • typescript
  • vercel-(deployment)
  • vite
Share this project:

Updates

Submission history