Inspiration
Maina was born out of repeated first-hand exposure to how people around me dealt with emotional and personal struggles. Friends would open up late at night about relationships, burnout, anxiety about the future, or feeling stuck, but the conversation would almost always end with “I don’t want to go to therapy” or “I don’t want anyone to think something is wrong with me.”
What stood out was that these people were not avoiding help. They were avoiding labels.
I realized that most problems people face sit in a grey zone. They are serious enough to affect daily life, but not something people feel comfortable medicalizing. There was no product designed for this in-between space. That gap is what Maina is built for.
What the Project Does
Maina is a coaching based guidance platform that allows users to talk to trained coaches through chat, call, or video sessions. The focus is on relationships, stress, decision making, and personal clarity, without framing the interaction as therapy or mental health treatment.
Users are matched with coaches based on their needs and preferences. Sessions are time bound and structured, allowing conversations to stay focused while still feeling natural. Users can track past sessions, maintain continuity with coaches, and manage their interactions privately.
The product is intentionally designed so that a user can say “I just want to talk this out” rather than “I need mental health support.”
What I Learned
Working on Maina taught me that product decisions in sensitive domains cannot be made purely from a technical or business perspective.
I learned that small design choices such as naming sessions, structuring onboarding, or even deciding what not to automate have a direct impact on whether users feel safe. I also learned that building for trust requires restraint. Not every problem should be solved with AI, analytics, or aggressive engagement loops.
From an engineering standpoint, I learned how to design systems where human interaction is the core value, and technology exists to support it rather than replace it.
How the Project Was Built
Maina was built as a full stack mobile first platform.
The frontend was developed using Flutter to support both Android and iOS from a single codebase. Real time chat, audio, and video features were implemented with session level state management and timers to enforce session boundaries.
The backend was built using Node.js and Express, with modular routes handling user accounts, coach profiles, session history, reviews, and search. Authentication, authorization, and data access were structured to keep user interactions private and controlled.
State management on the client side was handled using Provider to ensure session continuity and predictable UI behavior. The architecture allows future extensions such as intelligent coach matching or session insights without restructuring the core system.
At a system level, the platform optimizes for reliability and clarity rather than engagement maximization:
Platform Value
Human Support + Reliable Systems − Unnecessary Complexity Platform Value=Human Support+Reliable Systems−Unnecessary Complexity Challenges Faced
One of the hardest challenges was defining boundaries. It was important to clearly separate coaching from therapy without invalidating user experiences. This affected feature scope, coach onboarding, and even how conversations are initiated.
Another major challenge was balancing speed of development with ethical responsibility. Features that increase engagement are easy to build, but features that preserve user dignity require careful thought.
Technically, integrating chat, call, and video sessions while keeping session timing accurate and state consistent across network interruptions required multiple iterations and refactoring.
Reflection
Maina represents a shift in how support systems can be built. Instead of asking users to first accept a label, it meets them where they already are.
For me, this project reinforced the idea that impactful software is not just about scale or complexity, but about whether people feel understood when they use it. Maina is an ongoing attempt to build technology that respects that principle.
Built With
- agora
- cloud
- express.js
- firebase
- flutter
- google-analytics
- jwt
- messaging
- microsoft-clarity
- mongodb
- node.js
- oauth
- preferences
- razorpay
- react
- sdk
- shared
- typescript
- vercel
- webrtc
Log in or sign up for Devpost to join the conversation.