Answers to everything Zelyn asked
This tab answers every request in Zelyn's roadmap of 21 October 2026 and every point Jayanthi raised on 27 October, and confirms each rule Zelyn set for the whole engagement, in the order Zelyn asked them. Each answer is complete here. The link under it goes to the tab with more detail.
What Zelyn asked us to deliver
1 Zelyn asked: For each body of work, the activities you would plan it by, with an estimate in days for each, including design, build, testing and documentation.
Bodies 1 to 4 need about 133 developer-days, about 13 to 14 weeks of work for two developers. If work starts on Monday 2 November 2026, with Monday-to-Friday weeks and Tamil Nadu holidays, bodies 1 to 4 are ready for the pilot on Wednesday 24 February 2027 (week 17). The calendar is longer than the developer-days alone because some tasks must wait for others, the outside security test needs the finished system, and five holidays fall on weekdays. Every figure includes design, build, testing and documentation. We estimated each task for our two developers, working full time, and checked the figures against how fast they have delivered recent work. Each body is broken into the activities we would plan it by; open any body below to see them. Figures are rounded to half a day.
| Body of work | Developer-days |
|---|---|
| Shared foundation | 46 |
| WhatsApp India, direct version | 35.5 |
| WhatsApp India, clinician version | 23 |
| Zelyn for Clinicians, the clinic dashboard | 27 |
| Website changes Zelyn listed | 1.5 |
| Total, bodies 1 to 4 | 133 |
Body 1: Shared foundation: 46 days, activity by activity
| Activity | Days |
|---|---|
| Knowledge transfer in: code walkthrough, rules and tests review, access set-up | 3 |
| Architecture: API contract, data model, identity matching design, decision records | 1.5 |
| Azure India environment as code: hosting, PostgreSQL, storage, Key Vault, logs and backups in region, CI/CD from Zelyn's GitHub | 2 |
| Engine behind a versioned API; the web beta moved to call it | 4 |
| One record per woman: internal ID, linked identifiers, clinic match queue confirmed by a person | 4 |
| Shared symptom model with the validated scales mapped; who entered each answer | 2.5 |
| Record fields: plan mode, choice attribution, region, sponsor, model mode, context; community identity reserved as a separable field for later | 1.5 |
| Consent layer: own entity and history, India and US profiles, assisted access, clinic-share consent | 3.5 |
| Role-based access: care relationship, sponsors aggregates only, row-level security and its tests | 4 |
| Audit trail | 3 |
| Deletion and retention | 2 |
| Switches and entitlement record | 2 |
| Usage metering | 1.5 |
| Referral source codes, links and QR codes | 0.5 |
| Model connection points: thin adapter, switches, shadow mode | 1.5 |
| Conformance check across surfaces | 4 |
| Integration and security testing | 4 |
| Documentation, runbooks and handback | 1.5 |
| Total | 46 |
Body 2: WhatsApp India, direct version: 35.5 days, activity by activity
| Activity | Days |
|---|---|
| Messaging layer: webhooks, queue, retries, delivery status; provider to Cloud API as a configuration change | 2.5 |
| Conversation state, interrupted-journey recovery, 24-hour window and template rules, scheduler | 3 |
| Intake as WhatsApp Flows, saving each screen | 6 |
| Button-by-button fallback for older phones | 2 |
| Three cards, check-ins, Day 7 and Day 21, summary | 3.5 |
| Web to WhatsApp account linking with a one-time code | 1.5 |
| Safety: deterministic red-flag layer, urgent-care guarantee, shadow classifier with logging and measurement | 4.5 |
| Consent, opt-out and deletion inside WhatsApp | 1.5 |
| Resource links in her language | 0.5 |
| Languages as content files; Kannada, Tamil, Hindi loaded and checked | 1.5 |
| Translation pipeline: AI drafts with context, language checks, sign-off tracking | 2 |
| Template drafting and submission to Meta | 1.5 |
| Testing on real phones; conformance with the web | 5 |
| Documentation | 0.5 |
| Total | 35.5 |
Body 3: WhatsApp India, clinician version: 23 days, activity by activity
| Activity | Days |
|---|---|
| Clinic-branded entry and the four ways in | 2 |
| Essentials and red-flag form | 2 |
| Secure single-use link to a clinic-branded browser form with save and resume; menstrual history | 5 |
| Validated scales: baseline, return visits, scoring (Menopause Rating Scale; Greene proposed out, answer 7) | 3 |
| Booking from the direct product: share consent, pre-filled answers | 2 |
| Plan sent only after the doctor signs; changed plans in approved wording | 1.5 |
| Check-ins on the doctor's items and rhythm, to her or a family member (see answer 7) | 3 |
| Testing, including scoring against the clinical specification | 4 |
| Documentation | 0.5 |
| Total | 23 |
Body 4: Zelyn for Clinicians, the clinic dashboard: 27 days, activity by activity
| Activity | Days |
|---|---|
| Clinic staff sign-in, roles, clinic settings | 2 |
| Patient list and search | 2 |
| Nurse check at registration, including the full intake for a woman without a smartphone | 3.5 |
| Staff completion of the intake and lab value entry | 2 |
| Doctor view: complete intake, choose options with their basis, medication, sign the plan, versions | 6 |
| Timeline | 2 |
| Staff phone-call check-ins | 1.5 |
| Flags at thresholds each clinic sets, shipped empty; alerts to the doctor without patient details, pointing to the dashboard | 2 |
| Responsive layout | 1.5 |
| Testing | 4 |
| Documentation | 0.5 |
| Total | 27 |
We will re-confirm these figures at the end of week 2, after we walk through the current code with its developer, and again after the first three development iterations.
Detail: Timeline tab for how the bodies run side by side.
2 Zelyn asked: Your estimate in days for the first milestone. Estimate it separately, and name the foundation pieces it needs.
About 64.5 developer-days, about 7 weeks of work. It is ready for acceptance on Monday 21 December 2026 (week 8) if work starts on 2 November. It follows Zelyn's build order: the WhatsApp direct version first, then a first piece of the clinician version on the same foundation.
| Part | What it covers | Days |
|---|---|---|
| Foundation pieces it needs | Knowledge transfer; architecture; the Azure India environment; the engine behind its API; one record per woman; the symptom model for the direct and clinic-essentials questions; the record fields; consent, access, audit and deletion at the level the milestone needs; referral codes; the model connection point for the safety classifier. | 26.5 |
| WhatsApp direct version, in English | All of Body 2 except the three Indian languages and translation management. | 32 |
| First piece of the clinician version | Clinic-branded entry and the essentials-and-red-flags form; basic clinic sign-in; a list of women who completed that intake, with each one's summary. | 6 |
| Total | 64.5 |
The milestone is accepted (Gate 1) when it works on test data: a woman completes either intake on a real phone, a red flag routes correctly, both intakes attach to the same record for her, each keeping its source, the clinician view shows her answers, and consent and deletion behave as specified.
Detail: Timeline tab, Gate 1
3 Zelyn asked: Infrastructure projections: India and the US on Azure (US sizing only), and a government programme in India sized provider-neutral. At 1,000, 5,000, 10,000, 20,000, then steps of 20,000 to 100,000, then 250,000, 500,000 and 1 million active users. At each level: compute, memory, storage, database growth, bandwidth, backups, model usage and an indicative monthly cost. Include voice. State the usage assumptions until Zelyn sends its usage profile.
All three deployments are sized at all eleven levels Zelyn listed, with every item Zelyn named. India costs about $1,000 a month at 1,000 women and about $55,700 at 1 million, including Meta's WhatsApp charges. At 1 million, about $27,700 is Azure hosting and about $28,000 is Meta's charges. Voice is included in the sizing, though voice is not built in bodies 1 to 4. Prices are Azure list prices fetched on 27 October 2026 and Meta's rate card of 1 October 2026, with no discounts. The usage behind them is our assumption, listed below. When Zelyn sends its usage profile we re-run the same model within 5 working days.
Usage we assumed, per active woman:
- Active woman: used Zelyn at least once that month. 25% use it on a given day; the busiest hour carries 15% of the day; a session is about 5 minutes.
- WhatsApp: about 40 messages per woman a month, 20 in and 20 out; 6 of those sent are paid templates (reminders, Day 7, Day 21).
- Server work: about 200 server calls per woman a month.
- Data: about 50 KB of answers and 150 KB of audit records per woman a month. Message text kept 90 days. Logs kept 180 days in India, 90 in the US. Backups kept 14 days.
- AI safety check: 10 free-text messages per woman a month, about 500 tokens each.
- Voice (sizing only): 20% of women send 4 voice notes a month of 30 seconds, and hear 4 approved replies read aloud.
- Bandwidth and uptime: about 5 MB per woman a month; 99.9% uptime; at most 5 minutes of data lost; back up within 4 hours.
India, Azure Central India: capacity and cost at each level
Monthly cost includes Meta's WhatsApp charges.
| Active women | Compute and memory, busiest hour | Database server | Database size, 12 months (GB) | Database growth a month (GB) | File storage, 12 months (GB) | Backups, 14 days, two sites (GB) | Bandwidth a month (GB) | Logs a month (GB) | AI safety check, tokens a month | Voice notes, hours a month | Monthly cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 3.0 | 0.2 | 1.1 | 7.9 | 4.9 | 0.2 | 4M in / 1M out | 6.7 | $1,043 |
| 5,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 15 | 1.2 | 5.7 | 39 | 24 | 1.0 | 20M in / 5M out | 33 | $1,217 |
| 10,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 30 | 2.5 | 11 | 79 | 49 | 1.9 | 40M in / 10M out | 67 | $1,437 |
| 20,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 61 | 5.0 | 23 | 158 | 98 | 3.8 | 80M in / 20M out | 133 | $2,092 |
| 40,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 121 | 9.9 | 46 | 315 | 195 | 7.6 | 160M in / 40M out | 267 | $2,998 |
| 60,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 182 | 15 | 69 | 473 | 293 | 11 | 240M in / 60M out | 400 | $3,887 |
| 80,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 243 | 20 | 92 | 631 | 391 | 15 | 320M in / 80M out | 533 | $4,819 |
| 100,000 | 4 vCPU / 8 GiB | 4 vCores / 16 GiB + standby | 303 | 25 | 114 | 788 | 488 | 19 | 400M in / 100M out | 667 | $6,073 |
| 250,000 | 4.5 vCPU / 9.0 GiB | 8 vCores / 32 GiB + standby | 758 | 62 | 286 | 1,971 | 1,221 | 48 | 1,000M in / 250M out | 1,667 | $13,571 |
| 500,000 | 8.5 vCPU / 17.0 GiB | 16 vCores / 64 GiB + standby + read copy | 1,516 | 124 | 572 | 3,942 | 2,441 | 95 | 2,000M in / 500M out | 3,333 | $28,181 |
| 1,000,000 | 17.0 vCPU / 34.0 GiB | 32 vCores / 128 GiB + standby + read copy | 3,033 | 248 | 1,144 | 7,885 | 4,883 | 191 | 4,000M in / 1,000M out | 6,667 | $55,656 |
US, Azure (sizing only): capacity and cost at each level
Web and app only; WhatsApp is not used in the US. US deployment work is not in this estimate.
| Active women | Compute and memory, busiest hour | Database server | Database size, 12 months (GB) | Database growth a month (GB) | File storage, 12 months (GB) | Backups, 14 days, two sites (GB) | Bandwidth a month (GB) | Logs a month (GB) | AI safety check, tokens a month | Voice notes, hours a month | Monthly cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 3.0 | 0.2 | 1.1 | 7.7 | 4.9 | 0.2 | 4M in / 1M out | 6.7 | $951 |
| 5,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 15 | 1.2 | 5.7 | 39 | 24 | 1.0 | 20M in / 5M out | 33 | $1,011 |
| 10,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 30 | 2.5 | 11 | 77 | 49 | 1.9 | 40M in / 10M out | 67 | $1,090 |
| 20,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 60 | 5.0 | 23 | 155 | 98 | 3.8 | 80M in / 20M out | 133 | $1,427 |
| 40,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 119 | 9.9 | 46 | 309 | 195 | 7.6 | 160M in / 40M out | 267 | $1,767 |
| 60,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 179 | 15 | 69 | 464 | 293 | 11 | 240M in / 60M out | 400 | $2,090 |
| 80,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 238 | 20 | 92 | 619 | 391 | 15 | 320M in / 80M out | 533 | $2,453 |
| 100,000 | 4 vCPU / 8 GiB | 4 vCores / 16 GiB + standby | 298 | 25 | 114 | 774 | 488 | 19 | 400M in / 100M out | 667 | $3,071 |
| 250,000 | 4.5 vCPU / 9.0 GiB | 8 vCores / 32 GiB + standby | 744 | 62 | 286 | 1,934 | 1,221 | 48 | 1,000M in / 250M out | 1,667 | $6,181 |
| 500,000 | 8.5 vCPU / 17.0 GiB | 16 vCores / 64 GiB + standby + read copy | 1,488 | 124 | 572 | 3,868 | 2,441 | 95 | 2,000M in / 500M out | 3,333 | $13,142 |
| 1,000,000 | 17.0 vCPU / 34.0 GiB | 32 vCores / 128 GiB + standby + read copy | 2,975 | 248 | 1,144 | 7,736 | 4,883 | 191 | 4,000M in / 1,000M out | 6,667 | $25,602 |
Government programme, India: capacity and cost at each level
Monthly cost includes Meta's WhatsApp charges. Priced at Azure Central India rates only as a reference; the server list below is what a government data centre would provision. We do not have the government's own rates: NIC, MeghRaj or a state data centre will price differently, so the server list is firm and the dollar figure is a guide. It is also lower than the India figure partly because it leaves out the managed extras (Front Door firewall, Key Vault HSM keys, Defender, container registry) and the staff time to run the servers: patching, backups and on-call.
| Active women | Compute and memory, busiest hour | Database server | Database size, 12 months (GB) | Database growth a month (GB) | File storage, 12 months (GB) | Backups, 14 days, two sites (GB) | Bandwidth a month (GB) | Logs a month (GB) | AI safety check, tokens a month | Voice notes, hours a month | Monthly cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 3.0 | 0.2 | 1.1 | 7.9 | 4.9 | 0.2 | 4M in / 1M out | 6.7 | $839 |
| 5,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 15 | 1.2 | 5.7 | 39 | 24 | 1.0 | 20M in / 5M out | 33 | $1,007 |
| 10,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB | 30 | 2.5 | 11 | 79 | 49 | 1.9 | 40M in / 10M out | 67 | $1,218 |
| 20,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 61 | 5.0 | 23 | 158 | 98 | 3.8 | 80M in / 20M out | 133 | $1,640 |
| 40,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 121 | 9.9 | 46 | 315 | 195 | 7.6 | 160M in / 40M out | 267 | $2,532 |
| 60,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 182 | 15 | 69 | 473 | 293 | 11 | 240M in / 60M out | 400 | $3,386 |
| 80,000 | 4 vCPU / 8 GiB | 2 vCores / 8 GiB + standby | 243 | 20 | 92 | 631 | 391 | 15 | 320M in / 80M out | 533 | $4,312 |
| 100,000 | 4 vCPU / 8 GiB | 4 vCores / 16 GiB + standby | 303 | 25 | 114 | 788 | 488 | 19 | 400M in / 100M out | 667 | $5,314 |
| 250,000 | 4.5 vCPU / 9.0 GiB | 8 vCores / 32 GiB + standby | 758 | 62 | 286 | 1,971 | 1,221 | 48 | 1,000M in / 250M out | 1,667 | $12,197 |
| 500,000 | 8.5 vCPU / 17.0 GiB | 16 vCores / 64 GiB + standby + read copy | 1,516 | 124 | 572 | 3,942 | 2,441 | 95 | 2,000M in / 500M out | 3,333 | $24,777 |
| 1,000,000 | 17.0 vCPU / 34.0 GiB | 32 vCores / 128 GiB + standby + read copy | 3,033 | 248 | 1,144 | 7,885 | 4,883 | 191 | 4,000M in / 1,000M out | 6,667 | $49,045 |
Government build, India: plain servers at each level
Sized as ordinary servers so the programme can run on government infrastructure, with no Azure-only service.
| Active women | App servers | Database servers | Disk | Load balancers | Log server |
|---|---|---|---|---|---|
| 1,000 | 2 x 4 vCPU / 16 GiB | 2 x 2 vCPU / 8 GiB | 128 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 5,000 | 2 x 4 vCPU / 16 GiB | 2 x 2 vCPU / 8 GiB | 128 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 10,000 | 2 x 4 vCPU / 16 GiB | 2 x 2 vCPU / 8 GiB | 128 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 20,000 | 2 x 4 vCPU / 16 GiB | 2 x 2 vCPU / 8 GiB | 128 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 40,000 | 2 x 4 vCPU / 16 GiB | 2 x 2 vCPU / 8 GiB | 256 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 60,000 | 2 x 4 vCPU / 16 GiB | 2 x 2 vCPU / 8 GiB | 256 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 80,000 | 2 x 4 vCPU / 16 GiB | 2 x 2 vCPU / 8 GiB | 512 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 100,000 | 2 x 4 vCPU / 16 GiB | 2 x 4 vCPU / 16 GiB | 512 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 128 GiB |
| 250,000 | 2 x 4 vCPU / 16 GiB | 2 x 8 vCPU / 32 GiB | 1024 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 512 GiB |
| 500,000 | 3 x 4 vCPU / 16 GiB | 2 x 16 vCPU / 64 GiB + read copy | 2048 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 1024 GiB |
| 1,000,000 | 5 x 4 vCPU / 16 GiB | 2 x 32 vCPU / 128 GiB + read copy | 4096 GiB SSD each | 2 x 2 vCPU / 8 GiB | 1 x 4 vCPU, 2048 GiB |
Detail: Hosting cost tab (assumptions and every price with its source) · Cost calculator (move the assumptions, see the cost) · the workbooks Zelyn-Infra-Projections-2026-10-27.xlsx and Zelyn-Voice-Cost-Projections-2026-10-28.xlsx
4 Zelyn asked: Assume a core team of two full-stack developers. Which support roles would you bring in, such as UX, architecture, testing and programme management, at which points, and for roughly how many days?
| Role | When | What it delivers | Effort |
|---|---|---|---|
| Architecture (Vasanth) | Every body of work, and each gate | The API contract and data-model changes, the identity design, the decision records, a line-by-line review of login, consent, audit, deletion and region code, and the release approval at each gate. | Within the fee, as each body of work needs |
| UI/UX (an external consultant Velosyti engages) | Body 2, then bodies 3 and 4 | Body 2: the WhatsApp Flow screens and message layout. Bodies 3 and 4: the clinic form and the clinic dashboard. | Within the fee, for each body that needs it |
| Testing | Throughout | The two developers write and run unit, integration and regression tests. An external penetration test is booked before Gate 2. | Within the developers' days; the penetration test is a third-party cost |
| Programme management (Vasanth) | Week 1 to handback | Weekly demo, plan, risk log, decision log, and gate reviews. | Within the fee, every week |
Detail: Team tab
5 Zelyn asked: Dependencies or ordering we have missed.
- Meta's part is short, but the templates must be drafted early. Zelyn's account is already verified. Meta decides on each message template within 24 hours, so templates are submitted as they are drafted in weeks 4 to 5. The WhatsApp provider's written confirmation has no official time, so it is asked for in week 1.
- Zelyn's WhatsApp number may need registering again with India storage before any real message. Meta sets the storage region only at registration (question 5 on the Questions tab).
- The Menopause Rating Scale licence is needed before its scoring is coded. The request goes out in week 1.
- Body 3 decides the fields Body 4 shows. In week 8, when Bodies 3 and 4 start side by side, both developers agree the fields the clinician version collects, before the dashboard is built on them.
- The privacy notice must be rewritten by counsel and translated before launch. The live notice still has a placeholder (point 25 below). Counsel is briefed in week 1. By week 6 Zelyn agrees the list of items she consents to, which we draft from our data inventory; the consent screens are built on it. Counsel's final wording and the translations have no official time and are needed by Gate 2.
- Two regulatory opinions and the clinic agreement are needed before real patients: who is responsible for clinic patients' data, and whether any part is a medical device.
- We add a Gate 2 before the clinician pilot: the independent penetration test, clinical sign-off per language, the two legal opinions and the restore and deletion drills. Indian security rules and Zelyn's own content approval need these before real patients.
- Zelyn's usage profile is needed in week 2 to finalise the infrastructure projections.
Every outside approval, with the time its owner officially states. Where the owner publishes no time, we say so and start it in week 1.
| Approval | Official time, from the owner | When in our plan | Source |
|---|---|---|---|
| WhatsApp business verification | Already done: Zelyn's roadmap says the account is verified. Meta's time is up to 14 business days. | Done | Owner's page |
| WhatsApp message templates | Up to 24 hours for each decision; an appeal is decided within 24 hours. | Weeks 4 to 5, as each template is drafted | Owner's page |
| Number registered again with India storage (only if it was not) | Typically under 5 minutes, with under 5 minutes of downtime. | Week 2 | Owner's page |
| WhatsApp message limit | 2,000 a day at once after verification. Each higher step within 6 hours, once half the current limit is used in 7 days. | Already in place | Owner's page |
| Publishing WhatsApp Flows | No separate review time. Needs a verified business (done) and good message quality. | Weeks 5 to 6 | Owner's page |
| WhatsApp display name | No official time. | Week 1 | Owner's page |
| WhatsApp service provider's written confirmation | No official time. | Requested in week 1 | None published |
| Azure database capacity increase | 24 to 48 hours. | Week 1, if needed | Owner's page |
| Azure OpenAI access | No form needed for standard models. Quota increases: no official time. Switching off abuse monitoring needs a form (next row). | Week 1 | Owner's page |
| Microsoft approval to switch off abuse monitoring for the AI safety check | No official time. A form is needed for this change. | Applied for in week 1; needed by Gate 2. Until then, no real free text reaches the model. | Owner's page |
| Menopause Rating Scale licence (ZEG Berlin) | No official time. Commercial use needs a fee; requests only through ZEG's form. | Requested in week 1; needed by 18 December 2026, before scale scoring starts | Owner's page |
| Independent security test (CERT-In empanelled tester) | No official time to engage or run. The tester reports to CERT-In within 5 days of finishing. | Booked in weeks 1 to 2; test 12 to 19 February 2027, once Bodies 3 and 4 are finished | Owner's page |
| Legal opinions and the privacy notice (Zelyn's lawyer) | No official time. | Requested in week 1; needed by Gate 2 | None published |
| CDSCO, only if a part is found to be a medical device | Licence: Class A within 45 days of applying (rule 20). Class B: site audit within 90 days, report within 30, licence within 20 (rule 20). Class C and D: site inspection within 60 days of applying, licence within 45 days of the inspection report (rules 23 and 25). No time for an opinion on whether it is a device. | Only if counsel says it is a device | Owner's page |
| Clinic agreement | Between Zelyn and the clinic; no official time. | Needed by week 6 | None published |
| Screen mockups (we make them, Zelyn approves) | No official time. We assume 5 working days for set 1, and two weeks for set 2 because it falls over Christmas and New Year, each including one round of changes. | Set 1 (WhatsApp Flows, clinic form, clinic list) sent by 20 November, approved by 27 November; set 2 (clinic dashboard) sent by 18 December, approved by 5 January 2027 | None published |
Detail: Timeline tab · Decisions tab
6 Zelyn asked: Your knowledge-transfer plan, in both directions. Documentation updated at every milestone. A handback at the end of each phase good enough for another team to continue.
From Zelyn to us, at the start (about 3 days in Body 1): a code walkthrough by the developer who wrote it, the feature inventory, the card-selection rules, the safety rules and the existing tests, and access set-up.
From us to Zelyn, at every gate and at the end of each body of work: a recorded walkthrough, updated documentation and a handback review. Documentation is updated at every milestone, not at the end.
Handback when bodies 1 to 4 are complete, good enough for another team to continue: the repository, the infrastructure code, the runbooks, the evidence folder, the architecture decision records, every credential returned and rotated, and a 30-day warranty. Everything lives in Zelyn's GitHub and Zelyn's accounts from the first commit.
Detail: How we build tab
7 Zelyn asked: Assumptions, risks, and anything in this document you would change.
Main assumptions. Two full-time developers. Zelyn's inputs arrive on the dates in the proposal (content, clinical specification, the clinical reviewer, clinic agreement). Usage as listed on the Hosting cost tab until Zelyn's profile arrives. Bodies 5 and 6 are not built.
What we would change in Zelyn's documents.
- The AI safety check runs in South India, or on Azure AI Language in Central India. Microsoft does not offer Azure OpenAI in Central India on a pay-as-you-use basis, and its other options send messages outside India. Both choices keep her text in India.
- No totals cross a border in Phase 1. The Architecture of Record allows consented, de-identified totals to cross. Sponsor reporting is not in this scope, so we keep it switched off until counsel or a qualified expert approves the method.
- A few records are kept after she asks for deletion: her consent history, audit rows pointing to a blank marker, and a scrambled copy of her phone and email so she is never messaged again. Counsel to confirm; the privacy notice must say so.
- Her record is keyed by a Zelyn-generated ID. The phone, WhatsApp user ID, email and clinic patient number are linked to it with equal standing. The Architecture of Record makes the verified phone the spine; the roadmap makes the WhatsApp user ID first-class. We follow the roadmap and ask Zelyn to confirm (question 6).
- The Greene scale is proposed out; the Menopause Rating Scale only, once licensed.
- A Gate 2 is added before real patients (point 5 above).
- Check-ins to a family member's phone are built with the rest of Body 3, after the first milestone, with her separate consent for that person and a way to withdraw it at any time. A second person receiving her health messages, and shared or recycled phones, need that care.
- Voice notes before Body 5: if she sends one, the system asks her to type.
Main risks, each with what we do:
- Meta or the provider does not clear the health workflow: written confirmation in weeks 1 to 2; WhatsApp behind a switch; a web fallback with no health content in SMS; Zelyn owns the number.
- A worrying free-text message is missed: the fixed rules route; a named human reviewer in India, or an honest "not monitored in real time" line; the model check is never presented as a safety net until it is validated.
- Translation changes clinical meaning: AI drafts with context and a glossary; we check Tamil, outside verifiers check Kannada and Hindi, and a different party back-translates; a clinician signs each language.
- Outside approvals delay the pilot: all started in weeks 1 to 2; the pilot date is a range; scope cuts agreed in advance.
- A two-person team loses a person: Siva and Dharun kept up to date from week 1.
- Our recent hosting is on AWS; our Azure work is older: cloud-neutral design, Azure-specific items checked in week 1.
Detail: Decisions tab · Questions for Zelyn tab · Overview tab
8 Zelyn asked: Bodies 5 and 6, the expanded journey and the mobile app: design leaves room for them. An indicative estimate is welcome but not required.
We have not estimated bodies 5 and 6 yet. Zelyn's roadmap says the requirements document for the expanded journey is to follow, and gives the app as an intended shape, so a figure now would be a guess. We will estimate both once the requirements are clear. Bodies 1 to 4 are built so these add to the foundation rather than change it: the app is one more screen on the same engine API, voice fills the same inputs she types into, and the record already has the fields they need.
Detail: Architecture tab, Mobile app box
9 Zelyn asked: Where something is not defined here, raise it as an open question rather than assume it.
Seven points are not settled by the roadmap or the Architecture of Record, or are settled differently in the two. Each has our recommendation, so a yes is enough:
| Open question | Our recommendation |
|---|---|
| 1. Can a woman be linked to more than one clinic at the same time? | Yes. Each clinic link has its own consent and care relationship, and she can end any link at any time. |
| 2. When she moves to a new clinic, what happens to the data the old clinic entered? | It stays with the old clinic, subject to the decision on who is responsible for clinic patients' data. The old clinic loses access when she leaves. |
| 3. When a warning sign appears for a clinic's patient, how fast must the clinic act? | The clinic sees the flag on its dashboard the next working day. Anything faster is written into the clinic contract. |
| 4. How does the Day 7 and Day 21 summary reach her on WhatsApp? | A neutral message with a link that opens the summary after a one-time code, or a WhatsApp Flow screen. No images or PDFs, as they are saved to the phone and can be forwarded. |
| 5. Was Zelyn's WhatsApp number registered with Meta's India local storage? | If not, it is registered again with India storage before any real message, planned with Zelyn to keep the break short. |
| 6. Which identifier is the spine of her record: the verified phone or the WhatsApp user ID? | A Zelyn-generated ID, with the WhatsApp user ID, phone, email and clinic patient number linked to it with equal standing (answer 24). |
| 7. Assisted access: who may operate her account, and what may they see and do? | We build only what the two documents state: her consent to it, and the record of who entered each answer. The rest waits for Zelyn's answer. |
The decisions Zelyn needs to make, and the questions for Zelyn's lawyer, are on the Decisions tab.
Detail: Questions for Zelyn tab · Decisions tab
Design questions in the roadmap
10 Zelyn asked: Body 1, the shared foundation: these are foundational requirements, not a design. Please propose how you would build them.
One engine behind a versioned API. The web app, WhatsApp, the future app and the clinic dashboard are only screens that call it. The engine holds Zelyn's existing rules unchanged. Around it we build:
- One record per woman, keyed by a Zelyn ID, with every identifier linked to it (answer 11).
- A shared symptom list that every intake writes to: the direct intake, the clinical intake, staff entry and check-ins. Each validated scale is mapped onto it. The direct intake uses part of it, and its answers pre-fill the matching questions at a clinic.
- Who entered each answer is recorded on every answer: her, a nurse, the doctor, a health worker, or a family member on her behalf.
- Consent as its own history per purpose, channel and language, storing the exact text she saw, checked on every request.
- Access enforced twice: in the API and in PostgreSQL row-level security, tested for every role and clinic. A doctor or nurse sees only women in an active care relationship. Sponsors see only totals.
- An audit trail written in the same step as every read or change of identifiable data.
- Country lock: India and the US have separate databases, backups and logs, with no link between them.
- Switches per channel, partner, market and language, kept in Zelyn's own PostgreSQL, plus an entitlement record and usage metering per partner.
- Referral codes in links and QR codes, which set the sponsor field at enrolment. No invitation codes.
- One connection point for AI models, swappable by configuration, with shadow mode.
- An add-only database: fields are only ever added, never removed or renamed, so earlier data stays readable.
- A conformance test that proves the web and WhatsApp give exactly the same cards, safety response and record.
Detail: Architecture tab · Data separation tab
11 Zelyn asked: How would you resolve identity when the same woman arrives on WhatsApp with a username and no number, and later at a clinic with only her phone number?
Her Zelyn ID is created at sign-up and never derived from any identifier. Every identifier she shares is linked to it: email from the web, phone where she shares it, the WhatsApp user ID from her first message, and clinic patient numbers scoped to each clinic. Each identifier is stored encrypted, with a scrambled copy used only for matching.
On WhatsApp with only a username, the WhatsApp user ID is her key. She never has to share her number. When she later arrives at a clinic with only a phone number, we never merge on the number alone. A message to that number brings back her WhatsApp user ID: Meta includes it in every delivery update, even when the message was sent to a phone number (Meta's page). That becomes a suggested match, and clinic staff confirm it in a match queue. Two people are never merged without a person confirming.
Detail: Architecture tab, Who she is box
12 Zelyn asked: On the web, an urgent-care screen replaces everything and cannot be dismissed. In a chat it can be scrolled past. Your approach to an equivalent guarantee on WhatsApp?
When a red flag fires, the journey stops. She gets Zelyn's fixed safety wording as its own message, with a call button. Until she taps an acknowledgement, every message she sends gets the same safety message first, and no card, check-in or reminder goes out. The red-flag state is on her record, and the scheduler checks it before every send. The message points to 112 and the Tele-MANAS line 14416. (On the web and app in the US, the same screen points to 988.) Only the fixed rules decide this, never a model.
13 Zelyn asked: Where would you draw the line between the WhatsApp Flow and the browser form, to give the shortest intake that patients reliably finish?
The WhatsApp form keeps only what must be done before she reaches the clinic: the essentials and the red-flag questions, about ten questions over two or three screens. The validated scale, menstrual history and anything long or free-text go to the clinic-branded browser form. It opens from a secure single-use link, saves each answer, and can be finished in the waiting room or by the nurse.
Detail: Architecture tab, WhatsApp box
Questions for the spec discussion
14 Zelyn asked: Team. Who would lead the spec discussions? The roles, seniority and relevant experience of the rest of the team. Would people from the projects you referenced be part of it, and could the lead engineer join one of the spec meetings?
| Person | Role | Experience |
|---|---|---|
| Merlin | Lead engineer, full-time developer. Leads the spec discussions and joins the spec meetings. | 7.5 years. LawBee, Testify, TryOn (consent records, scheduled deletion, encrypted storage), SDAT CM Trophy 2025 app, ECS demand module. |
| Hariharan | Full-time developer. | 3.5 years. Tamil Nadu e-Gazette portal: audit log of every change, Tamil translations, OTP login, role-based logins. |
| Siva and Dharun | Cover during Merlin's leave. Read access and the weekly demo from week 1. | Siva: ECS cooperative banking, Shoppyti WhatsApp, Valarchi. Dharun: AtoZ, Tamil Nadu e-Pass, Right-of-Way system. |
| Vasanth | Architect and programme lead, within the fee. | 19 years. Architecture decisions, line-by-line review of sensitive code, release approval. |
| UI/UX consultant | External, engaged by Velosyti. Named before design starts. | WhatsApp Flow screens, clinic form, clinic dashboard. |
People from the projects we referenced are on the team. Siva built on Shoppyti, Valarchi and ECS; Dharun on e-Pass; Merlin and Hariharan built the projects listed against them.
Detail: Team tab
15 Zelyn asked: One record. How will you keep one record per user across WhatsApp and the web, prevent duplicates, recover interrupted journeys, and keep our existing rules logic intact?
- One record: one Zelyn ID per woman, with her web email, phone, WhatsApp user ID and clinic numbers all linked to it (answer 11). Web and WhatsApp link with a one-time code.
- No duplicates: a new identifier is checked against the scrambled identifiers already linked. A likely match is never merged automatically; a person confirms it. Shared and recycled phone numbers are in the acceptance tests.
- Interrupted journeys: each WhatsApp form screen is saved as she goes. If she stops, she resumes from the last saved screen. The conversation state is kept on the server, so a lost message or a closed 24-hour window does not lose her place.
- Rules logic intact: Zelyn's existing rules are moved behind the engine API unchanged. The conformance test runs the same cases through the web and WhatsApp and must give the same cards, safety response and record. A failing case blocks the change.
16 Zelyn asked: WhatsApp. If you have built on the WhatsApp Business API before, please walk us through it, covering scheduling, opt-outs, delivery failures and recovery.
What we built before: Shoppyti, our own seller and buyer platform on WhatsApp and Instagram, on Meta's Cloud API: signed webhooks, OTP templates, fallback to approved templates when the 24-hour window closes, Meta error handling, retries with backoff and scheduled jobs. Shoppyti did not track whether each message was delivered and read, or handle STOP opt-outs. This plan adds both.
- Scheduling: sends run from a queue with retries and backoff. Outside the 24-hour window only approved utility templates go out.
- Opt-outs: keywords in each language, and in Roman script, stop sends at once and write a suppression entry that survives deletion.
- Delivery failures: every message stores its template, language, the consent it relied on, and its sent, delivered and read status from Meta. A failed message is retried, then shown in the clinic queue.
- Recovery: each webhook is stored once, signature-checked, and handled by jobs that are safe to run twice. Her place in the journey is kept on the server (answer 15).
Detail: Team tab, Shoppyti row · Architecture tab, WhatsApp box
17 Zelyn asked: Health data. If you have built consent, audit-trail or access-control features before, please show us.
What we built before: Valarchi, AI-assisted exam marking for Tamil Nadu schools, holding children's data under India's DPDP Act: verifiable consent, PostgreSQL row-level security with live tests, an append-only audit, no support access to personal data by default (emergency access only, audited), and retention with human-approved purge. The Tamil Nadu e-Gazette portal: an audit log with old and new values, user, IP address and browser for every change. Tamil Nadu e-Pass: about 35 million passes, every action audited, no direct database access. We have not built a clinical system before; this work comes from education, banking and government systems.
How we build it here: consent as an append-only history storing the exact text she saw, checked on every request; the audit written in the same step as each read; access enforced in the API and in PostgreSQL row-level security, tested per role and per clinic.
On the call we will show the consent, audit and access screens of Valarchi and Tamil Nadu e-Pass, on dummy data.
Detail: Team tab · Data separation tab
18 Zelyn asked: Localisation. How will you localise content without changing its approved clinical meaning?
- The English master is the clinical text, written and owned by Zelyn.
- Velosyti translates every language using AI language models, given the context of each text: where it appears, who reads it, and a glossary of the words women actually use. This is inside the monthly fee.
- Velosyti's Tamil-speaking staff check the Tamil. Velosyti finds and arranges outside verifiers for Kannada and Hindi. Their fees are a third-party cost that Zelyn pays directly.
- Zelyn's named clinical reviewer signs off each language, Tamil included. It is then tested with eight to ten women in the clinic.
- Velosyti arranges the independent back-translation of each language through a different party, as the roadmap asks. Zelyn pays that party directly.
- Each language file has its own version and a named sign-off. The build fails on a missing string or a wrong placeholder. A language cannot switch on until every string is approved. Safety wording is never machine-translated when a message is sent.
19 Zelyn asked: Hosting. Please outline the Azure design for this scope, covering regional storage, backups, logs and support access.
- Regional storage: one subscription per environment and country. In each country one PostgreSQL Flexible Server with customer-managed keys and private endpoints, Container Apps for the API, web, worker and WhatsApp adapter, and Blob storage. India in Central India; US in its own region. No network link, copy or shared directory between countries. Azure Policy blocks any resource outside the allowed regions.
- Backups: point-in-time backups kept 14 days in the same country, with a copy in the paired region inside that country. Deletion is replayed from a deletion ledger kept outside the database after any restore. Restore is drilled before Gate 2.
- Logs: Log Analytics, kept 180 days in India and 90 days in the US, scrubbed of personal details. Microsoft Defender alerts on unusual reads.
- Support access: no standing access to personal data, for us or for Microsoft. Emergency access is time-limited, approved and audited, with its own runbook. Customer Lockbox makes Microsoft ask before its engineers can see data. Staff sign in with two-step login.
- Edge: Front Door with the web firewall, then the gateway, then the engine. Key Vault holds the keys. Everything is set up in Terraform in Zelyn's repository.
Detail: Architecture tab, Country lock box · Data theft and leaks tab
Points from Jayanthi on 27 October
20 Zelyn asked: Think through the language translations and their validation with clinical experts, or find experts who validate the translations.
We translate every language with AI language models, given the context of each text. We check the Tamil ourselves. Yes, we will find the experts: we find and arrange outside verifiers for Kannada and Hindi, and Zelyn pays their fees directly. Every language, Tamil included, is then signed off by Zelyn's named clinical reviewer before it can switch on, after a test with eight to ten women in the clinic (answer 18).
Detail: Questions for Zelyn tab
21 Zelyn asked: Think through medical data access when we use translators. Does data get stored in their systems?
Translators never receive any woman's data. They receive only Zelyn's content: the questions, cards, message templates and safety wording, with no names, numbers or answers. Her answers and messages are never sent to a translator or a translation service, and Phase 1 does not translate her messages live. The AI models used for the drafts run on Zelyn's own business account, and are given only this content text. The same applies to the verifiers Zelyn engages.
22 Zelyn asked: Twenty-five weeks is too much. What happened to the high velocity with AI-assisted development?
Agreed. The estimate is now about 133 developer-days, about 13 to 14 weeks of work. The first milestone is about 64.5 days, about 7 weeks of work. On the calendar that is 21 December 2026 for the first milestone and 24 February 2027 for the pilot, with Tamil Nadu holidays kept. We estimated each task for our two developers, working full time, and checked the figures against how fast they have delivered recent work. We will re-confirm the figures after the first three development iterations.
Outside approvals follow their owners' official times (answer 5). Meta's part is short: Zelyn's account is already verified and each template is decided within 24 hours. The questionnaire licence, the legal opinions, the clinic contract and the security test have no official time, so we start them in week 1. The earliest pilot is Wednesday 24 February 2027 (week 17), if work starts on 2 November 2026.
Detail: Timeline tab · How we build tab
23 Zelyn asked: For this round you don't have to be precise. Whatever is open, just flag it.
Everything open is listed in two places: the Questions for Zelyn tab (seven questions, each with our recommendation) and the Decisions tab (Zelyn's decisions and the questions for Zelyn's lawyer).
Detail: Questions for Zelyn tab · Decisions tab
24 Zelyn asked: (Raised by us on the call) WhatsApp username as the spine in one place, and mobile number as the spine in another.
Confirmed. The Architecture of Record (slide 5) makes the verified phone the spine. The roadmap (body 1) makes the WhatsApp user ID first-class, because a woman may never share her number. We follow the roadmap: her record is keyed by a Zelyn ID and every identifier links to it with equal standing. We ask Zelyn to confirm.
25 Zelyn asked: (Raised by us on the call) A placeholder in the privacy policy.
The consent notice on Zelyn's live server (api-in.zelynhealth.com/api/consent/notice) still has the text "[COUNSEL TO PROVIDE]" where the legal wording should be. Women do not see it today: the server sends enabled: false, so the app skips that screen. The health-data consent shown before the questions has real text. Before launch, Zelyn's lawyer must write the notice, and it must be translated into all four languages.
Detail: Regulations tab
26 Zelyn asked: Any questions top of mind? First impressions from a tech perspective on the requirements?
The requirements are clear and detailed, and the order of work makes sense: one foundation, then WhatsApp, then the clinic. Zelyn's Architecture of Record is a sound design and we keep it.
- Most of the remaining work is content. The questions, cards, red-flag rules, journey paths and messages in each language are data that Zelyn's clinicians approve. The build waits on them more than on engineering.
- Two documents differ on one point: what her record is keyed on, the verified phone or the WhatsApp user ID (answer 24).
- One placeholder is live: the consent notice on Zelyn's server (answer 25).
- Seven open questions are on the Questions for Zelyn tab, each with our recommendation.
Detail: Questions for Zelyn tab
27 Zelyn asked: Remember, the requirements will continue to evolve when we speak with clinicians.
The design expects that. The questions, cards, rules and messages are content files with versions and named sign-offs, so most clinical changes are made by editing content, with no new code. New features go live behind switches and can be turned on step by step. Database changes only add fields, never remove them, so earlier data stays readable. A change to the scope is agreed in writing as a short change note; added scope adds time, not monthly cost.
The Architecture of Record
28 Zelyn asked: The Architecture of Record v2: the design the build should follow.
We keep Zelyn's design. Each rule on its slides, and how we meet it:
| Zelyn's rule (slide) | How we meet it |
|---|---|
| The engine in layers: thin surfaces, one versioned API, the edge and gateway, the safety spine ahead of everything, fixed rules decide, approved content renders, a read-only evidence store, the data layer (slides 2 and 3) | Agreed, as written. No screen holds engine logic. The safety check runs before any model, never after. |
| Where a model may sit: card selection never; content and translation drafting offline, with an independent check; voice in and out; conversational replies as a trial; document extraction for clinicians only (slide 4) | Agreed. In bodies 1 to 4 the only model is the safety classifier, in shadow mode. Voice comes in Body 5. Conversational replies stay off. Lab values are typed by staff. |
| Seven requirements before conversational replies are switched on, and an approved static version if a model fails, with token cost metered (slide 4) | Agreed. Replies stay off until all seven are met. The static fallback and per-session, per-woman token metering are built now. |
| What the record must carry: plan mode, choice attribution, sponsor, identity resolution, region fixed at sign-up, community identity, model mode per session, the forward-compatible context field (slide 5) | Agreed, all eight, in Body 1. Community identity is reserved as a separate field for later. On identity, the two documents differ on the spine (answer 24). |
| The durability contract: add-only schema, three separate entities, typed records, rules decide and language renders, versioned API, clean structured export (slide 5) | Agreed, as written. |
| Consent as its own layer, in four tiers; one mechanism with an India and a US profile; consent governs residency; assisted access and sponsored enrolment (slide 6) | Agreed. Structure built now, legal wording from counsel. Sponsored enrolment is set by the referral code. Assisted access is question 7. Cross-border totals stay off in Phase 1 (answer 7). |
| The stack: Node and TypeScript, Next.js, Azure Database for PostgreSQL with pgvector, a model-agnostic interface with Azure OpenAI as default, Azure services on open standards (slide 7) | Agreed, as written. The model interface is a thin adapter with one implementation; more can be added by configuration. |
| Lock-in traps refused: Cosmos DB, Azure SQL, a hardwired single model, vendor-locked serverless (slide 8) | Agreed. PostgreSQL, the model interface and portable containers instead. |
| Leaving Azure is a migration, not a rewrite, in six steps (slide 8) | Agreed. The six steps are on the Architecture tab, and nothing in the build blocks them. |
Each point is also linked to its slide on the Architecture of Record tab. Where we differ from the design, it is listed in answer 7 with the reason.
Detail: Architecture tab
Rules for the whole engagement
29 Zelyn asked: The roadmap's scope lines, its "requirements that apply to everything" and "portability, and what we will not accept".
We accept every one of them. How each is met:
| Zelyn's rule | How we meet it |
|---|---|
| The Azure region decides where identifiable data, backups and logs live; India data in India, US data in the US | Separate databases, backups and logs per country, with no link between them. Azure Policy blocks resources outside the allowed regions. |
| Avoid needless Azure lock-in | Plain PostgreSQL, standard containers, open sign-in standards and one connector each for storage, keys and AI models. Six Azure-only choices are refused (Architecture tab). |
| A clinician sees a woman's record only through a care relationship; sponsors see aggregates only | Enforced in the API and again in PostgreSQL row-level security, tested for every role and clinic. |
| An auditable record of access to and changes in identifiable data, including support and admin access, consent changes and clinical changes | Every read and change is written to the audit trail in the same step, including support, admin and emergency access. |
| Encryption in transit and at rest; consent as its own layer; deletion under Zelyn's policy | All traffic is encrypted in transit (HTTPS only, at the web firewall and inside the network). Everything is encrypted at rest, and her contact details and messages also with her own key. Consent is its own section with its own history. Deletion follows Zelyn's policy, with the steps on the Deletion tab. |
| Not in this estimate: US deployment; a HIPAA business associate agreement and security assurance; single sign-on; eligibility and health-record integrations; sponsor reporting; voice | Agreed. None of these is built in bodies 1 to 4. The US and voice are sized in the hosting projections only, as Zelyn asked. |
| Also in scope: changes to the current website as Zelyn indicates them, starting with a content section and advisors on the About page; Zelyn supplies the content | Agreed. 1.5 developer-days are in the estimate. |
| Zelyn owns all code; any earlier component is licensed to Zelyn perpetually and royalty-free | Agreed, as written. |
| Zelyn data is never used to train any model | Agreed. We use no in-house model and do no fine-tuning; Microsoft's terms for Azure OpenAI exclude training. |
| Phase 1 Part 1 uses a model only to classify free text for safety; no generative model for anything she sees, none for card selection | Agreed. The classifier runs in shadow mode and decides nothing; fixed rules choose cards. |
| All code in Zelyn's GitHub from the first commit; every account, key and credential owned by Zelyn | Agreed, with one exception for the two free weeks. We work inside Zelyn's Azure and other accounts from week 1. During the two free weeks (2 to 13 November 2026) our new code is in Velosyti's own repository; if Zelyn continues at Gate 0, it moves with its full history into Zelyn's GitHub once the first invoice is paid, and everything after that is in Zelyn's GitHub from its first commit. Zelyn's existing code stays in Zelyn's GitHub throughout. |
| No proprietary components Zelyn cannot run without us | Agreed. Only open-source or Zelyn-owned components. |
| Documentation updated at every milestone; a handback at the end of each phase good enough for another team | Agreed (answer 6). |
| The safety check works in all four languages, including mixed-language and Roman-script text; shadow mode first, with the fixed rules alone routing; the model joins routing only after Zelyn approves | Agreed. The fixed rules route from day one and stay as the fallback. The model's flags are logged and measured for missed and false flags, in every language, until Zelyn approves it. |
| English first, then Kannada, Tamil and Hindi in that order; adding a language is a content change, not a code change | Agreed. English is in the first milestone. Each language is a content file, switched on once every string is approved. |
| Templates through a WhatsApp service provider at first, then the Cloud API directly as volume grows, as a configuration change; the account, number and templates stay Zelyn's | Agreed. The messaging layer has one connector for the provider and one for the Cloud API; the move is a setting. Everything stays in Zelyn's name. |
| Translations by our team, with back-translation by a different party; templates drafted and submitted to Meta by our team after Zelyn approves the wording | Agreed. We translate every language and check the Tamil, inside the fee. We arrange the Kannada and Hindi verifiers and the back-translation by a different party; Zelyn pays those outside parties directly. Templates agreed (answers 5 and 18). |
Detail: Architecture tab · Data separation tab · Deletion tab
Zelyn has already written down how its system should be built, in a document called the Architecture of Record. We are keeping that design. What we add are the pieces that let Zelyn prove, to a regulator, a clinic or an employer, that each woman's data is kept apart, seen only by the right people, deleted completely when she asks, and shared only as anonymous totals. We also change two details. Microsoft does not offer Azure OpenAI in its Central India data centre, so the AI check uses Azure AI Language in Central India, or Azure OpenAI in South India. And anonymous totals between countries stay switched off in Phase 1. Two developers will build this using AI coding tools. No change goes live without a second developer's review and passing tests.
These are our estimates, if work starts on Monday 2 November 2026. Developers work Monday to Friday and keep Tamil Nadu government holidays. The first milestone (the WhatsApp journey plus a first clinic intake, working on test data) needs about 64.5 developer-days, and is ready for acceptance on Monday 21 December 2026 (week 8). Everything in the fixed scope, bodies of work 1 to 4, needs about 133 developer-days, and is ready for the pilot on Wednesday 24 February 2027 (week 17). The calendar is longer than the developer-days alone because some tasks must wait for others, the outside security test needs the finished system, and five Tamil Nadu holidays fall on weekdays. We estimated each task for our two developers, working full time, and checked the figures against how fast they have delivered recent work. Screens are built from mockups Zelyn approves. Phase 1 has six bodies of work. Bodies 5 and 6 are direction only and not in this estimate. The estimates will be re-confirmed at the end of week 2, after we walk through the current code with its developer, and again after the first three development iterations.
Real-patient use starts only when the release criteria are met (Gate 2), not on a calendar date. Meta's part is short: Zelyn's WhatsApp account is already verified, and Meta says it decides on each message template within 24 hours. The items that can move the date have no official time from their owners: the questionnaire licence, the legal opinions, the clinic contract and the independent security test. We start all of them in week 1. Clinic training and onboarding run alongside the last weeks of engineering.
This covers two full-time developers, who also do their own unit, integration and regression tests. Also within the fee: our architect, with no fixed hours, who delivers the architecture work for every body of work, and an external UI/UX consultant Velosyti engages.
Zelyn's current privacy policy makes three promises that Phase 1 will no longer keep. It says email is the only contact detail Zelyn collects "at this point", but Phase 1 collects phone numbers and WhatsApp IDs. It says free-text answers are never stored, but WhatsApp is free text. It says data is shared only with a clinician she chooses herself, but Phase 1 lets clinic staff see her record. Also, the consent notice on Zelyn's live server still has a placeholder, "[COUNSEL TO PROVIDE]", where the legal text should be. Women do not see it today, because the server switches that screen off. The policy and notice must be rewritten by Zelyn's lawyer, and translated, before launch. US regulators judge a company first by whether it keeps its own written promises.
Not in Zelyn's roadmap. Needed because India's data law requires an accurate, itemised notice before any data is collected, and today's notice promises things Phase 1 will not keep.
Three decisions that set the build order
When a woman is a patient of the partner clinic, is the clinic responsible for her data, is Zelyn, or are both? Indian law (the DPDP Act) calls this party the "data fiduciary". The answer decides who shows her the consent text, who must report a data breach, and who must delete her data when she asks. We cannot design these parts until it is decided.
Not in Zelyn's roadmap. Needed because consent, breach and deletion duties depend on who is legally responsible.
Will Zelyn set up an Indian company, or appoint an Indian representative, before the clinician pilot? A +91 number needs Indian KYC under telecom rules; Meta itself only needs business verification. Zelyn can also use a non-Indian number for Indian users. An Indian presence is also needed for the complaints contact and the clinic contract.
We recommend describing it as a clinic record system with standard questionnaires, where the doctor makes every decision. If it is described as "software that recommends treatment for this patient", India's medical device regulator treats it as a medical device. That needs registration, a quality system and a local agent (CDSCO software guidance, July 2026).
Not in Zelyn's roadmap. Needed because software that recommends treatment can be a medical device in India and would need registration.
Every item in this guide is one of these three kinds. The badge appears in the detail panel when you click a block, and on each decision.
Zelyn's Architecture of Record, redrawn with our changes
The original slides are on the Architecture of Record tab.
Each box is one part of the system. Click a box to read what it is, in plain words, and why we are keeping it, adding it or changing it. Where Zelyn specified the requirement and we designed how to meet it, the panel says "Zelyn specified" and then "We add"; the box colour shows whether the piece itself comes from Zelyn's documents (blue) or is ours (green). Words with a dotted underline are explained in the Glossary.
How we use AI models: Zelyn's seven rules (Architecture of Record, slide 4)
| Zelyn's rule | What we build |
|---|---|
| Card selection: a model never chooses what she sees | Fixed rules choose her cards. No model is used. See the Card selection rules box. |
| Content drafting: allowed offline | A model may help draft a card offline. Every card is reviewed and approved before it is published, and the system refuses to show any text that is not approved. |
| Translation drafting: allowed offline, with an independent check | AI language models draft a translation offline, with the context of each text. Velosyti checks the Tamil, outside verifiers check Kannada and Hindi, and a different party back-translates, and a named bilingual clinician signs each language. Whoever drafts or translates a text never signs it off; the system records both names and refuses a match. |
| Voice in and voice out | Voice comes in Body 5, as Zelyn's roadmap places it, behind its own switch per market and language. The foundation leaves room for it now: speech to text fills the same inputs she types into, and text to speech reads out only approved wording. Until Body 5, if she sends a voice note, the system asks her to type. |
| Conversational replies: trial only | Not switched on in bodies 1 to 4. Only after Zelyn's seven requirements are met, behind a switch per market and per language. |
| Document extraction (clinician track) | In bodies 1 to 4, staff type lab values from the paper report, as Zelyn's roadmap says. When extraction is switched on, the model only reads values off the report; a clinician confirms every value before it is saved, and no interpretation text is produced. |
| Zelyn's data is never used to train any model (Zelyn's roadmap) | We use Microsoft's hosted models on Zelyn's own Azure account: Azure OpenAI, or Azure AI Language for the safety check. Microsoft's terms for Azure OpenAI say the text sent to it is not used to train any model (Microsoft's data privacy terms). We confirm the same term for Azure AI Language in week 1, when the safety-check service is chosen. We build no in-house model, and we do not train or fine-tune any model on Zelyn's data. No Zelyn data goes to any other company for training. Any future model provider, including for voice in Body 5, must sign the same no-training term before it is switched on. |
| Fallback and token cost | Wherever a model renders anything, an approved static version is shown instead if the model fails or times out. Token use is recorded per session and per woman, so cost can be watched and capped. |
Moving to another cloud provider: how we keep Zelyn free to leave Azure (Architecture of Record, slide 8)
Zelyn runs on Azure by choice. We build it so that leaving Azure is a migration, not a rewrite: the code, the data and the rules move as they are. Everything is in Zelyn's own GitHub organisation (from the first billed day; the code from the two free weeks moves there with its full history), every account and key is in Zelyn's name, and we use no component of our own that Zelyn cannot run without us.
| If Zelyn moves to another provider | Why this step is bounded |
|---|---|
| 1. Export the data | All data is in PostgreSQL, in one documented schema. Changes to it only ever add columns and tables, never rename or drop them, so every export reads the same way. Encrypted fields are exported with their wrapped keys. |
| 2. Set up PostgreSQL at the new provider | We use plain PostgreSQL with pgvector, both open source and offered by every major provider. Row-level security and every rule live in PostgreSQL itself, so they move with the data. |
| 3. Repoint the single entry point | The website, WhatsApp, the app and the clinic dashboard talk only to the engine's one entry point (the API). The screens change only the address they call. |
| 4. Set up file storage and keys | The code reaches file storage and the key store through one small connector each. Moving means writing a new connector for the new provider's storage and key store. No other code changes. |
| 5. Point the AI model connector at the new provider | The code calls AI models only through one model-agnostic interface, so a different model provider is a settings change and a new connector, followed by the same tests. |
| 6. Switch the web address and check | The four programs run as standard containers, so they start unchanged at the new provider. Move the web address (DNS), run the full test suite and the region checks, then switch over. |
| Azure-only choice we refuse | What we use instead |
|---|---|
| Cosmos DB | Azure Database for PostgreSQL, which is standard PostgreSQL that any provider runs. |
| Azure SQL, with Microsoft's own T-SQL language | PostgreSQL. (Azure Database for PostgreSQL is not Azure SQL.) |
| Code written for one AI model | The model-agnostic interface. No prompt or rule depends on one model. |
| Serverless functions that only run on Azure | Standard containers on Azure Container Apps, which run the same on any provider. |
| A sign-in service that works only on Azure | Sign-in through open standards (OpenID Connect and OAuth 2.0) and one sign-in connector, so the sign-in service can be changed without changing the screens or the engine. |
| Azure App Configuration for feature switches | Switches kept in Zelyn's own PostgreSQL, read through OpenFeature (see the Rollout tab). |
Some Azure services sit around the code, not inside it: the web firewall (Front Door), the key store (Key Vault), logs (Log Analytics) and security alerts (Defender). Every major provider offers the same kind of service. The code does not depend on them. The whole setup is written in Terraform in Zelyn's repository, so it is rewritten for the new provider line by line from a known list, rather than worked out from scratch.
How each woman's data is kept apart
Her data is protected by five separate barriers. They are independent, so if one fails, the other four still hold.
India: stored in Microsoft Azure's Central India data centre (Pune)
United States: stored in Microsoft Azure's Central US data centre
| Barrier | How it works | What it prevents |
|---|---|---|
| 1. By country | India and the US each have their own separate database. A woman's country is set when she signs up and the database itself refuses to change it later. Azure Policy blocks anyone from creating storage in any other country. Even the same phone number is scrambled differently in each country, so the two databases cannot be matched against each other. | Indian data ending up in the US, or the two being joined. |
| 2. By type of data | Who she is (identity), what she reported (health) and what she agreed to (consent) are kept in separate sections of the database. The health section only holds a random Zelyn ID. An automatic check stops any new code that tries to add a name or phone number to the health section. | A leak of health data revealing who it belongs to. |
| 3. By encryption key | Each woman's contact details, free-text messages and WhatsApp messages are locked with her own encryption key. Each clinic's notes and medicine entries are locked with that clinic's own key. The keys are kept in a hardware-protected key store (Azure Key Vault). | Her data being readable by anyone who gets a copy of the database without the key, for example a stolen disk or an exported table. (Backups are covered separately on the Deletion tab.) |
| 4. By person | The database itself checks who is asking. A doctor or nurse can only see a woman who has agreed to be their patient. A nurse only sees the parts a nurse needs. Zelyn's own staff and our developers have no routine access at all. | Staff browsing records they have no reason to see, or a programming mistake exposing other women's records. |
| 5. By purpose | Every request for data must state why it is needed, and her consent for that purpose is checked first. Employers and programme sponsors only ever see counts of 11 women or more. The AI safety check only sees her text with names and numbers removed. | Her data being used for something she did not agree to. |
Anonymous totals: switched off across borders in Phase 1
Sponsor reporting is outside Zelyn's Phase 1 scope, so no totals leave a country in Phase 1. A clinic sees counts for its own patients, in its own country. The rules below are the design for when cross-border totals are needed; they will be turned on only after privacy counsel or a qualified expert approves the method.
| Detail | Rule | Basis |
|---|---|---|
| Who is counted | Only women who have agreed to be included in anonymous reports. | Law India's DPDP Act requires consent for each specific purpose. Washington's health data law requires a separate consent before sharing. |
| Small groups | Any group of fewer than 11 women is left blank. | Velosyti's recommendation, following US government practice 11 is the threshold the US government's Medicare agency (CMS) uses when it publishes health statistics, and it is widely used in health research. Zelyn could choose a higher number for more safety, at the cost of more blank cells in small clinics. Not in Zelyn's roadmap as a number. Needed to make "aggregates only" safe, because small counts can reveal a person. |
| Questionnaire scores | Shown only as bands (none, mild, moderate, severe). Never the actual score. | Velosyti's recommendation An exact score combined with the clinic and other details could point to one woman in a small clinic. The bands are the ones published with the Menopause Rating Scale. |
| Free text | Never included. | Velosyti's recommendation Free text can contain names, places and other details that cannot be reliably removed by software. |
How we stop data theft and data leaks
The Data separation tab explains how her data is stored. This tab explains how we stop it being stolen or leaked, how we would notice if someone tried, and what happens if it still goes wrong. Some of this was already in Zelyn's Architecture of Record or in our design. Some of it is new on this page. The new items fit inside the existing estimate of 133 developer-days, within Azure set-up, staff sign-in, audit trail and security testing. They do not change the total.
| The risk | What we do | Status |
|---|---|---|
| 1. Someone breaks in from the internet | The database, the key store and file storage have no public internet address. Only Zelyn's own application, inside a private Azure network, can reach them. A web firewall (Azure Front Door with Web Application Firewall) sits in front of the website, the clinic dashboard and the WhatsApp entry point and blocks common attacks. Behind it, the engine's single entry point checks sign-in on every call, from every screen and channel alike, and sends back only the fields that screen needs. Each user and each address is limited in how many requests it can make. Code and libraries are scanned for known weaknesses on every change. An independent penetration test (outside experts trying to break in) is passed before the first real patient, and repeated every year. Three CERT-In empanelled testers will be asked to quote on one scope (API, web, dashboard, WhatsApp adapter and Flows, plus prompt-injection tests); Invitty Cognitive Solutions, Chennai, is one candidate, once its empanelment is confirmed. Zelyn picks and pays the tester directly. Not in Zelyn's roadmap. Needed for India. The rules in force today class medical records as sensitive data and require the security practices to be audited by an independent, government-approved auditor at least once a year (SPDI Rules 2011, Rule 8(4)). Counsel to confirm whether a penetration test alone meets that audit. From about 13 May 2027 India's data law also requires reasonable security safeguards for all personal data (DPDP Act 2023, s.8(5)). Rate limiting at the edge is in Zelyn's architecture (Zelyn's architecture deck, "Edge and gateway" layer). | New on this page web firewall Already planned private network, scans, penetration test |
| 2. A clinic or admin password is stolen | Every clinic staff member and every admin must log in with two steps: a password and a one-time code. Clinic sessions end after 15 minutes of no use and after 12 hours in any case. A login from a new device sends a notice to that user. Women log in with a one-time code sent to their phone or email. Control of the Azure account itself needs two-step login and a time-limited approval each time (Privileged Identity Management). Not in Zelyn's roadmap. Needed so a stolen staff password alone cannot open patient records. | New on this page two-step login for staff, session limits Already planned admin approval each time |
| 3. A staff account, or someone using it, reads many records | Every read is already written to the audit log. We now also watch that log. If one account opens far more records than usual (for example more than 50 patients in an hour), reads records at night, or has many failed logins, an alert goes at once to Zelyn's two named security owners. Above a hard limit (for example 200 records in an hour) the account is locked automatically until a person checks it. Microsoft Defender also watches the database and key store for unusual access. The clinic agrees the exact numbers with Zelyn before launch. Not in Zelyn's roadmap. Needed to detect a staff account misusing records, as the law expects. | New on this page alerts and automatic lock Already planned audit log of every read |
| 4. Records are downloaded in bulk | Clinic staff have no bulk download button in bodies 1 to 4. Only a clinic admin can export, and every export needs a second named person to approve it. The file carries the name of who exported it and when. It is sent as a link that works for 24 hours, and the export is logged. The full clinic export happens only when a clinic's contract ends. Not in Zelyn's roadmap. Needed to stop mass copying of health records, and to trace any leaked export. | New on this page |
| 5. A copy of the database or a backup is stolen | Everything is encrypted on disk. On top of that, her contact details, free text and WhatsApp messages are locked with her own key, kept in the hardware-protected key store. A stolen copy without the keys shows only random IDs and coded answers that cannot be linked to a person. Backups stay in the same country and are encrypted the same way. | Already planned |
| 6. A leak through our developers or tools | No one at Velosyti or Zelyn has standing access to live data. Developers work only with made-up test data. Passwords and keys live in the key store, never in code. Developer laptops have encrypted disks and screen locks, under the processor agreement. Our AI coding tools never see real data. | Already planned |
| 7. A leak through logs, messages or outside services | Application logs never contain names, phone numbers or health answers. A shared logging library removes them, and a test fails if one gets through. Alerts and reminders carry no health details. WhatsApp form answers are encrypted so Meta and the WhatsApp provider cannot read them. The AI safety check sees only her text with names and numbers removed. Each outside service signs terms on where it stores data, deletion, and a 72-hour breach notice. Not in Zelyn's roadmap. Needed so logs and alerts never carry her identity or health answers, and vendors report breaches fast enough for Zelyn to meet its deadlines. | New on this page log scrubbing Already planned the rest |
| 8. If a breach still happens | One incident record starts every legal clock: CERT-In within 6 hours, the DPDP Board without delay and a full report in 72 hours (from about May 2027), US states within 30 days, the FTC within 60 days. The audit log shows exactly whose records were read, so only the affected women are told, in plain words, in their language. Keys can be switched off at once to stop further reading. Not in Zelyn's roadmap. Needed because CERT-In requires incident reports within 6 hours, and Zelyn already holds US residents' data. | Already planned clocks |
Name two people who receive security alerts, day and night, and who can lock an account. Agree the alert limits with the partner clinic. Register a CERT-In point of contact before launch. Book the penetration test early, because good testers are booked weeks ahead.
Not in Zelyn's roadmap. Needed because CERT-In requires a named point of contact.
What happens when a woman asks for her data to be deleted
Each step below has a time. Some times are set by law, some by the limits of Microsoft's service, and some are our own recommendation, which Zelyn can change. Deletion has two steps. First a soft delete: her data is hidden and no longer used, but can still be undone. Then a hard delete: her data is permanently removed from the live database. Copies in the database backups expire on their own, within 14 days in our recommended setting. Deletion runs as a fixed sequence of steps, each of which leaves a record that it was done. It is also tested automatically: every time a developer changes the code, a made-up test person with marked sample details is signed up, given a clinic plan, and then deleted. If any of her marked details can still be found anywhere afterwards, the change is rejected.
Click any step, or any item in "What is kept", to see where its number or rule comes from.
Not in Zelyn's roadmap. Needed because the law requires Zelyn to keep these after deletion, and an opted-out woman must never be messaged again.
We send her a message saying what was deleted, what is kept and why, how to delete the chat from her own phone, and how to complain if she is not satisfied. Zelyn cannot check inside outside companies such as Meta, so we tell her they have been instructed to delete.
Not in Zelyn's roadmap. Needed to tell her the outcome and how to complain.
The clinic receives its patients' records in a standard medical format (FHIR). The clinic's encryption key is then destroyed, so its notes can no longer be read in Zelyn's live system. Backup copies expire within the 14-day backup window. Each woman's own Zelyn programme record stays, under her own consent.
Laws and rules that shape how we build
Status as of 27 October 2026. In India, the clinician pilot will run under the current law (the IT Act and its 2011 data rules). The newer DPDP data protection law becomes binding around 13 May 2027, so we are building to the newer law now to avoid rebuilding later. Click a rule name to open the official source.
| Rule | When it applies | What it means for how we build |
|---|
How every change is built and checked
Every change to the software, however small, goes through the same eight steps before it reaches a real woman. Click a step to read what happens and what must be true before it can move on. Because each step leaves a record, these steps also produce the evidence that Zelyn will need to show regulators, clinics and employers.
Meta's review of each message template (up to 24 hours each, by Meta's own page; Zelyn's account is already verified). Doctors reviewing the medical content. Native speakers reviewing translations. Lawyers' opinions. Our architect reading every line of the code that handles login, consent and deletion. The independent security test. Decisions that only Zelyn can make.
Switching on a new feature step by step
Only one version of Zelyn is live at any time. Every woman uses the same software. A new feature goes live inside it but switched off, behind a "feature switch". The switch decides who sees the feature. Turning it on for more women, or off again, is a setting change, not a new release. In bodies 1 to 4, Zelyn runs on WhatsApp and the web, with no phone app, so no woman is ever stuck on an old version.
| Question | How it works | Basis |
|---|---|---|
| Who sees a new feature first? | Internal testers, then the pilot clinic, then everyone. Each step is a setting change. | Velosyti's recommendation |
| Can different women see different features? | Yes. A switch can be on for one region (India or US), for one clinic, or for a named group such as internal testers or the pilot clinic. Features a clinic is entitled to use are handled the same way, through the entitlement record that is already in the estimate. | Zelyn requirement entitlements Velosyti's recommendation the rest |
| What if she is part-way through a conversation? | The switch is read once, when she starts a flow such as an intake. A change made while she is in the middle of that flow applies only from her next flow. | Velosyti's recommendation |
| What if the feature changes the database? | New fields are added next to the old ones. Old fields are never removed or renamed, because Zelyn's Architecture of Record asks for an additive-only schema; once the feature has reached every woman, the code simply stops using them. The old and new behaviour both work on the same data, so the switch can be turned off safely at any point. | Velosyti's recommendation |
| New WhatsApp messages | Meta must approve each new message template before its switch is turned on for anyone. | Platform Meta template approval |
| What goes to everyone at once | Warning-sign rules, escalation to a doctor, consent and deletion. They go to every woman at the same time, after clinical sign-off, because a safety rule cannot protect only some women. | Velosyti's recommendation |
| What is recorded | Every switch change goes into the audit log: who changed it, when, and from what to what. Each session also records which version of the medical content and of the AI instructions she saw, so any later question about what she was told can be answered. | Velosyti's recommendation |
| How do we undo a feature? | Turn its switch off. Within about a minute, no woman sees it. No new release is needed. | Velosyti's recommendation |
The switches are kept in Zelyn's own PostgreSQL database in each region. The code reads them through OpenFeature, an open standard for feature switches that no single company owns. We do not use Azure App Configuration, because it only runs on Azure. The US and India each keep their own switches in their own database, so nothing crosses borders. If Zelyn later wants a dedicated switch tool, such as Unleash or Flagsmith (both open source), only one small connector changes. A simple admin screen lets named Zelyn staff turn switches on and off.
This is already in the estimate as "Switches and entitlement record", 2 days. It does not change the total.
Our plan: the first milestone on 21 December 2026, bodies 1 to 4 ready for the pilot on 24 February 2027
The chart below breaks bodies 1 to 4 into the 61 tasks behind our estimate, with who does each one and what it waits for. Each task is estimated for our two developers working full time (133 developer-days in all). Screens are built from mockups we make and Zelyn approves. Work starts on Monday 2 November 2026. Developers work Monday to Friday and keep Tamil Nadu government holidays; five fall on weekdays in this plan: Christmas, New Year's Day, Pongal, Thaipoosam and Republic Day. Dashed amber bars are paperwork and approvals handled by Zelyn or outside parties. Green bars are gates that must be passed before moving on. A red outline marks the critical chain: a slip in any of those tasks moves the pilot date by the same amount. The estimates will be re-confirmed at the end of week 2, after we walk through the current code with its developer, and again after the first three development iterations.
The plan follows Zelyn's roadmap. Body 1, the shared foundation, starts first. Body 2, WhatsApp India direct version, is Phase 1 Part 1. The first milestone also needs the first piece of Body 3 and a basic clinician view. Phase 1 Part 2 brings the rest of Body 3 (WhatsApp India, clinician version) and Body 4 (Zelyn for Clinicians: the clinic dashboard). Bodies 3 and 4 are built side by side from week 8, one developer on each, as Zelyn's roadmap asks: Body 4 is "built alongside the clinician version". In week 8 we first agree the fields Body 3 collects, which the dashboard shows. Both depend on Zelyn's clinic inputs due in week 6. Body 5, the expanded journey, and Body 6, the mobile app (US first), are also Phase 1 Part 2: direction only, not in this estimate.
Readiness decisions. Written confirmation from the WhatsApp service provider on the proposed workflows; the two regulatory opinions requested; the clinic responsibility split agreed; the MRS licence requested; the exact AI service checked; the backup setting chosen; accounts in Zelyn's name. The scope is locked here.
The first milestone accepted. The first milestone works on test data and passes its acceptance scenarios: a woman completes either intake on a real phone, a warning sign routes correctly, both intakes attach to one record, the clinician view shows her answers, consent and deletion behave. Not a promise that real-patient care is ready.
Bodies 1 to 4 ready for the pilot. Security test passed and fixes re-tested; clinical sign-off per language; regulatory opinions in hand; translations approved; restore and deletion-replay drills done; on-call and escalation in place.
Not in Zelyn's roadmap. Needed because Indian security rules and Zelyn's own copy approval must be done before real patients.
The clinician pilot starts. One clinic, an approved cohort, with new features switched on group by group. The pilot starts only when Gate 2 is passed. The outside items with no official time, listed below, can move it later. Clinic training and onboarding run alongside the last weeks of build.
Outside approvals: the time each owner officially states
Where the owner publishes no time, we say so and start the item in week 1. Checked on the owners' pages on 28 October 2026.
| Approval | Official time, from the owner | When in our plan | Source |
|---|---|---|---|
| WhatsApp business verification | Already done: Zelyn's roadmap says the account is verified. Meta's time is up to 14 business days. | Done | Owner's page |
| WhatsApp message templates | Up to 24 hours for each decision; an appeal is decided within 24 hours. | Weeks 4 to 5, as each template is drafted | Owner's page |
| Number registered again with India storage (only if it was not) | Typically under 5 minutes, with under 5 minutes of downtime. | Week 2 | Owner's page |
| WhatsApp message limit | 2,000 a day at once after verification. Each higher step within 6 hours, once half the current limit is used in 7 days. | Already in place | Owner's page |
| Publishing WhatsApp Flows | No separate review time. Needs a verified business (done) and good message quality. | Weeks 5 to 6 | Owner's page |
| WhatsApp display name | No official time. | Week 1 | Owner's page |
| WhatsApp service provider's written confirmation | No official time. | Requested in week 1 | None published |
| Azure database capacity increase | 24 to 48 hours. | Week 1, if needed | Owner's page |
| Azure OpenAI access | No form needed for standard models. Quota increases: no official time. Switching off abuse monitoring needs a form (next row). | Week 1 | Owner's page |
| Microsoft approval to switch off abuse monitoring for the AI safety check | No official time. A form is needed for this change. | Applied for in week 1; needed by Gate 2. Until then, no real free text reaches the model. | Owner's page |
| Menopause Rating Scale licence (ZEG Berlin) | No official time. Commercial use needs a fee; requests only through ZEG's form. | Requested in week 1; needed by 18 December 2026, before scale scoring starts | Owner's page |
| Independent security test (CERT-In empanelled tester) | No official time to engage or run. The tester reports to CERT-In within 5 days of finishing. | Booked in weeks 1 to 2; test 12 to 19 February 2027, once Bodies 3 and 4 are finished | Owner's page |
| Legal opinions and the privacy notice (Zelyn's lawyer) | No official time. | Requested in week 1; needed by Gate 2 | None published |
| CDSCO, only if a part is found to be a medical device | Licence: Class A within 45 days of applying (rule 20). Class B: site audit within 90 days, report within 30, licence within 20 (rule 20). Class C and D: site inspection within 60 days of applying, licence within 45 days of the inspection report (rules 23 and 25). No time for an opinion on whether it is a device. | Only if counsel says it is a device | Owner's page |
| Clinic agreement | Between Zelyn and the clinic; no official time. | Needed by week 6 | None published |
| Screen mockups (we make them, Zelyn approves) | No official time. We assume 5 working days for set 1, and two weeks for set 2 because it falls over Christmas and New Year, each including one round of changes. | Set 1 (WhatsApp Flows, clinic form, clinic list) sent by 20 November, approved by 27 November; set 2 (clinic dashboard) sent by 18 December, approved by 5 January 2027 | None published |
Why some work runs side by side
| Work that overlaps | Why it can overlap |
|---|---|
| Body 1 and Body 2 (from week 3) | Body 2 needs only "the foundation's record and identifiers" (Zelyn's roadmap). Once those exist in week 3, Dev 2 starts Body 2 on 20 November while Dev 1 finishes the parts of Body 1 the first milestone needs. |
| End of Body 2 and the first piece of Body 3 (weeks 6 to 7) | Both are needed for the first milestone on 21 December. Their screens are built from the first set of mockups, which we send Zelyn by 20 November for approval by 27 November. Real-phone testing of Body 2 (17 to 21 December) needs both developers, Meta's approval of the message templates, and the basic clinician view. Body 3 depends on "the messaging layer built for the direct version" (Zelyn's roadmap), which is ready by then. |
| Body 3 and Body 4 (from weeks 8 to 9) | Zelyn's roadmap asks for Body 4 to be "built alongside the clinician version". Dev 1 takes Body 3 from 21 December, Dev 2 takes Body 4 from 28 December, after the rest of the consent and access work. They first agree the fields Body 3 collects, which the dashboard shows. The dashboard screens are built from the second set of mockups, which we send Zelyn by 18 December for approval by 5 January. |
| Kannada, Tamil and Hindi (weeks 11 to 15) | About 3.5 developer-days of work. Translation management is built in week 11; each language is loaded once its translation is approved. We assume approvals by 5, 12 and 20 January; they are not on the critical chain. |
| Hardening and the outside security test (weeks 16 to 17) | The security test runs from 12 to 19 February, once Bodies 3 and 4 are built and tested, so it tests the finished system. Both developers run the conformance check across all screens during the test, then fix and re-test what it finds. |
| The pilot and the end of hardening (week 17) | Clinic training and onboarding run alongside the last weeks of build. Real patients start only after Gate 2, on 24 February at the earliest. |
The critical chain runs through both developers' work from week 1 to the pilot. A slip in any task with a red outline moves Gate 2 by the same amount. The estimate has no separate days for fixing what the outside security test finds; fixes sit inside Body 1's integration and security testing, about two working days for both developers. If the tester finds something large, Gate 2 moves. Personal leave is not in the plan.
If an approval or a vendor is delayed, we can still start the pilot with: one language and one clinic; the Menopause Rating Scale only, without the second (Greene) questionnaire; the family-member channel limited to reminders; and moving off the WhatsApp service provider left until after the pilot.
Decisions that Zelyn needs to make
The first three set the build order and are needed before the build starts. The rest are needed by the end of Gate 0 (week 2). Each decision is tagged: a change to something Zelyn specified, Velosyti's recommendation, or a dependency on an outside party.
| Decision | Why it matters | Velosyti's recommendation |
|---|
Questions for Zelyn's lawyer
These are legal judgements. We will build to whatever the lawyer advises.
| Who is responsible for clinic patients' data | Under India's DPDP Act, is Zelyn the responsible party or only acting on the clinic's behalf? Not in Zelyn's roadmap. Needed because these are legal points the build depends on. |
| Is any part a medical device? | Does the card-selection logic, or the flow where a doctor picks options and signs a plan, count as a medical device under India's 2026 software guidance? And is the US product's wording safely within the FDA's "general wellness" category? Not in Zelyn's roadmap. Needed because these are legal points the build depends on. |
| Is the doctor's signed plan a prescription? | If it lists medicines, Indian drug and telemedicine rules may treat it as a prescription, which needs a legally valid electronic signature under the IT Act. Not in Zelyn's roadmap. Needed to know whether the doctor's sign-off must be a legal e-signature. |
| Keeping logs versus deleting data | The DPDP Rules ask for security logs to be kept for one year, while the Act asks for data to be deleted when consent is withdrawn. How should the two be balanced? Is it lawful to keep consent history and access logs after deletion? Not in Zelyn's roadmap. Needed because these are legal points the build depends on. |
| Family members using her account | What checks are needed when a family member operates the account for her? What notice does the family member themselves need? Can a red-flag alert be passed to the clinic without fresh consent, as a medical emergency? Not in Zelyn's roadmap. Needed because these are legal points the build depends on. |
| US government access to Indian data | Microsoft is a US company and can be ordered by a US court to hand over data, even if it is stored in India (the US CLOUD Act). How should the privacy notice explain this, and what is Zelyn's stated response? |
| Red flags outside clinic hours | What is Zelyn's responsibility if a serious symptom is reported at night and no doctor responds? |
| Meta's rule on health information | Meta's WhatsApp terms limit sending health information. Does Zelyn's use meet that rule in India under the SPDI Rules and the DPDP Act, and how big is the risk that Meta suspends a healthcare account? |
| Mood and anxiety questions | India's Mental Healthcare Act 2017 (section 23) protects the confidentiality of mental-health information. Does it reach Zelyn's mood and anxiety content? |
| Health claims in the wording | Is the India wording safe under the Drugs and Magic Remedies Act, and the US wording under the FTC's Health Products Compliance Guidance? |
| Clinic records versus her deletion request | Clinics must keep patient records for a set time (3 years under the 2002 medical council rules, plus state rules). When she asks for deletion, which records must the clinic still keep, and who decides a legal hold? |
| Insurance | What professional indemnity and cyber insurance should a US company running a clinical workflow in India carry? |
Questions for Zelyn
Seven points are not settled by Zelyn's roadmap of 21 October or the Architecture of Record v2, or are settled differently in the two documents. Each comes with Velosyti's recommendation, so a yes is enough to move on.
| Question | Why we ask | Velosyti's recommendation |
|---|---|---|
| 1. Can a woman be linked to more than one clinic at the same time? | The record keeps clinic patient numbers scoped to each clinic, but does not say whether two links can be active at once. | Yes. Each clinic link has its own consent and care relationship, and she can end any link at any time. |
| 2. When she moves to a new clinic, what happens to the data the old clinic entered? | Zelyn's system holds the old clinic's signed plan, medicines, lab values and scale scores, but the documents do not say whose this data is or whether it can move. | It stays with the old clinic, subject to the decision on who is responsible for clinic patients' data. The old clinic loses access when she leaves. |
| 3. When a warning sign appears for a clinic's patient, how fast must the clinic act? | Zelyn's roadmap (body 4) says: flags at thresholds each clinic sets, shipped empty; alerts to the doctor never carry patient details and point to the dashboard. No response time is set. | The clinic sees the flag on its dashboard the next working day. Anything faster is written into the clinic contract. |
| 4. How does the Day 7 and Day 21 summary reach her on WhatsApp? | The roadmap names the summary but not its format on WhatsApp. | A neutral message with a link that opens the summary after a one-time code, or a WhatsApp Flow screen. No images or PDFs: they are saved to the phone and can be forwarded. |
| 5. Was Zelyn's WhatsApp number registered with Meta's India local storage? | The roadmap says the account is already verified. The storage region is chosen when the number is registered. It can be changed later by deregistering and re-registering the number (about five minutes), but messages sent in between are not covered. | If not, the number is registered again with India storage before any real message is sent, planned with Zelyn to keep the break short. Not in Zelyn's roadmap. Needed to keep WhatsApp data in India; Meta sets this only at registration. |
| 6. Which identifier is the "spine" of her record: her verified phone number, or her WhatsApp user ID? | The Architecture of Record (slide 5) says the verified phone is the spine. The roadmap (body 1) says the WhatsApp user ID is a first-class identifier, because a woman using a WhatsApp username may never share her number. The two documents differ. | We follow the roadmap: the record is keyed by a Zelyn-generated ID, and the WhatsApp user ID, phone, email and clinic patient number are all linked identifiers of equal standing. We ask Zelyn to confirm. |
| 7. Assisted access: who may operate her account, and what may they see and do? | The Architecture of Record (slide 6, footnote) names assisted access as a new variant: another person may operate the account. The roadmap adds that she consents to this, conversations included, and that the record notes who entered each answer, including a health worker or a family member on her behalf. Neither document says who the other person may be, what they may see, whether she can withdraw it, or whether it is needed in Phase 1 Part 1. | We build only what the two documents state: her consent to it, and the record of who entered each answer. Everything else waits for Zelyn's answer. |
Already settled by Zelyn's documents, so we build to them
| Point | Where Zelyn says it |
|---|---|
| A sponsor and a referring clinic are separate. Sponsors see aggregates only, never an individual. At enrolment, the referral code in her link or QR code sets a sponsor field on her record, which is never changed afterwards. It decides the branding she sees, the consent wording she is shown, and which totals report counts her. In Phase 1 the partners are clinics, so the field, the branding and the consent wording are built; the totals report stays off, as sponsor reporting is outside Phase 1. | Architecture of Record, slide 5: sponsor identifier set at enrolment. Roadmap, body 1: referral source codes for each clinic and partner; requirements: sponsors see aggregates only. |
| When she links a new clinic, her own Zelyn history goes to it only with her explicit consent for that clinic. | Roadmap, architecture: handshakes move her record between channels with consent; sharing with a clinic needs its own explicit consent. |
| A warning sign goes straight to the urgent-care response through the fixed rules, never through a clinic. | Roadmap, first milestone: red flags routed to the urgent-care response by the deterministic layer. |
| WhatsApp messages are stored in India, using Meta's India local storage. Meta may still process them abroad for up to 60 minutes (Meta: Cloud API local storage). | Roadmap, requirements that apply to everything: India data, backups and logs stay in India. |
| What we promise her about her typed messages. | Covered by the decision on who reviews worrying free text, on the Decisions tab. |
Team and experience
Zelyn asked who leads the specification discussions, who will build, and what we have built before in WhatsApp, health data, localisation and hosting. Here is the answer, including what Velosyti has not done before.
7.5 years' experience. Leads the specification discussions and joins the spec meetings. Full-time developer on this engagement. Built LawBee (phone-OTP login on AWS Cognito, permission rules tested end to end with separate test users), Testify, TryOn (consent records, scheduled deletion of customer files, encrypted storage), the SDAT CM Trophy 2025 web and mobile app for the Tamil Nadu sports department (official login, event schedule, medal tally), the Tea Boy ordering app (handed over to the client), and the department-wise demand module in ECS.
3.5 years' experience. Full-time developer on this engagement. Built the Tamil Nadu e-Gazette portal: audit log recording old and new values, user, IP address and browser for every change; Tamil translations; OTP login; role-based logins for officials.
Merlin may take two to three weeks' leave during the engagement. Siva and Dharun cover that period. Both have read access and attend the weekly demo from week 1, so they can step in without a hand-over period. Leave is kept out of milestone weeks. Siva: ECS cooperative banking, Shoppyti WhatsApp, Valarchi. Dharun: AtoZ, ePass, Right-of-Way system.
19 years' experience. Delivers the architecture work for every body of work: the API contract and data model changes, the identity design, the decision records, the line-by-line review of login, consent, audit, deletion and region code, and the release approval at each gate. Also briefs the UI/UX consultant, reviews the designs, and runs the weekly demo and plan.
Engaged by Velosyti. Designs the WhatsApp Flow screens and message layout for body 2, and the clinic form and dashboard for bodies 3 and 4.
What we have built that answers Zelyn's questions
| Project | What it is | What it proves for Zelyn |
|---|---|---|
| Tamil Nadu e-Pass | The state's public pass system, run for about two and a half years from May 2020. About 35 million passes issued: 15 million (1.5 crore) reviewed by officials, 20 million (2 crore) approved automatically by rules. Peak of 600,000 (6 lakh) passes in one day in 2021 when passes for professional workers opened. | A public government system holding identity data at scale, with no security incident or data breach reported in its operation. Controls: OTP and CAPTCHA with rate limits, web application firewall, encryption with managed keys, every action audited with IP address, no direct database access, rules-based automatic approval with human review for the rest. |
| ECS cooperative banking | Live banking system for Tamil Nadu cooperative societies, run from the state data centre. | Regulated production: point-in-time database restore, production reachable only through VPN, maker-checker approval for sensitive changes. |
| Valarchi | AI-assisted exam marking for Tamil Nadu schools, handling children's data under India's DPDP Act. | Consent, row-level security in PostgreSQL with live tests, append-only audit, no support access to personal data by default (break-glass only, audited), retention with human-approved purge, Terraform. |
| Shoppyti | Our own seller and buyer platform on WhatsApp and Instagram, on the Meta Cloud API. | Signed webhooks, OTP templates, fallback to approved templates when the 24-hour window closes, Meta error handling, retries with backoff, scheduled jobs. Shoppyti tracks orders and shipments (Shiprocket). Two things Zelyn needs that Shoppyti did not build: tracking whether each WhatsApp message was delivered and read, and keyword opt-outs such as STOP. Both are in this plan. |
| AtoZ and e-Gazette | A delivery and services platform, and the state Gazette portal. | Audit logs with before and after values, role-based access, OTP login. A translation pipeline where the build fails if a Tamil string is missing or a placeholder differs, and new Tamil is marked unchecked until a Tamil speaker reads it. |
We have not built a clinical system before; our consent, audit and access-control work comes from education, banking and government systems. We have hosted on Azure before (the older cloudapp.net setup), but for the last 6 to 7 years our production work has run on AWS and the Tamil Nadu state data centre. So today's Azure services are a refresh for us, not new ground; this is one reason the design is cloud-neutral and the Azure-specific items are a short list verified in week 1. Our localisation work is Tamil only; Kannada and Hindi will use the same pipeline with a named clinical reviewer per language added. Shoppyti did not track whether each WhatsApp message was delivered and read, or handle STOP opt-outs; this plan does.
Monthly hosting cost, from 1,000 to 1 million women
India costs about $1,000 a month in Azure hosting at 1,000 women and about $27,700 at 1 million. Meta's WhatsApp charges add about the same again at large scale. Every Azure price comes from Microsoft's own price list (the Azure Retail Prices API), fetched on 27 October 2026, at pay-as-you-go list rates with no discounts. WhatsApp charges come from Meta's rate card effective 1 October 2026. The usage behind the numbers is our assumption until Zelyn sends its usage profile; we then re-run the same model within 5 working days.
| Active women a month | India: Azure | India: WhatsApp (Meta) | India: total | US: Azure (sizing only) | Government, India: hosting | Government: WhatsApp (Meta) |
|---|---|---|---|---|---|---|
| 1,000 | $1,015 | $28 | $1,043 | $951 | $811 | $28 |
| 5,000 | $1,077 | $140 | $1,217 | $1,011 | $867 | $140 |
| 10,000 | $1,157 | $280 | $1,437 | $1,090 | $938 | $280 |
| 20,000 | $1,532 | $560 | $2,092 | $1,427 | $1,080 | $560 |
| 40,000 | $1,878 | $1,120 | $2,998 | $1,767 | $1,412 | $1,120 |
| 60,000 | $2,207 | $1,680 | $3,887 | $2,090 | $1,706 | $1,680 |
| 80,000 | $2,579 | $2,240 | $4,819 | $2,453 | $2,072 | $2,240 |
| 100,000 | $3,273 | $2,800 | $6,073 | $3,071 | $2,514 | $2,800 |
| 250,000 | $6,571 | $7,000 | $13,571 | $6,181 | $5,197 | $7,000 |
| 500,000 | $14,181 | $14,000 | $28,181 | $13,142 | $10,777 | $14,000 |
| 1,000,000 | $27,656 | $28,000 | $55,656 | $25,602 | $21,045 | $28,000 |
US dollars a month. US: web and app only, no WhatsApp; sizing only, as the roadmap asks. Government: an Indian government programme, sized in plain servers, memory and disk so it can run on government infrastructure; priced at Azure Central India rates only as a reference. A test copy of the system in India adds about $165 a month. Not included: an Azure support plan, the WhatsApp provider's fees, penetration tests, US email or SMS, taxes.
Below about 20,000 women, the web firewall ($330), the private network link, the always-on servers and the database come to about $1,000 a month in each country, whatever the usage.
From 1 October 2026, replies inside the 24-hour window cost $0.0014 each, the same as template messages. At 20 sent messages a month that is $0.028 per woman, about as much as all the Azure hosting at large scale.
The largest Azure lines are database compute ($8,760), voice in ($6,667), voice out ($3,600), AI safety check ($3,520), database storage ($1,610). Voice is sized only; batch transcription would cut the voice-in cost by about 80%.
Sized for 12 months of data at each level. Audit records are about three quarters of it; moving audit records older than a year to archive storage would lower it.
Usage assumptions
| Active woman | Used Zelyn at least once that month. 25% use it on a given day; the busiest hour carries 15% of the day; a session is about 5 minutes. |
| About 40 messages per woman per month, 20 in and 20 out; 6 of the 20 sent are paid templates (reminders, Day 7, Day 21). | |
| Server work | About 200 server calls per woman per month. One vCPU serves 25 requests a second; always-on floor of 4 vCPU. |
| Data | About 50 KB of answers and 150 KB of audit records per woman per month. Message text kept 90 days. Logs kept 180 days in India, 90 days in the US. |
| Database | A standby copy in a second zone from 20,000 women; a read copy from 500,000. Backups kept 14 days, with a copy in the paired region inside the same country. |
| AI safety check | 10 free-text messages per woman per month, about 500 tokens each, gpt-4.1-mini inside the country (South India for India). |
| Voice (sizing only) | 20% of women send 4 voice notes a month of 30 seconds, and hear 4 approved replies read aloud. |
| Bandwidth and uptime | About 5 MB per woman per month. 99.9% uptime; at most 5 minutes of data lost; back up within 4 hours. |
Every price, why it is used, and where it comes from
Each price links to Microsoft's own record for that exact price line, filtered to one meter and one region, or to Meta's rate card. Each item name links to Azure's public pricing page. All 103 links were opened and checked against the prices shown.
| Item | Why it is used, and how it is counted | Prices |
|---|---|---|
| App servers (Container Apps) | Runs Zelyn's four programs (API, website and clinic dashboard, background worker, WhatsApp adapter) as portable containers, which the Architecture of Record requires instead of vendor-locked serverless. Average vCPU in the month x 730 hours x (vCPU rate + 2 GiB x memory rate) + requests. Compared with dedicated machines (at least two 4-vCPU machines sized to the peak); the cheaper is used. Pay-per-second won at every level. | pay per second: India $0.000024 per vCPU-second · US $0.000024 per vCPU-second pay per second: India $0.000003 per GiB-second · US $0.000003 per GiB-second pay per second: India $0.40 per million requests · US $0.40 per million requests dedicated (compared): India $0.057077 per vCPU-hour · US $0.057077 per vCPU-hour dedicated (compared): India $0.004978 per GiB-hour · US $0.004978 per GiB-hour dedicated (compared): India $0.10 per hour · US $0.10 per hour |
| Private endpoint (app network) | Gives the app environment a private address only Front Door can reach, so the app has no public internet address. 730 hours a month, one per country. | India $0.14 per hour · US $0.10 per hour |
| Database compute | Azure Database for PostgreSQL is Zelyn's system of record (Architecture of Record). General Purpose Ddsv5 gives steady CPU with 4 GiB per vCore. vCores x copies x 730 hours. Copies: 1 below 20,000 women; 2 (standby in a second zone) from 20,000; 3 (plus a read copy) from 500,000. | India $0.125 per vCore-hour · US $0.101 per vCore-hour |
| Database storage | The disk the database lives on, sized for 12 months of data. Provisioned GiB (Azure's fixed sizes: 32, 64, 128 ... GiB) x copies x rate. | India $0.131 per GB a month · US $0.13 per GB a month |
| Database backups (14 days, second region in-country) | 14 days of point-in-time backups, with a copy in the paired region inside the same country (India: South India; US: East US 2). Microsoft's rule: ((2 x local backup size) - provisioned storage) x rate, where the local backup set for 14 days = 1.3 x database size. Zero while it fits in the free allowance. (Microsoft's backup billing rule) | India $0.095 per GB a month · US $0.108 per GB a month |
| File storage (Blob) | Summaries, the write-once audit anchor and the deletion ledger kept outside the database; geo-redundant to the paired region in the same country. 100 KB per woman per month x 12 months x rate + 10 writes per woman per month. | storage: India $0.04 per GB a month · US $0.0368 per GB a month writes: India $0.11 per 10,000 writes · US $0.10 per 10,000 writes |
| Logs (Log Analytics) | Application logs with personal data scrubbed, kept 180 days in India (CERT-In) and 90 days in the US; drive the alerts on unusual reads. 1 KB per server call; first 5 GB a month free, then the ingestion rate; storage beyond 31 days at the retention rate. | ingestion: first 5 GB: India free · US free ingestion: above 5 GB: India $3.22 per GB · US $2.76 per GB kept beyond 31 days: India $0.14 per GB a month · US $0.12 per GB a month |
| Key Vault (HSM keys) | Holds the master keys in hardware (HSM) that wrap each woman's own key, so a stolen database copy is unreadable. 10 HSM keys a month + 20 key operations per woman per month. | HSM key: India $1.00 per key a month · US $1.00 per key a month key operations: India $0.03 per 10,000 operations · US $0.03 per 10,000 operations |
| Front Door with firewall | The web application firewall at the front of the website, clinic dashboard and WhatsApp entry point. Premium is needed to reach the app over a private link. Base fee + 200 requests per woman per month (tiered) + 5 MB per woman per month sent to users (tiered). | base fee: India $330.00 per month · US $330.00 per month requests: first 250,000,000 requests: India $0.0168 per 10,000 requests · US $0.015 per 10,000 requests requests: 250,000,000 to 1,000,000,000 requests: India $0.01572 per 10,000 requests · US $0.0141 per 10,000 requests requests: 1,000,000,000 to 5,000,000,000 requests: India $0.014748 per 10,000 requests · US $0.01329 per 10,000 requests requests: above 5,000,000,000 requests: India $0.013873 per 10,000 requests · US $0.012561 per 10,000 requests data to users: first 10,000 GB: India $0.109 per GB · US $0.0825 per GB data to users: 10,000 to 50,000 GB: India $0.084998 per GB · US $0.065002 per GB data to users: 50,000 to 150,000 GB: India $0.082001 per GB · US $0.056001 per GB data to users: 150,000 to 500,000 GB: India $0.02858 per GB · US $0.014083 per GB data to users: 500,000 to 1,000,000 GB: India $0.010104 per GB · US $0.00693 per GB data to users: 1,000,000 to 5,000,000 GB: India $0.009102 per GB · US $0.005742 per GB data to users: above 5,000,000 GB: India $0.008001 per GB · US $0.005404 per GB |
| Internet egress (to Meta and others) | Data the servers send out directly, mainly calls to Meta's WhatsApp API. 0.5 MB per woman per month; first 100 GB a month free, then tiered. | first 100 GB: India free · US free 100 to 10,100 GB: India $0.11 per GB · US $0.08 per GB 10,100 to 50,100 GB: India $0.075 per GB · US $0.065 per GB 50,100 to 150,100 GB: India $0.07 per GB · US $0.06 per GB above 150,100 GB: India $0.06 per GB · US $0.04 per GB |
| Security monitoring (Defender) | Microsoft Defender alerts on the database, storage, key vault and subscription, and scans container images for known flaws. Per server, per account, per vault and per subscription each month, + 20 images scanned a month. | database server: India $15.00 per server a month · US $15.00 per server a month storage account: India $0.0134 per account-hour · US $0.0134 per account-hour key vault: India $0.00034 per vault-hour · US $0.00034 per vault-hour subscription: India $0.0069 per subscription-hour · US $0.0069 per subscription-hour image scan: India $0.29 per image · US $0.29 per image |
| Container registry | Stores the app's container images in the same country. Standard tier, per day x 30.4. | India $0.6666 per day · US $0.6666 per day |
| AI safety check (gpt-4.1-mini) | Screens her free-text messages for warning signs, as the roadmap asks. Deployed in a single region inside the country (South India is the only Indian region offering it). 10 messages per woman per month x 400 input and 100 output tokens. | input: India $0.00044 per 1,000 tokens · US $0.00044 per 1,000 tokens output: India $0.00176 per 1,000 tokens · US $0.00176 per 1,000 tokens |
| Voice in (speech to text) | Sizing only, as the roadmap asks: turns her voice notes into text. 20% of women x 4 notes x 30 seconds, at the standard (real-time) rate. Batch rate ($0.18 an hour) would cut this by about 80%. | India $1.00 per hour of audio · US $1.00 per hour of audio |
| Voice out (text to speech) | Sizing only: reads approved wording aloud to women who use voice. 20% of women x 4 replies x 300 characters. | India $15.00 per million characters · US $15.00 per million characters |
| WhatsApp messages (Meta) | Meta's charge for each message Zelyn sends in India. From 1 October 2026 replies inside the 24-hour window are charged too. 6 template messages + 14 replies per woman per month. Utility volume discounts start above 25 million a month, beyond these levels. | template (utility): India $0.0014 per message · US not used reply in 24-hour window (service): India $0.0014 per message · US not used |
| Test copy (India) | A small copy of the system with made-up data for testing changes before they go live. Burstable B2s database + 32 GiB storage + a small app floor + 10 HSM keys; the same at every level. | small database: India $0.098 per hour · US – |
Government build: server and disk prices (Azure Central India, reference only)
Government build: plain Linux servers (Dsv5) and SSD disks, priced at Azure Central India as a reference. App servers 4 vCPU each (at least two); database main + standby on one server each (+ a read copy from 500,000); two small servers for firewall and load balancer; one log server. Backups and files use the Blob rate above; AI and voice use the India rates above. We do not have the government's own rates: NIC, MeghRaj or a state data centre will price differently, so the server list is firm and the dollar figure is a guide. It is also lower than the India figure partly because it leaves out the managed extras (Front Door firewall, Key Vault HSM keys, Defender, container registry) and the staff time to run the servers: patching, backups and on-call.
The full breakup of each item at each level, for India, the US and the government build, is in Annexure I of the proposal and in the workbook (Zelyn-Infra-Projections-2026-10-27.xlsx).
Cost calculator: move the assumptions, see the monthly cost
Every slider is one of our usage assumptions. Move it and the monthly cost in India recalculates at once. It uses the same formulas and the same prices as the Hosting cost tab and the workbooks: Azure list prices from Microsoft's price list (27 October 2026), Meta's WhatsApp rate card (1 October 2026), and the voice vendors' own price pages (28 October 2026). The sliders start at our assumptions; Zelyn's real usage profile will replace them.
How much she uses Zelyn
How long data is kept
Voice (Body 5)
Voice: every vendor at these settings
| Vendor and India rule | Voice in | Voice out | Total |
|---|
Hosting, line by line
| Item | A month |
|---|
US dollars, pay-as-you-go list prices, no discounts. Fixed on this page because they barely change the cost: the busiest hour carries 15% of a day's use (the smallest setup covers it below about 140,000 women), message text is kept 90 days, and 1,500 approved messages of 300 characters can be read aloud. Sizing rules (server capacity, database steps, standby from 20,000 women, read copy from 500,000) are fixed and shown on the Hosting cost tab. The Hosting cost table prices voice as live speech, read out fresh every time; this page prices WhatsApp voice notes, which is how women will send them. Not included: Azure support plan, the WhatsApp provider's fees, engineer time to run our own voice models, taxes.
Zelyn's Phase 1 product roadmap, 21 October 2026
Zelyn's own document, unchanged except for our coloured tags after each item. Every "roadmap" reference in this guide links to the matching part below. Jump to: Body 1 Body 2 Body 3 Body 4 Body 5 Body 6 · Requirements that apply to everything · First milestone · Architecture
Where we answer each item: 44 answered, 15 partly answered, 35 in the proposal. Click a green or amber tag to jump to our answer.
Zelyn's Architecture of Record, v2.0, 28 September 2026
Zelyn's own slides, unchanged. Under each slide, a table lists what it asks for and where we answer it. Every "slide" reference in this guide links to the matching slide below. Our redrawn version, with what we keep, add and change, is on the Architecture tab. Jump to slide: 1 2 3 4 5 6 7 8
Where we answer each item: 42 answered, 1 asked Zelyn. Click a green or amber tag to jump to our answer.
Confidential. Provided by Zelyn under non-disclosure.
Glossary
Terms used in this guide, explained in plain words.
Sources
The official laws, regulator guidance and vendor documents behind this plan. All were opened and checked on 27 October 2026.
Fee and payment terms
The commercial terms in short. The full wording is in Sections 6 and 7 of our proposal (ref. VS/ZELYN/2026-27/001); if the two ever differ, the proposal applies.
| Term | What it means |
|---|---|
| Start | Within 7 days of signing. The dates in this guide assume a start on Monday 2 November 2026. A later start moves every date by the same amount. |
| Two free weeks | Weeks 1 and 2, 2 to 13 November 2026, are free of charge. They cover the code walkthrough, the knowledge transfer, the core design and the re-check of our estimate, so if Zelyn's existing code needs more work than we assumed, the estimate is corrected before any money is owed. |
| Go or stop at Gate 0 | On 13 November 2026 (Gate 0) Zelyn decides in writing whether to continue. If Zelyn stops, nothing is owed by either side, and the new code Velosyti wrote in those two weeks stays with Velosyti. Zelyn's own existing code, accounts and data stay Zelyn's throughout. |
| Monthly fee | USD 4,000 a month, fixed, from Monday 16 November 2026, only if Zelyn continues. It covers two full-time developers who also do their own testing, our architect with no fixed hours, and an external UI/UX consultant. Billing months run from the 16th. |
| Invoicing and payment | Invoiced at the start of each billing month. Payment within 7 days of each invoice, by wire transfer in USD. Each side bears its own bank charges. Export of services to the United States, so no Indian GST is charged. |
| Minimum commitment | Once Zelyn continues, a minimum of 3 months' fees, USD 12,000, from 16 November 2026. It is payable in full even if bodies 1 to 4 finish sooner or Zelyn ends the engagement within those 3 months; any balance is invoiced on the last day. It does not apply only if Velosyti materially breaches the agreement and does not put it right within 15 days of written notice. |
| Ending the engagement | After the 3 billed months, either side may end with 30 days' written notice, followed by a full handback. |
| Expected total, bodies 1 to 4 | About 17 weeks of work, 2 November 2026 to 24 February 2027. With the two free weeks, about four monthly invoices: about USD 16,000, and at least USD 12,000. |
| Where the code lives | During the two free weeks, in Velosyti's own repository. If Zelyn continues, that code moves with its full history into Zelyn's GitHub once the first invoice is paid. All later work is in Zelyn's GitHub from its first commit. Ownership of each month's work passes on payment of that month's invoice. |
| Third-party costs | Paid by Zelyn directly to the provider: cloud and messaging charges, the questionnaire licence, the penetration test, counsel, and the Kannada and Hindi verifiers. Velosyti does not resell or pay these. |