Inspiration
Mental health struggles affect 1 in 5 adults, yet immediate, personalized support remains inaccessible for most people. During a particularly stressful period, I found myself searching for quick relief techniques but felt overwhelmed by generic advice that didn't fit my specific situation. I thought: "What if AI could create personalized coping strategies on-demand, like having a therapist design a custom toolkit for exactly what I'm going through?"
That's when Inner Harbor was born - an AI-powered app that generates personalized 3–5 minute "micro-rituals" for immediate emotional relief.
What it does
Inner Harbor transforms emotional distress into actionable relief through AI-generated personalized rituals:
Input
Users select their emotion (anxious, sad, overwhelmed, etc.) and context (work, relationships, health, etc.), rate their distress (0–10), and add optional notes.AI Generation
GPT-4o-mini creates a custom ritual combining evidence-based techniques from CBT, DBT, and mindfulness—tailored to their exact situation.Guided Experience
Users complete the ritual step-by-step with built-in timers and clear instructions.Track Progress
Before/after distress ratings and helpfulness scores build a personalized library of what works.Visualize Patterns
The "Emotional Weather" timeline reveals patterns and progress over time.
Critical Safety Features
- Comprehensive crisis detection (37+ keywords) with immediate hotline resources
- Clear disclaimers that this is NOT therapy
- Privacy-first design with user data control
How we built it
Tech Stack
- Frontend: Next.js 15 with TypeScript and Tailwind CSS
- Backend: Next.js API Routes with Prisma ORM
- Database: PostgreSQL via Supabase with connection pooling
- AI: OpenAI GPT-4o-mini with custom prompt engineering
- Deployment: Vercel with automatic GitHub integration and CI/CD
Development Process
- Started with comprehensive product specification and task breakdown
- Built core ritual flow with mock data to validate UX
- Implemented database schema with Prisma (4 tables: users, sessions, rituals, runs)
- Integrated AI with careful prompt engineering for safety and personalization
- Added crisis detection system with extensive testing (37 scenarios)
- Implemented tracking features (library, favorites, emotional weather)
- Hardened for production (rate limiting, input sanitization, error handling, security headers)
- Created comprehensive test suites (10/10 E2E tests, 37/37 crisis tests passing)
- Deployed to production with full documentation
AI Assistant Partnership
I used Claude Code (Sonnet 4.5) as my AI pair programmer throughout development, which accelerated development while teaching me best practices for production-ready applications.
Challenges we ran into
1. IPv4/IPv6 Compatibility with Supabase
The biggest technical hurdle was database connectivity. Supabase's direct connection requires IPv6, but most networks are IPv4-only. After multiple failed attempts, I discovered I needed to use Supabase's session pooler for both app connections AND migrations, requiring special Prisma configuration.
2. Responsible AI Design
Creating an AI system for mental health required careful consideration:
- How do we ensure rituals are helpful, not harmful?
- How do we detect crisis situations reliably?
- How do we set clear boundaries about what the app can and cannot do?
This was solved through prompt engineering, crisis keyword detection, and prominent safety disclaimers.
3. Build Errors in Production
During Vercel deployment, TypeScript compiled test scripts that shouldn’t be included. I learned to correctly configure tsconfig.json to exclude test directories.
4. Balancing Personalization with Safety
The AI must be creative yet safe. I approached this by:
- Training the AI with specific therapeutic techniques (CBT, DBT, mindfulness)
- Enforcing strict time limits and step counts
- Validating ritual structure before showing users
- Implementing retry logic and fallback rituals
Accomplishments that we're proud of
- Fully Production-Ready: Live at https://inner-harbor-eta.vercel.app
- 100% Test Pass Rate: 10/10 E2E tests and 37/37 crisis detection tests
- Complete Full-Stack Application
- Responsible AI with crisis detection and safety systems
- Real-World Impact with personalized, effective rituals
- Production Quality:
- Rate limiting (10 rituals/min/IP)
- Input sanitization and validation
- Security headers (CSP, X-Frame-Options, etc.)
- Comprehensive error handling
- Structured logging
- Rate limiting (10 rituals/min/IP)
What we learned
Technical Skills
- Full-stack development
- AI integration and prompt engineering
- Production hardening (security, rate limiting, error handling)
- Database migrations, schema design, and connection pooling
- DevOps with Vercel and CI/CD
Design Principles
- Safety-first design
- User-centered development
- Progressive enhancement
- Comprehensive automated testing
AI Development
- Prompt engineering dramatically affects output
- Always validate AI output
- Fall-back strategies are essential
- Crisis detection is difficult but critical
Soft Skills
- Breaking down complexity
- Writing documentation
- Learning with an AI pair programmer
What's next for Inner Harbor
Short-term enhancements
- User authentication
- Mobile app (iOS/Android)
- Ritual customization
- Anonymous ritual sharing
Medium-term features
- ML-based personalized recommendations
- Voice-guided rituals
- Wearable integrations for auto-detected stress
- Multilingual support
Long-term vision
- Clinical validation
- Therapist dashboards
- Community ritual libraries
- Research platform using anonymized data
Immediate next steps
- Gather user feedback
- Improve AI personalization
- Add analytics for ritual effectiveness
- Explore partnerships with mental health organizations
Inner Harbor represents my vision for the future of accessible mental wellness—AI-powered, personalized, evidence-based, and always available when you need it most.
Live Demo: https://inner-harbor-eta.vercel.app
GitHub: https://github.com/visshbala21/innerHarbor
Built With
- gpt4o
- next.js
- postgresql
- prisma
- react
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.