<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Aiya]]></title><description><![CDATA[Aiya]]></description><link>https://aiyafun.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ae0c9d6de36261ac260cfa8/7aeec583-15e9-42ab-82f4-8f20bf69884c.jpg</url><title>Aiya</title><link>https://aiyafun.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 02 Nov 2026 07:47:53 GMT</lastBuildDate><atom:link href="https://aiyafun.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Building one period tracker for iPhone, Android and two watches]]></title><description><![CDATA[A quick tour of Monthly Rose: the stack, and a few design decisions I care about.]]></description><link>https://aiyafun.hashnode.dev/building-one-period-tracker-for-iphone-android-and-two-watches</link><guid isPermaLink="true">https://aiyafun.hashnode.dev/building-one-period-tracker-for-iphone-android-and-two-watches</guid><category><![CDATA[Android]]></category><category><![CDATA[iOS]]></category><category><![CDATA[SwiftUI]]></category><category><![CDATA[Jetpack Compose]]></category><category><![CDATA[Mobile Development]]></category><dc:creator><![CDATA[Aiya]]></dc:creator><pubDate>Tue, 27 Oct 2026 16:02:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae0c9d6de36261ac260cfa8/7b1a28b5-128e-4e4a-b883-76c554505362.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I'm Aiya, and I build Monthly Rose, a period tracker for iPhone and Android. It has four modes (period, trying to conceive, pregnancy and postpartum), an Apple Watch app, a Wear OS app, and an AI companion called Rosie. This post is a quick tour of what's in it and the thinking behind a few screens, written for people who like looking under the hood of an app.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6ae0c9d6de36261ac260cfa8/367f1cab-e927-405f-bbed-5f59bf846045.png" alt="" style="display:block;margin:0 auto" />

<h2>The stack</h2>
<p>The iPhone app is Swift and SwiftUI, with WidgetKit for the widgets and a watchOS app next to it. The Android app is Kotlin and Jetpack Compose, with a Wear OS app. Go and Docker are in the stack too. Nothing exotic.</p>
<h2>Four modes, one history</h2>
<p>Plenty of people go from tracking periods to trying to conceive, then pregnancy, then postpartum. I didn't want anyone starting over in a new app at each step. Switching modes only changes the home card, the reminder rules and what Rosie focuses on. Your earlier records stay, and you can switch back whenever you like.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6ae0c9d6de36261ac260cfa8/1e4d90db-8dba-491a-b6e9-f68814d70949.png" alt="" style="display:block;margin:0 auto" />

<h2>Predictions are estimates, so the app says so</h2>
<p>The calendar shows your next period and your fertile window, worked out from what you've logged. They're estimates, and the screens label them that way. Monthly Rose isn't a medical device and shouldn't be used for contraception.</p>
<h2>Nothing gets saved until you confirm</h2>
<p>For ovulation test strips you can take a photo or pick one from your gallery. The app reads the result and then waits for you to confirm before it saves anything. A wrong read shouldn't quietly end up in your history, so it asks first.</p>
<h2>Getting your data out</h2>
<p>Everything you log can be exported as JSON or CSV. For doctor visits there's a one-page A4 summary you can save as a PDF or copy as text.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6ae0c9d6de36261ac260cfa8/257d2107-4b85-45c3-bd78-f4ab7aaaa949.png" alt="" style="display:block;margin:0 auto" />

<h2>Rosie</h2>
<p>Rosie is an AI companion for the days you'd rather talk than tap. With your permission she sees a de-identified summary of what you've logged, like today's mood and where you are in your cycle (or your pregnancy or postpartum week), so her replies fit. She's an AI, not a person, and she doesn't replace professional help. The app shows what's shared with the AI before you start chatting.</p>
<h2>Try it</h2>
<ul>
<li>App Store: <a href="https://apps.apple.com/us/app/monthly-rose-period-tracker/id6816627178">https://apps.apple.com/us/app/monthly-rose-period-tracker/id6816627178</a></li>
<li>Google Play: <a href="https://play.google.com/store/apps/details?id=cn.iyunci.yueji.gp">https://play.google.com/store/apps/details?id=cn.iyunci.yueji.gp</a></li>
</ul>
<p>No sign-up needed to log or to start your 7-day free trial. You'll sign in when you subscribe. Pricing: 7-day free trial, then $5.99/month for Basic (auto-renews, cancel anytime). Prices may vary by region.</p>
<p>If you try it and something feels off, tell me in the comments. Small things are the ones I can fix quickly.</p>
]]></content:encoded></item></channel></rss>