LIVE PREVIEWBUY FOR $28

The dates are arithmetic. The mannequin solely writes them up.

Phasora predicts the subsequent interval, the part you might be in and a fertile-window estimate by averaging the dates the consumer entered — on the system, in plain Dart, with no mannequin concerned. Run it twice and also you get the identical reply, which is why the bundled exams can assert on a prediction.

Phasora — Flutter AI period and cycle tracker

Runs out of the field

Demo Directions — the sign-in display is a mock and contacts no server, so any credentials are accepted. Use [email protected] / demo1234, or just faucet Register with each fields left empty. There isn’t a account to register, no API key to enter and no community required: Demo mode is on out of the field, so each display — together with each AI options — works on the system. Onboarding has a Skip within the nook.

No backend. No Firebase. No actual account wherever. The app ships with ten cycles of pattern historical past, so the primary display you see has one thing on it, and demo mode pins “right this moment” to that historical past’s personal date — which is why the screenshots, the reside preview and the exams all agree with one another.

flutter pub get
flutter run

That’s the entire setup. The challenge sits on the root of the archive; there isn’t a wrapper folder to step into.

The mannequin isn’t requested when your interval is due

Two sorts of quantity, stored aside on objective. The system works out the subsequent interval, the part, the fertile-window estimate and each statistic. A supplier is requested two issues solely: learn a be aware into tags from a set listing of twelve, or rewrite these figures as a paragraph. By no means a date. By no means a prognosis.

What is computed on the device, and what a model is asked for

Stuffed is recorded, outlined is a guess

The calendar by no means attracts a guess like a report. A day logged as bleeding is stuffed; all the pieces else on the month is projected from the consumer’s personal previous cycles and drawn in another way for precisely that cause. The important thing sits below the calendar within the app, so a first-time reader by no means has to guess.

The honeycomb month view: filled cells for recorded days, tinted and outlined for estimates

One row per cycle, every at its personal day one

How a lot do they really range? Each row begins by itself day one, so the ragged right-hand edge is the reply — 26 days on the shortest, 32 on the longest, which the app calls considerably variable. It’s the one query a month grid can not reply, as a result of each month is a special form.

The cycle stack: one row per cycle, lengths down the right-hand side

A closed listing of twelve

You write it. It will get tagged. A mannequin could solely reply with names from the twelve stamps, the schema says so, and the reply is filtered in opposition to the listing once more when it arrives. Tags are added, by no means substituted; an empty reply is an accurate reply; there isn’t a severity scale and no slider; and it really works offline in demo mode.

The stamp sheet before and after a written note is tagged

The figures, then the phrases

You may learn precisely what will get despatched. The highest of the display is what the system computed; the underside is identical information, rewritten. In that order on objective — a display that led with the prose can be asking you to belief the generated half. The instruction forbids including a determine, predicting a date or naming a situation, and the disclosure that reveals the outgoing textual content ships within the app fairly than behind a debug flag.

The Insights screen: computed figures, a written paragraph, and the exact text that gets sent

No account, no sync, no server of ours

The place the entries reside: within the telephone’s encrypted retailer — Keychain on iOS, EncryptedSharedPreferences on Android — behind one class you may exchange. Take it with you (one button copies each entry out as CSV), destroy it (one button deletes all of it, reminiscence and disk), begin from your individual dates (three questions exchange the pattern historical past), or learn what is shipped earlier than you ship it. No account to create, no health-platform sync, no analytics and no adverts.

Where the entries live, and the four things a user can do about them

13 screens, all of them buildable right this moment

The remainder of it: a day (stream, twelve stamps, a be aware), arrange (three questions, no extra), suppliers (keys, and an editable mannequin title), and Professional (a mock paywall, wired to at least one flag).

A day, the setup screen, provider settings and the mock paywall

What’s within the obtain

A buildable app, not a mockup — 13 screens in gentle and darkish, 12 symptom stamps on one closed listing, 3 AI suppliers plus a demo mode, 4 dependencies and no vendor SDKs, 105 exams with flutter analyze clear, 18 chapters of offline documentation, and 0 strains of backend to deploy. Figma will not be included; each display is Flutter.

What is in the download: screens, stamps, providers, dependencies, tests, documentation

How the estimates are labored out

Printed within the app itself, on Settings → How the estimates are labored out, with the numbers learn off the engine fairly than typed into the copy:

  • Subsequent interval — the imply size of the final 6 full cycles, added to the present cycle’s first day. The cycle in progress has no size and isn’t averaged.
  • Not sufficient historical past — with fewer than two full cycles the app makes use of the size it was given at setup and says on display that it’s doing so.
  • Sanity limits — a predicted cycle is held between 21 and 45 days. A run too quick to be a cycle, or a spot too lengthy to be one, is stored out of each common.
  • Phases — counted backwards from the subsequent predicted interval, as a result of the stretch after ovulation varies much less between individuals than the stretch earlier than it.
  • Fertile window — estimated, drawn as a top level view fairly than a fill, and switchable off totally, by which case the engine doesn’t compute it in any respect.

What will not be included

  • No backend and no admin panel. Signal-in and the paywall are mocks with the seams drawn for you; wiring your individual API and your individual retailer merchandise is your work, and the documentation walks via the place.
  • No being pregnant mode. Monitoring a being pregnant is a special app with completely different duties of care.
  • No cost code. Receipt validation wants a server and can’t be pre-built. SubscriptionService.buy() is the one seam to interchange, and solely the request allowance is wired to the Professional flag — the remainder of the characteristic gating is left to you.
  • No notifications. Nothing is scheduled on the system and there’s no notification dependency in pubspec.yaml to configure. Reminders seem contained in the app when it’s opened.
  • No health-platform sync. Apple Well being and Well being Join are intentionally not touched; including them is your name and your declaration.
  • No Figma file. Each display is Flutter.
  • Entries don’t sync between units, and are misplaced if the app is deleted. That’s the level of the design, and the app says so in its personal About display. Settings gives a CSV export.

Necessities

  • Flutter SDK 3.29 or newer, Dart 3.7+
  • Android Studio or VS Code
  • Android and iOS. An internet construct works and is what the reside preview is made out of.
  • An API key from Google Gemini, OpenAI or Anthropic — optionally available, and free to skip: demo mode wants none.

Vital

Phasora is for informational functions solely and isn’t a medical system or an alternative choice to skilled medical recommendation. Predictions are estimates primarily based on the dates the consumer enters; they’re not a contraceptive technique and should not be offered as one. The app scores nothing, assesses no person and by no means names a medical situation.

The AI options are produced by a third-party supplier the consumer provides their very own key for. Connecting this template to a reside service akin to Google Gemini, OpenAI or Anthropic will contain these third-party companies, which will incur their very own separate prices, not included within the value of this merchandise. Free tiers and costs are set by every vendor and might change with out discover. Demo mode makes no community calls.

Assist

Questions on setting the template up, connecting a supplier or re-skinning it are answered via this merchandise’s feedback web page. Merchandise help covers this template; it doesn’t cowl a supplier’s personal account, quota or billing, and it isn’t medical or medical recommendation.

Changelog

v1.0 — first launch.


Source