This is a submission for the DEV Weekend Challenge: Community
The Story Behind Mama
It was 2 AM when my sister called me, panicking.
"I'm having these weird pains. Should I go to the emergency room? Google says it could be nothing... or everything. I can't reach my doctor until morning."
She was 6 months pregnant, terrified, and alone with Dr. Google—the world's most anxiety-inducing physician. That night ended fine (it was just round ligament pain), but it sparked something in me.
Why do we live in an age where we can order food, stream movies, and video call across continents instantly—but expecting mothers still feel alone and anxious at 2 AM?
The Community I'm Fighting For
This project is for every woman who's Googled symptoms at midnight and spiraled into worry. For every first-time mom who doesn't know if her cravings are normal or if that twinge means something serious. For every expecting mother in a rural area who can't easily access maternal healthcare specialists.
The statistics hit hard:
- Over 140 million women give birth globally each year
- Many spend months filled with questions, anxiety, and uncertainty
- Healthcare access gaps leave countless mothers feeling isolated
- Meanwhile, skilled obstetricians and midwives want to help more patients but are limited by geography and clinic hours
But here's the beautiful part: there's also a community of passionate healthcare professionals who genuinely want to be there for these mothers. Consultants who'd happily answer questions during their lunch break. Retired midwives who miss helping mothers navigate this journey. Specialists who want to reach beyond their local clinic.
Mama exists to connect these two communities—turning late-night panic into peaceful reassurance, transforming isolated questions into supported journeys.
What I Built
Imagine your best friend, a medical encyclopedia, and a supportive community—all in your pocket, available 24/7. That's Mama.
I built an enterprise-grade pregnancy support platform that does something beautifully simple: it makes expecting mothers feel less alone. But here's where it gets interesting—it simultaneously creates flexible income opportunities for healthcare consultants while ensuring mothers get expert, personalized care.
The Core Experience
When you're an expecting mother:
Picture this: It's week 23, you're experiencing some unusual symptoms, and instead of falling down the anxiety-inducing Google rabbit hole, you open Mama. Within seconds:
🤰 You check the symptom database (2,525+ symptoms across all 9 months) and find that what you're feeling is completely normal for week 23. The app tells you exactly when to worry and when to relax.
💬 Or you need human reassurance, so you chat directly with a verified obstetrician who responds within minutes, understands your specific situation, and gives you personalized advice.
🤖 Need an instant answer? Our AI assistant gives you immediate, pregnancy-specific responses while you decide if you want to book a human consultant.
💪 Feeling great and want to stay healthy? Browse personalized wellness recommendations—what to eat this month, safe exercises for your trimester, the perfect pregnancy podcast for your commute.
🏥 Getting close to due date? Find the best-rated maternity hospitals near you with a single tap, complete with facility details and real reviews.
When you're a healthcare consultant:
You're a midwife who just finished a shift. You have 30 minutes before dinner and expertise that could help someone right now. You open Mama's consultant portal:
- 💼 You see three mothers waiting to chat—one has a simple question about prenatal vitamins, another wants reassurance about Braxton Hicks contractions
- ⚡ You help them both in 15 minutes, earning side income while making a real difference
- ⭐ Both leave 5-star reviews, growing your reputation and connecting you with more mothers who need your expertise
- 🌍 You just helped someone 500 miles away—something impossible in traditional clinical settings
The Secret Sauce
What makes Mama different isn't just the features—it's the peace of mind. We've architected this for both reliability and humanity:
- 🔐 Bank-level security (JWT authentication, bcrypt hashing, rate limiting)
- ⚡ Real-time chat that actually feels instant (Socket.io with typing indicators and read receipts)
- 📊 Smart filtering that shows you exactly what you need based on your pregnancy week
- 🎨 A warm, motherly design that feels like a hug (pink, rose, purple palette—intentionally calming)
- 📈 Built to scale globally (designed for 1,000-10,000 daily transactions)
Try It Yourself
🌐 Live Demo: https://mama-ok.vercel.app/
I want you to experience what I built. Here's how to explore Mama in under 5 minutes:
Quick Start (No signup needed):
- Login with:
user1@mama.com/password123 - (Or try
user2@mama.comthroughuser50@mama.comwith the same password)
Your 5-Minute Journey:
Start at the Dashboard → See your pregnancy overview (the test accounts are at different stages—try a few!)
Check a Symptom → Go to "Symptoms" and filter by month 6, week 24. See how we answer "Is this normal?" for hundreds of real pregnancy symptoms
Explore Wellness → Browse month-specific nutrition tips, exercises, and even curated pregnancy podcasts
Meet Consultants → View 20 verified healthcare professionals, each with specialties, ratings, and availability
Find a Hospital → See 10 nearby maternity hospitals (try the search feature!)
Want the Full Experience?
- Register your own account to customize your pregnancy profile
- Chat with consultants in real-time (create a conversation and see Socket.io magic happen)
- Update your profile with your due date and watch recommendations personalize
A Peek Inside
Note: Since this is a demo, some features (like real payment processing) are simulated. But everything else? Fully functional, fully real-time, fully production-ready.
Code
Rache-dev
/
mama.ok
**mama.ok** is your trusted pregnancy & postpartum companion — connecting mothers with certified consultants, AI-powered health guidance, month-by-month wellness tracking, and hospital selection. Because every mother deserves expert support, warmth, and care, every step of the way.
Mama - Pregnancy Support Platform
🤰 A comprehensive, enterprise-grade pregnancy support platform connecting expecting mothers with healthcare professionals, providing month-by-month guidance, wellness recommendations, and AI-powered consultation.
🌟 Overview
Mama is a full-stack application built to support women throughout their pregnancy journey and provide consultants with an opportunity to earn side income. The platform handles 1000-10000 daily transactions with enterprise-level security and scalability.
✨ Key Features
For Expecting Mothers
- Month-by-Month Symptom Checker - "Is this normal?" logic for 1000+ symptoms
- Personalized Wellness Recommendations - Food, exercise, sleep tips, books, movies, podcasts
- Expert Consultations - Real-time chat with verified healthcare professionals
- AI Health Assistant - Grok AI-powered instant consultation
- Hospital Finder - Geolocation-based maternity hospital search
- Profile Management - Track pregnancy progress and milestones
- Global Search - Find any information quickly
For Healthcare Consultants
- Consultant Registration - Earn side income by providing consultations
- Profile Management - Showcase qualifications and experience
- Real-time Chat…
Project Structure
mama.ok/
├── frontend/ # Next.js 14 Frontend
│ ├── src/
│ │ ├── app/ # App Router pages
│ │ ├── components/ # Reusable UI components
│ │ ├── lib/ # API client & utilities
│ │ ├── store/ # Zustand state management
│ │ └── types/ # TypeScript definitions
│ └── public/
│
└── backend/ # Express.js Backend
├── models/ # Mongoose schemas (7 models)
├── routes/ # RESTful API endpoints
├── middleware/ # Auth & validation
├── scripts/ # Database seeding (2,645 records)
└── utils/ # Helper functions
Key Technical Highlights
Database Design:
- 7 Mongoose models: User, Consultant, Symptom, Wellness, Hospital, Chat, Career
- 2,645+ seeded data points covering all pregnancy stages
- Geospatial indexing for hospital finder
- Text search indexing for global search
Real-Time Features:
- Socket.io for instant messaging between patients and consultants
- Live typing indicators and read receipts
- Multiple conversation management
Frontend Architecture:
- React Server Components with App Router
- Client-side state management with Zustand
- Form validation using React Hook Form + Zod
- shadcn/ui component library for consistent design
- Responsive mobile-first design with Tailwind CSS
How I Built It (The Real Story)
The Tech Stack That Made Sense
Here's the thing about choosing technology—I didn't pick "cool" tech, I picked "right for the job" tech. This needed to be fast, secure, scalable, and most importantly, reliable enough to trust with healthcare information.
The Frontend Choice:
- ⚛️ Next.js 14.2 + TypeScript - Because when you're building healthcare software, you don't want "oops, undefined" errors. Type safety = peace of mind.
- 🎨 Tailwind CSS - Rapid development without sacrificing the warm, feminine aesthetic expecting mothers deserve
- 🎭 shadcn/ui + Radix UI - Beautiful components that are actually accessible (screen readers matter when you're tired at 2 AM)
- 🗄️ Zustand - State management that doesn't make you write a thesis just to store user data
The Backend Reality:
- 🟢 Node.js + Express - Fast, familiar, perfect for real-time applications
- 🍃 MongoDB - Because pregnancy data is naturally nested (profile → pregnancy info → symptoms → wellness). NoSQL just makes sense here.
- 🔐 JWT + Bcrypt - Security isn't optional when handling healthcare data
- 🔌 Socket.io - The real MVP. Real-time chat that feels instant because it IS instant.
Deployment Choices:
- ☁️ Vercel - Frontend deployment so smooth it feels like magic
- 🗄️ MongoDB Atlas - Managed database = one less thing to worry about at 2 AM
The Week That Changed Everything
Day 1 - The "Oh Crap" Moment:
Started with grand ambitions. Sketched out the database schema. Seven models. "How hard could it be?" (Narrator: It was hard.)
The breakthrough came when I realized pregnancy is fundamentally temporal—everything is tied to weeks and months. So instead of building generic health tracking, I designed around the pregnancy timeline. Each symptom, each wellness tip, each piece of advice is anchored to a specific stage.
Day 2 - The Data Deep Dive:
Here's something nobody tells you: creating realistic data is HARD. I spent an entire day researching pregnancy symptoms. Not just "nausea in first trimester" but "metallic taste in mouth at week 14 - mild severity - often normal".
I seeded 2,645 records. Every. Single. One. Matters.
Day 3 - The TypeScript Battle:
TypeScript and I had a moment. Actually, several moments. The production build kept failing because of nested type definitions. I learned (the hard way) that Vercel's build process is strict about type resolution.
The fix? Created a dedicated types/ folder and explicitly exported interfaces. Sometimes the solution is cleaner organization, not clever code.
Day 4 - The Socket.io Surprise:
Real-time chat is deceptively simple until you actually build it. Questions I didn't think to ask:
- What happens when someone's in multiple chats?
- How do you handle disconnections gracefully?
- When do you mark messages as "read"?
Built the chat system three times before getting it right. The third version is elegant. The first two... we don't talk about those.
Day 5 - The Design Decision:
Here's where it got personal. Most health apps look clinical. Cold. Medical. But pregnancy isn't a medical condition—it's a life event. A beautiful, terrifying, amazing journey.
So I chose pink. And rose. And soft purples. Not because it's "for girls," but because expecting mothers deserve to feel nurtured, not diagnosed.
Every button, every animation, every color choice asks: "Does this make someone feel supported?"
Day 6 - The Moment of Truth:
Deployment day. The backend deployed smoothly. The frontend? Not so much.
-
Issue 1:
Hospitalicon doesn't exist in Lucide React. Replaced withBuilding2everywhere. - Issue 2: TypeScript errors in production that didn't show locally. Fixed by exporting User types properly.
- Issue 3: Next.js 14.1 had security vulnerabilities. Upgraded to 14.2.21.
Finally, at 11:47 PM, everything went green. The site was live.
The Technical Stuff (For the Nerds Among Us)
Here's what makes Mama tick under the hood:
Database Architecture:
7 Mongoose Models:
├── User (50 seeded) - Profiles + pregnancy tracking
├── Consultant (20 seeded) - Healthcare professionals
├── Symptom (2,525 seeded) - Comprehensive symptom database
├── Wellness (37 seeded) - Month-by-month guidance
├── Hospital (10 seeded) - Geolocation-enabled
├── Chat - Real-time messaging history
└── Career - Job listings (currently 3)
Smart Indexing:
- Geospatial indexes for hospital finder (find nearby within milliseconds)
- Text search indexes for global search (grep through 2,645 records instantly)
- Compound indexes on pregnancyInfo for efficient filtering
Security Layers:
- JWT tokens with 7-day expiration
- Bcrypt with salt rounds (because plaintext passwords are evil)
- Rate limiting: 100 requests per 15 minutes per IP
- Helmet.js security headers
- CORS restricted to frontend domain only
- Input validation on every. single. endpoint.
Real-Time Magic:
- Socket.io rooms for isolated conversations
- Event-driven architecture for typing indicators
- Automatic reconnection handling
- Message queueing for offline resilience
Why This Actually Matters
Let me get real for a second.
I didn't build Mama because pregnancy apps don't exist. They do. Lots of them.
I built Mama because most pregnancy apps treat you like a patient, not a person. They're clinical. Cold. They give you medical facts when what you need is reassurance. They tell you "consult your doctor" when your doctor's office is closed and you need an answer NOW.
Mama is different because:
It acknowledges fear is real - The symptom checker doesn't just say "this is normal." It says "this is normal, here's why, and here's when you should actually worry."
It connects humans to humans - Not just AI, not just articles, but real obstetricians and midwives who remember what it's like to be scared and need guidance.
It respects time and money - Consultants earn flexible income. Mothers get expert advice without emergency room costs.
It scales compassion - A midwife in Oregon can help a mother in Tennessee. Expertise isn't limited by geography anymore.
What's Next (The Dream)
If this project takes off, here's where it goes:
Phase 2 - Going Global:
- 📱 Native mobile apps (because expecting mothers deserve native performance)
- 🌐 Multi-language support (pregnancy is universal)
- 🎥 Video consultations (sometimes face-to-face matters)
Phase 3 - Building the Village:
- 🤝 Community forums (because sometimes you need other moms, not doctors)
- 👶 Postpartum support (because the journey doesn't end at birth)
- 📊 Analytics for consultants (help them help more mothers)
Phase 4 - Making it Real:
- 💳 Integrated payments (right now it's simulated)
- 📅 Appointment scheduling with calendar sync
- 🔔 Smart notifications (prenatal reminders at the right time)
- 🏆 Consultant verification system (partnerships with medical boards)
But honestly? Even in its current form, if Mama helps one mother sleep better at night because she got the reassurance she needed... it's worth every line of code.
The Human Impact
For expecting mothers:
- No more 2 AM Google spirals
- Instant access to expert reassurance
- Community that understands
- Peace of mind, wherever they are
For healthcare consultants:
- Reach beyond clinic walls
- Flexible income on their schedule
- Make a difference globally
- Build reputation and patient base
For the healthcare system:
- Reduce unnecessary ER visits
- Preventive care through education
- Better maternal outcomes
- More efficient resource allocation
Final Thoughts
Building Mama taught me something profound: the best technology doesn't just solve problems—it cares about people.
Every time I debugged Socket.io at 3 AM, I thought about expecting mothers who'd use that chat feature when they're scared.
Every time I seeded another batch of symptoms, I thought about the relief someone would feel finding "yes, this is normal."
Every color choice, every animation, every word was chosen with empathy.
Because pregnancy isn't a bug to fix or a feature to ship. It's a journey that deserves support.
And if we, as developers, can use our skills to make that journey less lonely, less scary, and more supported... isn't that exactly what we should be building?
Live Demo: mama-ok.vercel.app
Source Code: github.com/Rache-dev/mama.ok
My sister hasn't had another 2 AM panic call yet. But if she does, she knows where to go.
Built with ❤️, late nights, and a lot of TypeScript
Tech Stack: #nextjs #typescript #mongodb #express #socketio #react #tailwindcss #nodejs #healthcare #community
If you're an expecting mother, healthcare professional, or just someone who believes technology should serve humanity—I'd love to hear your thoughts. Comment below or try it yourself!
Top comments (0)