Bloom · About the project

A warm pregnancy and postpartum companion, built entirely on MeDo through conversation.

Inspiration

Pregnancy is one of the most emotionally complex periods in a person's life, and the apps available today do not match that complexity. They are clinical, transactional, and almost adversarial about data entry. Maya, our composite persona, did not need another logbook. She needed a companion who remembers, who notices the bad week before she does, who has answers to questions she has not learned to ask yet, and who lets the people she loves stand close.

We wanted to see how far a single, sustained conversation with MeDo could carry that idea. Not a series of stitched-together prompts. One long, careful conversation that produced an application a real person could open today and feel held by.

What it does

Bloom is a complete pregnancy and postpartum companion. It supports a primary user and an invited partner across the entire arc of pregnancy.

For the expecting parent:

  • A warm, week-by-week dashboard that opens with a personal greeting, a fruit-sized growth visualization, and gentle context for what is happening inside her body this week.
  • A daily check-in that captures symptoms, mood, weight, sleep, and notes. Bloom watches that data and surfaces a quiet support banner the moment a low-mood pattern emerges.
  • A 4-7-8 guided breathing exercise with a narrated voice that counts her through inhale, hold, and release in real time.
  • A streaming chat with Bloom, an AI companion that speaks with empathy first and information second. Every reply can be read aloud with a tap.
  • A plan tab with appointments, a birth plan workspace, nutrition guidance, a packing checklist, and contextual prep questions for her next OB visit.
  • A memory book that turns each milestone into a keepsake with a generated cover image, captions, and a single shareable link for family.

For the partner:

  • A six-character invite code the primary user can share by message, link, or simply read aloud.
  • A partner registration flow that joins the same Bloom space in one step.
  • A read-only view of Maya's week, her milestones, her shared memory book, and the appointments she has chosen to disclose.
  • Notification settings tuned for the partner: appointment reminders, milestone alerts, low-mood support pings if Maya opts in.

For everyone:

  • Four languages out of the gate: English, 简体中文, Español, and العربية with right-to-left layout. Every screen, every notification, every Bloom voice line localized.
  • A shared memory book link that anyone can open, no account required, to follow Maya's journey.

How we built it

Every line of Bloom started as a conversation with MeDo. We did not write code by hand. We did not stitch prompts. We talked to MeDo the way you would brief a senior product engineer on the first day of a new project, and we kept talking until Bloom was finished.

The conversation followed the shape of the product itself. We started with the warmth we wanted Maya to feel and worked outward. From that single tone, MeDo drew the design tokens, the typography pairing of Playfair Display for headings and DM Sans for the body, the rose and cream palette, the soft glow language that runs through every card.

From there MeDo generated:

  • The application surface. Sixteen pages, every screen we needed to take Maya from the welcome card through registration, dashboard, chat, breathing, daily tracking, planning, the memory book, the partner invite, the partner acceptance, the shared family view, and the settings.
  • The intelligence layer. Five Supabase edge functions. A streaming chat backend that talks to Gemini and pipes tokens to the client as they arrive. A content generator that drafts Maya's prep questions for her next OB visit, conditioned on her current pregnancy week and appointment type. An image generation gateway that synthesizes a unique milestone cover for every entry in her memory book. A text-to-speech function that turns Bloom's replies into a warm spoken voice through ElevenLabs. A partner invitation function that delivers the six-character code by email through Resend.
  • The data foundation. Eight database migrations covering profiles, partner links, health logs, mood checks, chat history, memory book entries, milestone shares, and notification preferences. Row-level security on every table. Security-definer functions where partners need to read their primary user's data without breaking isolation.
  • The translations. Four languages, every key, every fallback, with right-to-left support for Arabic that flips the layout without breaking the typography.
  • The signals that make Bloom feel like it is paying attention. The seven-consecutive-low-mood detection that triggers Maya's support banner. The week-by-week intelligence that tells Maya her baby is the size of a cantaloupe at week 24. The fruit visualizations that keep the dashboard alive as the weeks pass.

Every one of these decisions came out of the conversation. When we wanted a softer onboarding tone, we said so and MeDo rewrote the copy. When we wanted the support banner to feel like a friend rather than a clinician, we described that feeling and MeDo redrew the card. When we wanted the partner invitation flow to feel like passing a small gift rather than filling a form, MeDo redesigned the screen.

Challenges we ran into

The hardest part of building Bloom with MeDo was learning to talk like a product lead instead of like an engineer. The conversation rewarded specificity. When we asked for "a check-in screen" we got something generic. When we said "a check-in screen where Maya feels like Bloom is listening, not auditing her," we got something we wanted to ship. We had to learn to describe feelings as precisely as we used to describe APIs.

The second hardest part was discipline. MeDo can do a lot in a single turn, and the temptation is to ask for everything at once. The build that survived to submission came from breaking Bloom into small, well-described moments and trusting MeDo to make each one excellent before we moved on.

The third was the multi-language work. We added Chinese, Spanish, and Arabic late in the build, and the right-to-left flow surfaced a handful of layout assumptions we had not noticed when the app was English-only. MeDo regenerated the layout primitives so they worked in both directions and we did not lose a single screen.

Credits run out fast when you are building something the size of Bloom. We learned to plan each turn carefully, to consolidate questions, and to use referral days well so we could keep moving when a particular surface needed three or four iterations to land.

Accomplishments that we're proud of

  • Bloom feels like a person. Not a product. The reaction from anyone we have shown it to begins with "this is beautiful" and ends with "where can I download this."
  • The partner experience is real. Most pregnancy apps treat the partner as an afterthought. Bloom gives them their own login, their own home, and a shared view of the journey that respects the boundaries the primary user sets.
  • The memory book is generative. Every milestone gets a unique cover image. The link a family member opens looks like a designed keepsake, not a database row.
  • Four languages, day one. Maya's mother can read this in Mandarin. Her cousin can read it in Arabic. Bloom does not assume a default culture.
  • Pattern detection that earns trust. Bloom does not lecture Maya about her mood. It quietly notices, and offers a hand. That single moment is the one our testers remember.

What we learned

We learned that a conversation is a real way to build software, and that the quality of the application is bounded only by the quality of the conversation. We learned that warmth is a specification, not a vibe. We learned that the partner side of any social product is the side that determines whether people will recommend it.

We learned that MeDo will not stop you from shipping something generic if that is what you describe. The responsibility for taste stays with you. We learned that the best moments in Bloom (the support banner, the memory book covers, the way Maya's name is rendered in a gradient on her profile) all came from us asking for one more pass after we already had something working.

What's next for Bloom

  • A medical-grade journaling mode that pairs with a clinician's portal.
  • Postpartum mode that swaps the dashboard for a newborn-first view on the day Maya gives birth.
  • A grandmother view that joins the memory book without joining the full app.
  • Voice-first interaction in every supported language, so Maya can speak to Bloom while her hands are full.
  • A community side, built carefully, where pregnant people can find each other through Bloom rather than through a public feed.

Bloom started as a conversation. It deserves to keep growing the same way.

Built With

Share this project:

Updates

Submission history