Meadow
Deliverable Review
Incorrect. Try again.
Five-Milestone Roadmap  /  M4 & M5  /  Gap List

What’s Left, and How Long It Takes

The remaining work across M4 and M5, measured against the app as it stands on September 23, 2026 — reconciled against every change merged through PR #250, and against the full engineering backlog.
Running Status
Updated 2026-09-26
Milestones: M4 & M5
Work in Progress
01 Where We Are

The app today

Measured by reading the shipped code and content on main through PR #249. Version 0.2.15 (build 591) is the build installed on the test iPad on September 21; the four changes merged on the 22nd are not in it yet. Not estimated.

PieceWhere it stands
RoomsThirteen rooms ship, and every one has now been looked at on screen. Kitchen, bathroom, bedroom and living room, plus nine places: playground, farm, school, library, music, pool, treehouse, store and doctor. Two were renamed on September 21 to what a caregiver actually says (“Splash Pad” → Pool, “Music School” → Music). M4-001 is closed.
Room conversation dataAll thirteen rooms have hand-written follow-ups — 1,678 room-written phrases, every one drawn. But they cover only about half of the words: a September 23 audit found 306 of the 628 room words have no phrase written for their room, and fall back to phrases built from the word’s category. Most of those read fine (“more waffles please”); 37 do not — see section 05. Fifty missing pictures were drawn on September 21 — but on the 21st Ari still saw a grey bubble (a comma drawn as a word) and the colour orange drawn as the fruit, because several of the app’s surfaces were building tiles without asking for the picture. Fixed September 22 (PR #245): a word now carries its own picture everywhere it appears, and punctuation is spoken, never drawn. Found while proving it, and fixed the same day: the kitchen’s orange fruit was missing from the Food grid because its spelling collided with the colour, and messy was missing from two rooms’ grids (PR #246). A fourth, found in review: a parent who assigned their own photo of “banana” to the kitchen had it silently discarded in favour of the stock drawing — the family’s word now wins, in place (PR #248).
SpeechRebuilt September 19–20. A tapped word always finishes; a rushed word is re-rendered slower; a premium voice no longer freezes the app after a completed sentence (see the correction in section 02); the companion voice can no longer wander between accents.
Insights (the parent screen)Rewritten and clinically re-reviewed. It now shows communication, not touches: messages of two or more words, what words were used for (ask, tell, say no, share a feeling), new words this week, the last 50 things the child said, and one coaching line. The data underneath is kept honestly — earlier days say “not recorded yet” rather than showing a false zero.
Parent controlsPIN set/change/remove; every setting does what its copy says; Button Size resizes every tile; celebrations ship off and “Off” means off; the settings gear opens with a one-finger three-second hold.
PrivacyNo data collection, no network calls, no third-party code. The app keeps up to 50 of a child’s recent sentences on the device for the parent. Since September 23 a parent can erase them, with all recorded taps and daily summaries, from Settings → Privacy & About (PR #263).
AccessibilityAutomated audit green in all 13 rooms at full size. Still red at the iPad mini size on one element-less warning. The every-room “text may be clipped” warning is fixed (PR #261, September 23). Nothing has been walked on the physical iPad yet.
TestFlightLive. Version 0.2.15 is the current dev build.
Test hardwareThe iPad is here and identified: iPad (A16), 11th generation, iPadOS 26.5.2. It is faster than the iPad 9 floor, so every speed number it produces is an upper bound, not proof.
Delivery pace41 changes merged September 17–22 (PRs #201–#249, of which nine landed inside a larger one). The estimates in section 04 use that measured rate, halved.
02 What Still Needs Building

The September 16 list is closed. Four things stand between here and “submit”.

Every row on the September 16 gap list has landed. What remains is the physical-device pass, the last accessibility warnings, the paperwork that makes M4 acceptable, and Apple’s clock.

What’s missingWhy it mattersWaiting on
1 · The hand-walked pass on the real iPad VoiceOver, Switch Control, Voice Control and Dynamic Type across thirteen rooms, plus speed and memory, on the device itself. The protocol and results sheet are written and the setup rows are filled in; not one test row has been run. The store listing says the app “works with VoiceOver, Switch Control, Voice Control, and Dynamic Type from day one” — that sentence has never been verified on hardware. This is the single item that most needs a human and cannot be delegated to a machine. Ari, two days at the iPad with a ruler, a switch and screen recording on
2 · The last accessibility warnings (M4-005) Three remain. (a) The “text may be clipped at larger sizes” warning that every room reported is fixed (PR #261, September 23). The cause was narrower than first diagnosed: the picture on the My Words and category tiles was drawn as text and grew with the text setting until it overflowed its tile. It now stays a fixed size and only the printed word grows, so no tile moves for a child using large text. The audit now allows zero clipped-text warnings. (b) Resolved September 25 (#289): the iPad mini warning with no element attached (“potentially inaccessible text”) was a shelf of painted cans in the store’s background picture that Apple’s check mistook for writing; no child was ever missing text. The check now re-runs a room with the picture greyed out and only excuses warnings that disappear. (c) Nobody has looked at the largest text size on the real device. (d) Fixed September 23 (PR #270): the side columns were sized for a taller screen than the app actually gets, on both iPads. Each column now holds only what fits, never more than before; one First Words picture (the My Words tile) moved down on its own page, approved by Ari. One small overlap remains on the mini at the lowest density (“dad” touches the page dots); Ari accepted it on September 24. Engineering, ~1 day for (b); (c) folds into row 1
3 · The Phase 3 amendment M4 is not under contract. The SOW calls Phase 3 “scoped via amendment” and no amendment exists. The amendment must record four decisions with their reasons rather than let them vanish: no SLP export (Insights is the SLP-facing output; nothing leaves the device), no multiple child profiles (a funded device is one child’s), no auto-lock timer picker (five minutes fixed is the safe choice on a child’s device), and thirteen rooms as the launch set. It also prices M4 and M5. M2 and M3 are closed on the portal as of September 23, approved on the kitchen. Their leftovers moved forward: core words holding one position in every room, and kitchen follow-up depth, are M4-002 work; the on-device check is M5-001. M3 acceptance starts a 30-day window to agree the amendment, with an exit clause at the end of it, so the amendment should follow promptly. M2 ($8,000) and M3 ($7,000) are signed work. Ari — no engineering
4 · Which Apple account the app ships from On September 18 the plan flipped to “publish under the personal developer account, transfer to Any Funded Need later” because Apple’s transfer tool only works on a published app. The same day it emerged that Any Funded Need is an LLC, so organization enrollment is available after all — and that the earlier case for transfer-first was overstated (there are no ratings or installs to preserve). The decision does not have to be made now. What has to happen now is starting the LLC enrollment (D-U-N-S number first, then Apple’s one-to-four weeks). If enrollment finishes before the app is ready, publish under the LLC from day one; if not, publish personal and transfer. Ari starts enrollment; the choice waits for whichever finishes first

A correction to what this page said on September 17

The September 17 version of this page said, in bold, that the speech path was sound and “we found no way for a child to tap and get silence.” That was true of the code that was read — and it was still wrong. On September 20 a real defect was found on the test iPad: with a premium voice selected, finishing a sentence could freeze the whole app (the voice reports itself idle for up to a second while it loads, and the app was releasing it in that window). It is fixed (PR #222), and the speech engine was rebuilt around it: a tapped word always finishes, the queue is bounded, and nothing releases a voice mid-load (PRs #222–#225). The lesson is recorded on the project: a reading of the code is not a test on the device. It is the reason row 1 above is row 1.

It happened a second time on September 21. This page said all 1,629 follow-up phrases were drawn, and the engineering backlog agreed — both were reading the content files. Ari then looked at the running app and saw a comma drawn as a word, the colour orange drawn as the fruit, and a missing kitchen word. All four defects that came out of that look are fixed (PRs #245, #246, #248), and none was expensive. The pattern is: everything a machine checks stays green while a person sees something wrong in two minutes. Twice in three days is no longer a coincidence, and it is the whole argument for row 1.

Still asking for your yes on one thing

The school-room trade from September 17 was never answered: adding hurt to every room’s follow-ups made the school’s bus and chair share one answer window, taking the school’s distinct-answer count from 10 to 9. Since then hurt has also become a permanent tile on every room’s board (PR #206), so a child never depends on the follow-up menu to say it. The trade is low stakes; our recommendation is to accept it and move on.

03 What We Need From AbleNet

Two things, and only the first has a clock on it

WhatWhy it’s yours and not oursTiming
Start the Any Funded Need LLC developer enrollment Enrolling an organisation with Apple needs a D-U-N-S number, the exact legal name (“Any Funded Need LLC”), and someone with binding signing authority. Engineering can’t do it. Starting it keeps both publishing paths in section 02 open; it costs nothing. D-U-N-S lead time, then one to four weeks on Apple’s clock. The only item in this plan outside our control.
Your App Store review experience What Apple asked you for on a communication app in the Kids Category, and what got sent back. This is the part we can’t get anywhere else. A conversation

Closed since last time

The iPad model is confirmed (iPad A16, 11th generation). The six required 13-inch screenshots are captured. The support contact email is live on both support pages. What is still owed for the store record itself: a review-contact phone number (entered in App Store Connect, nowhere in the code) and one sentence on the public support page saying who the publisher is, which depends on the account decision above.

04 Timeline

About four working days, two of them at the iPad, plus Apple’s clock

Re-priced September 21. The build work that remains is small and understood. The two least certain items are the ones no machine can run: the hardware pass, and the account paperwork.

BlockWhat it coversStatus
The September 16 gap listHurt everywhere, kitchen safety words, follow-ups for twelve rooms, three picture-dictionary rooms, automatic checks for thirteen rooms, one picture per word, eighteen dead controlsAll landed and merged
Merging & a human lookTwelve open PRs merged in dependency order; every room looked at on screen (M4-001)Done
Follow-up card picturesTwo-word words as one tile; inflected words show the base picture; fifty sentence-only words drawn and added with no board moved under a child’s fingersBuilt (#227, #240)
Insights clinical fixSchema V5, communication cards, conversation functions, and the counting bugs the review gate foundBuilt (#243)
Speech enginePremium-voice freeze, word queue, rushed-word re-render, accent pinning, first-consonant onsetBuilt (#214–#225)
AccessibilityFull-size audit green in all rooms; contrast pinned by maths; the clip warning fixed (#261). Left: the one mini-size warning, the mini side-column overflow, and a human look at the largest text sizeMostly built — 1–2 days
HardwareVoiceOver, Switch Control, Voice Control, Dynamic Type across thirteen rooms on the real iPad; speed and memory; the fixes it turns upNot started — 2 days (least certain figure here)
Amendment & portalPhase 3 amendment drafted; portal moved to real statuses with evidence; M2 + M3 + amendment delivered togetherNot started — Ari, no engineering
Apple setupLLC enrollment started; publisher sentence on the support page; review-contact phone numberNot started (runs alongside, waits on enrollment)
Total remaining engineeringWas ~4 days on September 17; the accessibility and Insights blocks closed, the hardware block did not move~4 working days (2 of them Ari at the iPad), plus Apple’s clock in parallel

In plain terms: the code is at “adjustments, not features”. What is left is mostly not code: a person at the iPad for two days, and a person at the paperwork. The engineering that remains fits in a day or two around those.

The honest risk, stated once: the app has still never been measured on a real device. Everything a machine can check is green; the September 20 freeze is proof that green-on-a-machine is not the same as working-in-a-child’s-hands. Row 1 of section 02 is where the unknowns are.

Second risk: M4 is being finished before it is under contract, by choice. The amendment is what turns that work into a deliverable; until it exists, $15,000 of signed M2/M3 work also sits unclaimed.

05 The Full Backlog, In Priority Order

Everything open, anywhere in the project, on one page

Reconciled September 21 against the three engineering backlogs; updated September 26 for PRs #254–#293. M4’s goal, restated September 23: every room brought up to the level of the approved kitchen. Work the kitchen itself does not have yet is polish, recorded here but taken later. Nothing below blocks submission unless it says so. Items are in the order we would take them.

PriorityItemWhere it stands
Blocks submissionHardware pass on the real iPad (M5-001, M5-002)Not started. Section 02, row 1. Run it on a TestFlight build that includes PRs #294–#296 (September 26); build 591 on the test iPad predates them and a month of fixes.
Blocks submissionAccessibility remainder: the one mini-size warning in the store, a human look at the largest text size (M4-005)The every-room clip warning (#261) and the side-column overflow on both iPads (#270) are fixed. September 24: the avatar and bear no longer cover the bottom row of words at any level (#275; they covered want); corner tiles on the pop-up boards (Colors, Numbers, Letters, My Words, Food/Potty/Play) are no longer under them at Word Combinations and Sentences (#278); on the iPad mini with Large buttons a child's sentence could not be seen or spoken and now can (#277); the “largest text” checks on four parent screens had never actually run at the largest size — they now do, and two real contrast problems they found are fixed (#279). September 25: the iPad mini store warning is resolved (#289): it was a shelf of painted cans in the background picture, not missing text. Still open: a human look at the largest text size on the device, which folds into the hardware pass, and First Words corner tiles under Buddy (Ari’s decision). Section 02, row 2.
Blocks submissionAny Funded Need LLC enrollment started; publisher sentence; review phone numberIn motion (Ari, September 26): the D-U-N-S number is in hand and the switch from the personal to the company developer account is waiting on Apple. Publisher sentence and review phone number follow. Sections 02 and 03.
Blocks submissionThe sentence engine and the follow-up cards work, and read as one design, in every room and scenario. These are the two features reviewers will look at hardest after the board itself.Audited September 26 (every room × level × routine × board). The engine never goes silent, but it had two real defects, both now fixed and merged. (1) In the nine places outside the house, a tapped word told the engine the child was in the kitchen: on the farm, want suggested apple and juice, and about 1,350 of the 2,100 hand-written follow-ups for those rooms could never appear. Every test passed, because the tests handed the engine the room directly. Fixed in #295, which also stops a hidden word coming back through another room’s copy. (2) hurt, sad and happy tapped from a side rail were read as describing words (“make it hurt”). Fixed in #294. The follow-up cards were not one design: about 60% of what a child saw were generic fill-ins, and about 590 of them read wrong (“shot makes me happy”, “cry is fun”, “put slide here”). #296 gives every kind of word one set of follow-ups in every room; two speech-therapy reviews shaped it; wrong-reading fill-ins go to zero. In final testing. Still to do: a grammar-style pass and a room-by-room phrase cleanup (“me scared”, “look sun”, “cast hurt”), which wait on four decisions of Ari’s; and a half-built sentence that clears itself after 12 seconds of no tapping.
Blocks M4 acceptancePhase 3 amendmentNot started. Section 02, row 3. (M2 and M3 are closed on the portal, approved on the kitchen, September 23.)
Should ship before launchCore words should hold one place in every room (the motor map)First step built September 24 (#275), at Word Combinations and Sentences: the core pages of the bottom row are now identical in every room, a room’s own words follow on their own pages, arriving in a room opens on those room words, and one button jumps back to the core words. First Words is unchanged. Second step built September 24 (#283): on the right-hand places rail the room the child is in keeps its own spot, ringed and read out as “you are here”, and tapping it goes back to the start of the room. In the bedroom, bathroom and living room that spot can be on the rail’s second page; Ari accepted that trade so a place never moves. Third step built September 25 (#285, #286, #288): a word a parent hides now leaves a gap; nothing else slides, on any board. A page left with nothing on it is not shown. Fourth step, first half, built September 25 (#290): on the three rails a short page now uses the same spots as a full page, so want, help, stop and hurt sit in exactly the same place on every page. Fourth step, second half, built September 26 (#293): the picture grids follow the same rule on boards with more than one page; full pages, each room’s hand-arranged first page, one-page boards and routine boards look as before. The motor-map work is now built; Ari’s hands-on look is next.
Known, parkedOn boards with many pages, the row of page dots can run under the avatar and bear or past the edge of the stageFound September 24. Parked by Ari: leave alone for now.
Your decisionsFirst Words: Buddy is drawn taller than the clear strip, so First Words corner tiles are still partly covered; whether closing Food/Potty/Play re-opens the room’s own words; whether changing density or button size does; the jump button’s picture (a plain grid icon today)All from September 24. Each is small.
Should ship before launchA parent-gated “Clear communication history” control. The app now keeps up to 50 of a child’s sentences on device and nothing deletes them.Built September 23 (PR #263): Settings → Privacy & About. Erases every recorded tap, the daily summaries and the recent sentences in one step; keeps settings, My Words, photos and routines. If the erase cannot finish, nothing is erased. Not yet on the test iPad.
Should ship before launchParent gate: a third finger during the three-second hold can race the timerFixed September 23 (PR #254): the timer can no longer finish a hold the gate has already rejected. Not yet on the test iPad.
Should ship before launch“One place says what happens when a child taps a word” (the Utterance module, PR #205)Open since September 17, now roughly 33 changes behind and its behaviour lock predates the speech rebuild. Needs a rebase and a fresh lock before anyone reviews it. Deliberately not rushed.
Should ship before launchSwitch Control users can’t jump straight to a page on the compass edges (BP12)Fixed September 24 (#282): the page button on every rail now has a menu of pages, so a switch user picks “Page 5” in one go instead of pressing next four times. At every level, First Words included (Ari). Nothing on screen changes. Still to check on the real iPad: how Switch Control reads the menu, and its order on iPadOS 18.
Should ship before launchFollow-ups that read wrong for 37 words. Eight are the doctor’s body parts: tapping knee offers “bring me knee” and “knee makes me happy” instead of “my knee hurts”. The rest are fixtures and nature words (“bring me cloud”, “put field away”) and four social words (all done offers “hi there”). The bathroom was also never back-filled: it has the thinnest follow-ups of any room, and toileting is a core conversation.The doctor’s eight body parts are fixed (PR #260, September 23): knee now offers “my knee hurts” and “can you check my knee?”. The other 29 are fixed (PR #267): the farm, playground and kitchen words now offer phrases that fit, and all done now offers finishing phrases in every room, not greetings. The bathroom is back-filled (PR #268): every bathroom word now has at least as many kinds of follow-up as the kitchen’s. A speech-therapy review of both changes caught safety issues before they merged (a toddler using the toaster alone; toothpaste treated as food) and all were fixed. Two phrases wait on new pictures: “door shut” and “uh-oh”.
Should happen in betaRoom-written follow-ups for the other ~270 words that use category phrases, and a check that stops a room shipping without them — today nothing notices a gap, which is how this one went unseenFound September 23. Not child-facing harm; a depth gap. The check now exists for nouns (PR #255, September 23): it names the 83 nouns still without a room-written phrase and fails if a new one appears. It now names 46, all in the kitchen. Re-scoped September 23: measured room by room, the approved kitchen has the fewest room-written follow-ups of any room, so under M4’s goal (every room at the kitchen’s level) the rest of this writing is polish, taken after launch.
Should happen in betaHuman SLP read of a ~150-phrase sample (every room × every function, plus all protesting/feeling/safety phrases in full) by Alyse and NicoleClinical verdict was “conditional pass to ship”; the portal review page and the sampler that pick the 150 are not built.
Your decisionsThe school bus/chair trade (section 02); Dinner and Snack sitting on the kitchen rail’s page two (R5e); whether the world map keeps borrowing the kitchen’s answer sheet; the doctor’s single body part “tummy”; the colour of “ouch”; and whether a routine should change the follow-up card. (Settled September 23: every routine now nudges the predictions from its own room, PR #256.)All open, all low stakes individually, all yours. One conversation closes them.
Design neededSide-rail sections should be permanent and auto-scroll (BP4); the low-density board’s page-turn affordance after the rail changes doubled its pages (BP14); world places lack a house-vs-world notion in the data (P6)Each needs a design conversation before code. None blocks launch.
Verify then closeParent gate size and the map button’s clipped letters (BP1, BP2); the board’s pre-existing accessibility debt (BP10)The backlog still says “designed” and “open”, but the board-chrome work (#170) and the audit stack (#237–#242) appear to have closed most of it. Needs a five-minute check, not work.
Engineering hygieneFifteen small internal items: a place with no scene words falls back to the old gate (F2); a golden-file recapture has no clean-tree guard (F3); stale “kitchen” type names (F4); three convention-not-structure flags (G1, G2, G4); a test that hand-lists rooms (G3); untested noun sets (E7); dead signing-engine code (E6); tiles don’t expose ids to tests (G19); travelling doesn’t clear the last room’s routine (N5); an unused navigation mode (N7); an untested page reset (N8); a test that reads live vocabulary instead of a fixture (N9); the home rectangle drawn larger than its art (P6b); six words lost in an earlier rewrite (S6); a schema label that reads “kitchen” in every sheet (S5); the bathroom’s phrase mix leaning to protesting (S7)All recorded, none child-facing, none block anything. Taken as they are touched.
Deferred by decisionA routine that spans two rooms, e.g. bedtime = bedroom + bathroom (September 23: routines stay in one room for now); cross-room object-pool contamination (E8); room #14 and beyond; SLP export; multiple child profiles; auto-lock picker; the June “bring the slice to the bar” roadmap’s remaining wishes (photo symbols, settings redesign, verb animation, hero transitions, negation as a red category, usage export)Closed on purpose, each with a written reason. The June roadmap is superseded by this page and the milestone list; its open items are ideas, not commitments.