First-time user experience from app launch to first prediction. Builds trust before collecting data, supports bilingual selection from the first screen.
ONBD-01
ONBD-02
ONBD-03
ONBD-04
ONBD-05
ONBD-06
I18N-01
I18N-04
App Launch
→
Language Selection
EN / BN
→
Trust Screens
"Your data is protected"
"Bilingual support"
→
Goal Selection
Track period /
Try to conceive
→
Personal Data
DOB, height, weight
→
Cycle History
Last period date,
cycle length,
period duration
→
Account Signup
Email + password
→
First Prediction
Generated
→
Dashboard
2
Multi-Profile Management Flow
Phase 1
The core differentiator: one account manages multiple women's health profiles. Family-oriented model enabling a husband, parent, or sibling to assist in health management.
AUTH-05
AUTH-06
AUTH-07
AUTH-08
PRIV-05
Dashboard
→
Profile Avatar (top-left)
→
Profile Switcher
Option A
Select existing profile
→
Dashboard reloads
with profile data
Option B
Create new profile
→
Name, relation type
self / wife / sister /
mother / daughter /
girlfriend
→
DOB, height,
weight, cycle data
→
Consent
acknowledgment
→
Profile created
→
Dashboard
Option C
Edit profile
→
Update fields
→
Save
Option D
Delete profile
→
Confirm?
→
Cascade delete
all profile data
3
Period Tracking & Dashboard Flow
Phase 2
The core daily habit loop. Users log periods, view cycle status, and see predictions recalculate in real time. The dashboard is the most-visited screen.
CYCL-01
CYCL-02
CYCL-03
CYCL-04
CYCL-05
CYCL-06
Open App
→
Dashboard
→
Cycle Day Hero
Large number, phase label,
days to next period
Active
Period expected
or active?
→
Tap "Log Period"
→
Period Start modal
Date selector, flow intensity:
light / medium / heavy
→
Save
→
Prediction
recalculates
→
Dashboard
updates
Ending
Period
ending?
→
Tap "End Period"
→
End date
→
Save
→
Cycle length updated,
new prediction
Edit
Edit past entry
→
Calendar
→
Tap date
→
Edit modal
→
Save
→
Predictions
recalculate
Full monthly calendar with color-coded cycle phases. Distinguishes logged data (solid) from predicted future data (dashed) for transparency.
CALR-01
CALR-02
CALR-03
CALR-04
Bottom Nav
→
Calendar Tab
→
Monthly Grid View
Color-coded:
pink=period, teal=fertile,
accent=ovulation, muted=low
→
Navigate months
prev / next
→
Tap any date
Has data
View logged symptoms
+ period data
→
Edit option
No data
"Nothing logged"
→
Option to log symptoms
Future
Predicted future periods
Dashed style vs solid
for logged data
5
Symptom Logging Flow
Phase 2
Icon-based symptom logging accessible from any screen via FAB button. Designed for 2-3 tap completion. Data feeds both the prediction engine and content personalization.
SYMP-01
SYMP-02
SYMP-03
SYMP-04
SYMP-05
SYMP-06
SYMP-07
SYMP-08
Any Screen
→
Tap "+" FAB button
→
Symptom Logger
Bottom Sheet
→
Category Tabs
Physical / Mood /
Discharge / Lifestyle
→
Icon-based tap selection
Toggle active / inactive
Customize
Settings
→
Toggle categories
on / off
Existing
Already logged
today?
→
Edit existing log
→
Save
→
Toast confirmation
→
Data feeds prediction engine
+ content personalization
6
Prediction Engine Flow (3 Tiers)
Phase 2
Three-tier prediction system that auto-escalates as data accumulates. Starts with simple averages, advances to ARIMA time-series, and eventually LSTM neural networks.
PRED-01
PRED-02
PRED-03
PRED-04
PRED-05
User logs period /
symptom data
→
Check data points
Tier 1
< 3 cycles
→
Simple Average
Uses onboarding cycle length
Tier 1+
3 – 5 cycles
→
Rolling Average
Last 3-6 cycles
Tier 2
6 – 11 cycles
→
ARIMA(1,1,0)
Time-series model
Tier 3
12+ cycles
→
LSTM Neural Net
Stub → falls back to Tier 2
→
Output:
next_period_start, fertile_window,
ovulation_date, confidence %
→
Cache in
predictions table
→
Dashboard +
Calendar update
7
Notification Flow
Phase 3
Per-profile notification delivery via BullMQ cron jobs. Routes to email (Resend) or SMS (SSL Wireless) with bilingual templates and Bangladesh timezone awareness.
NOTF-01
NOTF-02
NOTF-03
NOTF-04
NOTF-05
NOTF-06
NOTF-07
BullMQ Cron Job
Daily, Asia/Dhaka timezone
→
For each profile
→
Check notification
preferences
→
Check cycle
phase
NOTF-01
Period predicted
tomorrow?
→
Period start alert
NOTF-02
Period started,
not logged?
→
Logging reminder
NOTF-03
Fertile window
starting?
→
Fertile alert
→
Route
per-profile
Email
Email
enabled?
→
Resend API
→
React Email template
Bilingual
SMS
SMS
enabled?
→
SSL Wireless API
→
Bengali text
BTRC required,
UTF-16 encoding
→
Delivery tracking
→
Admin engagement
reports
8
Content Platform Flow
Phase 3
Bilingual health content surfaced contextually by cycle phase. Dashboard shows a phase-specific "Today's Insight" card; the Content tab offers full browsing and filtering.
CONT-01
CONT-02
CONT-03
CONT-04
CONT-05
I18N-01
Dashboard
→
"Today's Insight" card
Phase-specific
recommendation
→
Tap
→
Article detail
Bilingual: EN/BN toggle
OR
→
Bottom Nav
→
Content Tab
→
Browse by category
Menstrual Health /
Fertility / Wellness
→
Filter by cycle phase
(optional)
→
Article list
→
Tap article
→
Full article view
→
Related articles
→
Back to browse
9
Partner Sharing Flow
Phase 3
Privacy-first sharing via nanoid code. Partner receives read-only access to calendar and phase insights but cannot see symptoms or edit data. Instant revocation supported.
PRTN-01
PRTN-02
PRTN-03
PRTN-04
PRTN-05
PRTN-06
Profile Settings
→
Partner Sharing
→
Generate Share Code
nanoid 8-char
→
Share with partner
Copy / SMS / show
Partner
→
Enter code in account
Valid
Partner gets
read-only access
→
Cycle calendar +
phase insights
→
Fertile window
if TTC mode
→
Daily tips
Invalid
Code invalid /
expired → Error
Partner restrictions:
Cannot see symptoms,
cannot edit data,
read-only calendar
•••
Primary user:
Revoke access?
→
Instant revocation
Partner's next request
returns 403
10
Admin User Management Flow
Phase 4
Role-based admin panel for operational management. Super Admins have full control; Content Admins manage articles only. KPI dashboards and user lifecycle management.
ADMN-01
ADMN-02
ADMN-03
ADMN-09
ADMN-11
ADMN-13
Admin Login
→
RBAC Check
Super Admin /
Content Admin
→
Admin Dashboard
→
KPI Cards
Total users, active users,
profiles, tracking activity
→
Trend Charts
User Management
→
User List
Paginated, searchable
→
Select user
View
View details
Account info +
profile count + activity
Suspend
Suspend
→
Confirm
→
User locked out
Reactivate
Reactivate
→
Confirm
→
Access restored
Delete
Delete
→
Confirm
→
Cascade delete
all data
Reset PW
Reset password
→
Send email
11
Admin Content CMS Flow
Phase 4
Bilingual content management with Tiptap rich-text editor. Articles are tagged by category and cycle phase to power the user-facing content recommendation engine.
ADMN-07
CONT-01
CONT-02
CONT-03
CONT-05
Admin Dashboard
→
Content Management
→
Article List
Title, category,
language, status
Create
Create new
→
Tiptap editor
→
Title (EN + BN)
Body (EN + BN)
→
Category +
Cycle phase tags
→
Publish /
Draft
Edit
Edit existing
→
Same editor
→
Update
→
Save
Delete
Delete
→
Confirm
→
Remove
→
Published articles appear
on user Content tab
12
Language Switching Flow
Phase 1
Bilingual support baked into every UI component from day one. Bangladesh IP detection defaults to Bengali. Content articles have an independent bilingual toggle separate from UI language.
I18N-01
I18N-02
I18N-03
I18N-04
Any Screen
→
Settings
→
Language
English
All UI strings
switch to EN
→
Dates: "March 27, 2026"
Numbers: "28 days"
Bengali
All strings
switch to BN
→
Dates format Bengali
Numbers optionally
Bengali digits
→
Preference saved
to user account
Browser detection:
Bangladesh IP →
default Bengali
•••
Content articles:
Bilingual toggle independent
of UI language
13
Feature Gating Flow
Phase 1
Phase 4
How the system controls feature access based on subscription tier, and how admins manage feature gates in real-time.
GATE-01
GATE-02
GATE-03
GATE-04
GATE-05
User taps feature
→
Feature Gate
Middleware checks
subscription tier
Pro user
Grant access
→
Feature loads normally
Free user
Check feature_gates
table
→
Feature marked
free?
Yes
Grant access (free feature)
No
Show "Pro" badge +
upgrade prompt
→
User taps
upgrade?
Yes
Route to BDApps subscription flow
No
Return to previous screen
Admin Portal
→
Feature Gating Management
→
Feature list with
free/pro toggles
Admin toggles feature
→
Database updated
→
Real-time effect (no restart)
→
All users immediately see
updated access
14
Session Management Flow
Phase 1
Phase 4
How sessions are tracked in Redis and how admins can view and terminate sessions remotely.
SESS-01
SESS-02
SESS-03
SESS-04
User logs in
→
JWT issued
→
Session record created
in Redis
user_id, device, IP,
login_time, last_activity
Every API request
→
Update last_activity
timestamp
→
JWT blacklist checked
Blacklisted
Return 401
→
Force re-login
Valid
Continue to route handler
Admin Portal
→
User Management
→
Select user
→
View Active Sessions
Session list
device, IP, last activity,
login time
Single
Terminate single
session
→
Add JWT to blacklist
→
User's next request
returns 401
All
Terminate all
sessions
→
Blacklist all user JWTs
→
All devices logged out
→
Session auto-cleanup:
Redis TTL matches JWT expiry
15
BDApps Subscription Flow
Phase 3
Phase 4
Pro subscription lifecycle via BDApps carrier billing — from initial charge through grace period handling and admin override.
SUBS-01
SUBS-02
SUBS-03
SUBS-04
SUBS-05
SUBS-06
SUBS-07
SUBS-08
User taps "Upgrade to Pro"
→
BDApps Charging API called
Success
subscription_status = active
→
Pro access granted
→
Dashboard shows
"Pro" badge
Failed
Show error:
"Charging failed.
Try again or contact support."
Daily Cron Job
BullMQ
→
For each active
subscriber
→
Query BDApps API
for charging status
Charged
Reset grace counter
→
subscription_status = active
Failed
Increment
failed_days counter
→
failed_days >
grace_period?
Yes
subscription_status = expired
→
Pro access revoked
User downgraded to free
No
subscription_status = grace_period
→
Show warning banner
"Subscription expires
in X days"
Previously expired,
charge now successful?
Yes
subscription_status = active
→
Pro access auto-restored
→
Warning banner removed
Admin Portal
→
Subscription Management
Dashboard:
active / grace / expired /
never counts
•••
Per-user view:
subscription history
(charge date, amount, status)
Grant
Manual override:
Grant Pro
→
Enter reason
→
Pro access granted (overrides BDApps)
Revoke
Manual override:
Revoke Pro
→
Enter reason
→
Pro access revoked (overrides BDApps)
Config
Grace period config
→
Set N days
default: 3
Vesta — 15 User Journey Flow Diagrams — v1 Implementation Reference
Phase 1: Auth + Onboarding + i18n
Phase 2: Core Tracking
Phase 3: Engagement
Phase 4: Admin