Inspiration

Moni started with my partner.

More than once, I only understood that a week had been hard after it was over, and I wished I'd known sooner how to help.

I wanted to show up better on those days, but none of the options were good. Asking every morning felt like an interrogation. A shared period calendar would show me far more than I needed to know and still not tell me what would actually help. And the trackers themselves were charts of red dots that nobody looks forward to opening.

So I built Moni around two ideas: the person tracking gets something that feels like a journal instead of a medical chart, and the people close to them get just enough to be kind, and nothing more.

What it does

Moni is a period tracker that reads like a storybook.

  • Every day is a painted page. Open any day to see its cycle phase with watercolor art, what's happening in your body, and what to eat, do, and skip.
  • Decorate the day. Draw on it, write notes by hand, or add from 170 3D stickers, including a shelf made for cycle days.
  • Ask Moni. An AI companion who knows what day of your cycle it is and what's coming next, and answers like a friend rather than a textbook.
  • Insights in plain words. Cycle length, irregularity, and PCOS-related patterns, explained simply, always marked as not medical advice.
  • Care Circle, the reason Moni exists. Invite a partner, parent, sibling, or friend with a one-time code. They get their own view: a soft "inner weather" for the day, concrete ways to help, and a push notification when something changes. You choose between Gentle (care hints only) and Phase vibe (adds a sense of the week's energy). They never see dates, cycle days, or intimate symptoms, and removing someone ends their access immediately.
  • Pregnancy mode. When the story changes, Moni switches to week-by-week tracking.

How I built it

  • One codebase, three platforms: Next.js 16 and React 19, exported as a static site and wrapped with Capacitor 8 for iPhone and Android, plus a web app.
  • Backend: Node.js and Express with Prisma on Neon Postgres.
  • AI: Claude through OpenRouter powers Moni's chat, with a fallback model.
  • Notifications: APNs, FCM, and Web Push, driven by a server-side scheduler.
  • Payments: RevenueCat for Moni Pro across iOS, Android, and web, plus AdMob rewarded ads verified on the server.
  • Sign-in: Apple and Google.
  • Design: a flat, ruled-paper planner look with one typeface (Inter) and original watercolor illustrations.

Partner privacy is enforced in code, not just promised in copy. Everything that reaches a supporter has to pass through a single PartnerSafeLog type that only holds mood and non-intimate symptoms. A raw day log can't compile into a partner's feed or lock-screen notification.

Challenges I ran into

  • Writing hints that help without revealing anything. "Keep plans light tonight" is useful; "day 2 of her period" is not okay. Every hint is written per phase and per relationship, because what reads as sweet from a spouse sounds strange from a parent.
  • Making revocation real. Removing someone from the circle has to revoke their link and expire any open invite codes in the same step, otherwise "remove" is just a UI change.
  • Making a web app feel native. Safe areas, push on three platforms, and purchases that stay in sync between iOS, Android, and the browser.
  • Honest feedback. An early tester said the drawing tools felt "like a note-taking app." I rebuilt the sticker set around the cycle instead of generic doodles.

Accomplishments that I'm proud of

  • Moni isn't a demo. It's a working product: an iPhone app, a web app, a landing page, and a privacy policy written from the actual server code.
  • The partner privacy boundary is checked by the compiler, not left to good intentions.

What I learned

The hardest decisions on the partner feature were about what to leave out. In a health app, what you choose not to share is what earns trust, and tone matters as much as features.

What's next

  • Stickers suggested from what you logged that day.
  • Letting Moni decorate pages with the cycle sticker shelf.
  • Testing Care Circle with more couples and tuning the hints with them.

Built With

Share this project:

Updates

Submission history