Day 5: making child setup faster and clearer

Before today, adding a new child to the app meant filling in their name, then scrolling down to find a separate grade selector somewhere below. Today that grade selector moved right into the form itself—no scrolling, no hunting, just a dropdown next to the name field where you'd naturally expect to find it.

Why this small change matters more than it sounds

When a parent sits down to set up their child's profile, they're thinking in one direction: name, grade, done. Before, that thought got interrupted by a card appearing below the form asking "by the way, what grade are they?" It was optional (you could skip it and set the grade later), but it was also separated, creating a moment of "wait, do I need this?" and a small step back from the task. Now it's just another field in the same form: name, grade dropdown, add button. One shape, one flow, done.

The dropdown itself is simpler to use than clicking individual grade buttons too—it's familiar to anyone who's filled out a form before. Pick from the list (P for Pre-K, then Grades 1 through 5), and if you're not sure yet, the default "Select grade..." is right there, letting you come back to it later without any friction.

It's still optional

The grade you pick when adding a child still isn't locked in stone—parents can change it later in the Parent Area if they got it wrong or if a child gets promoted mid-school-year. But now the app doesn't hide that option away; it puts it where you're already looking, in the moment when you're setting up that child's profile for the first time. Less thinking, fewer steps, just the setup parents actually need.

A clearer front door

The other change today is about what greets you when you open the app. Until now, the very first screen tried to do everything at once—add or switch a child, pick an activity, and answer questions, all stacked on top of each other. It worked, but it meant the "getting ready" part of the experience and the "actually practicing" part never really separated from one another.

Now, that first screen has one job: help you get the right child selected, and show you what's available to practice. Once a child is active, a short list of subjects appears—for now, that's just Mathematics, since it's the only subject the app teaches today, but the app is built so more can join that list without changing how any of this works. Picking a subject takes you somewhere new: a page that belongs to that subject alone, where the actual activities and practice sessions live. Finish a session there, and you land right back on that same subject's activity list, ready to pick the next one—no detour back through the child-picker in between. There's always a way back to the front door, too, whenever you want to switch children or head off to try something else.

It's a small reorganization, but it sets up something bigger: a home base that scales. Today it's one subject, presented plainly. Down the road, as more subjects come online, this is the layout that lets them show up side by side without the front page getting crowded or confusing.

Seeing the whole year at a glance

The last piece of today's work answers a question every parent eventually asks: what is my child actually supposed to know by the end of this grade, and how much of it have they got down already? Up to now, the honest answer meant piecing it together from a scattered set of tags and reports. Today, Mathematics gets a proper syllabus view: open the subject, flip to "Syllabus," and see every skill expected at your child's grade listed out in one place, each one clearly marked Passed or Not yet.

It's a real reflection of practice history, not a guess. A skill only earns "Passed" once there's enough recent practice behind it to trust the result, and even a skill that was passed before can slip back to "Not yet" if recent answers haven't kept up—the label always describes where things stand right now, never a badge earned once and forgotten. Curious what next year looks like, or want to check on something from an earlier grade? Little arrows let you step to the grade before or after without losing your place or touching your child's actual grade setting—it's just a window you can look through, not a lever you can pull. And if a "Not yet" catches your eye, clicking it drops your child straight into practice on exactly that skill, at exactly that grade, no hunting through menus required.

Under the hood, how a skill earns its "Passed" label also got an overhaul—the bar is a little more forgiving on the number of tries it takes to prove yourself, but firmer on requiring genuinely sustained accuracy rather than a lucky short streak. That's expected to keep evolving as we see how kids actually use it; it's a starting point tuned by judgment, not a final answer carved in stone.

Tidying up that new syllabus view

Once the syllabus view was actually in front of real eyes, a few rough edges showed up fast. A row of topic tags that used to sit above the Practice/Syllabus toggle was quietly showing nothing useful most of the time, so it's gone now—one less thing cluttering the top of the page before you've even started. The Practice and Syllabus buttons themselves, along with the little "Previous grade" / "Next grade" arrows, got a proper visual pass too: they now look and feel like the rest of the app instead of like plain, unstyled buttons dropped onto the page. And the syllabus list itself—the actual "here's what your child should know" content—got the same treatment, with each skill's Passed/Not-yet status now shown as a clear little badge rather than plain text sitting awkwardly next to the name.

The biggest fix, though, was one of clarity rather than polish: the syllabus page used to just say "Syllabus" at the top, with no indication of which grade you were actually looking at. Now it names it plainly—"Pre-school baseline," "Grade 1," and so on—so a glance at the page tells you exactly what stage of the curriculum is on screen, with a small "X of Y passed" count sitting right underneath for good measure.

One more rough edge got smoothed out after that: the syllabus opens straight to your own child's grade now, rather than making anyone hunt for it, and each row got rethought to behave less like a button and more like a menu. What a child is expected to know—the skill's name and whether it's Passed or Not yet—now just sits there plainly, the same way it does in the "what your child will learn" overview parents already know from the Parent Area; there's nothing to accidentally click on by tapping the skill's name. Underneath it, the actual way to practice that skill shows up as its own small tappable chip—sometimes more than one, if a skill can be practiced a couple of different ways—plus a little dice-shaped "Random" option when there's a choice to make and no strong preference either way. For the handful of skills that don't have a practice activity built yet, the row simply says "Coming soon" instead of pretending there's something to click. It's a small distinction, but it matters: now the row tells you what you're expected to know, and the chips underneath tell you how to go work on it—two different questions that no longer get answered by the same click.

Every subject gets a home of its own

Until today, that whole "what your child will learn" picture lived in exactly one place: a long, scrollable list buried in the Parent Area, with every subject—Language, Science, Money, Music, all twenty of them—tucked away behind its own little expandable section. It was complete, but it was also a lot to wade through if all you wanted was a look at one subject on its own.

Now every one of those subjects has its own page, the same way Mathematics already did. Tap Science, or History, or Money, from the subjects list on the home page, and you land somewhere that belongs to that subject alone—with a Syllabus tab laid out exactly like Mathematics's: grade by grade, skill by skill, with the same little "Previous grade" and "Next grade" arrows to step through the years. The wording hasn't changed at all—it's the very same skill descriptions that used to live in that long Parent Area list, just given proper room to breathe on their own page instead of being squeezed under a collapsible heading.

Mathematics is still the one subject with real practice activities and a live Passed/Not-yet score behind each skill—that hasn't changed one bit. For every other subject, the syllabus reads as a plain reference for now: here's what's expected at this age, and here's a friendly "Coming soon" where an activity will eventually go. Those subjects' Practice tabs say as much too, rather than showing an empty or confusing picker. It means a parent curious about, say, what a Grade 3 child should know about money or geography no longer has to dig through one giant page to find out—they can just go straight to that subject and look. And back in the Parent Area, the old giant expandable list has been replaced with a simple set of links to each subject's new page, so the intro explaining what the app covers is still right there, just without the scroll.

Giving every subject that new home page turned up one loose end in Mathematics itself, and it's fixed now too. Because Mathematics has always shown a live Passed/Not-yet score—unlike the other, reference-only subjects—its syllabus had quietly kept following its own older rules underneath, and that meant a couple of grades weren't showing everything they should. Grade 2 wasn't appearing at all when stepping through the years, and Grade 4 was only showing two of its expected skills instead of the full set. Both are fixed now: every grade in Mathematics shows the complete list of what's expected, exactly matching the "what your child will learn" reference it's always been based on. Skills with real practice behind them still show their genuine Passed/Not-yet status and their practice chips, just as before; the rest show up honestly as reference items with a "Coming soon," the same way every other subject already does. Nothing was quietly dropped—it just wasn't all being shown.

A syllabus that greets you first

One more small reordering rounded out today's work on subject pages: opening a subject used to drop you straight onto its Practice tab, with the syllabus one click away. Now it's the other way around—open Mathematics, Science, or any subject, and the syllabus is what's waiting, at your own child's grade, right away. It's a better match for how most people actually arrive at a subject page: curious what's expected before jumping into an activity, not the other way around. Practice hasn't gone anywhere—it's still right there as the second tab, one tap away, and finishing a practice session still drops you back onto Practice afterward, exactly like before. Only that very first look changed.

The menu, rearranged so the essentials never hide

The last change today revisits the menu bar itself, now that it's had a little time in real use. Two things about it had started to feel backwards: your child's name and grade, along with the little language flag, only showed up after tapping open the "Menu" button—an extra step for information that's genuinely useful at a glance, on every page, all the time. And "switch kid" and the language flag both lived tucked inside that same menu, more like an afterthought than a real destination. Both are fixed now. Your child's name, their grade, and the flag for whichever language you've picked all sit right on the bar itself, visible the instant a page loads, no tapping required. Meanwhile, "Switch kid" and a new "Switch language" option move out of the menu's cramped popover and become their own proper cards on the home page—laid out the same friendly way the Subjects card already is, not squeezed into a dropdown. Tap either one from anywhere in the app and it takes you home, scrolled right to the card you asked for. And the language card itself only shows its full list of flags—English, French, with room for more later—when you've actually asked to switch; day to day, the menu bar just quietly shows the one you've already chosen.

A phone-like navigation for mobile, clearer menus everywhere

The rest of today's work tackled a list of small but nagging UI gaps that felt especially sharp on smaller screens. On a phone, the plain word "Menu" next to the navigation bar's clickable area was wasted space, so it became a simple hamburger icon instead: ☰. It's a convention everyone recognizes, takes up almost no room, and leaves the bar feeling less cluttered—click it, and the same dropdown menu appears underneath, unchanged. The language flag got a fix too: on narrower phones it had a habit of vanishing or getting squashed as everything competed for room in the top bar. Now it's always visible, at every width, because it's important enough to stay; if the bar runs out of room, everything else squeezes smaller first.

"Switch kid" and "Switch language" took the biggest step forward. Rather than living as cards on the home page, or buried as links inside the menu dropdown, they're now their own buttons right on the navigation bar—one with a child emoji, one with a globe. Tap either one, and a panel slides down from the top of the screen, full-width, and stays open until you close it, showing the list of children to switch to or the language choices. Tap the same button again and it closes without selecting anything, just like a phone app's toggle behavior; there's also an X in the panel's header for when you just want it gone. Pick a child from the list, and the panel closes with the new child active—no more scrolling down the home page to find the right card, and no more hunting through a menu. None of this changed how the app actually stores or uses your data—a child is still a child, a language preference is still a preference—only where the controls live and how immediate they feel to use.

A quiet tidy-up behind the scenes

Not everything that happened today shows up on screen. A fair chunk of today's work was spent reorganizing how the app itself is built—the code equivalent of relabeling boxes in a storage room so the right one is easier to find next time, without moving any of the furniture in the rooms people actually visit. Practice sessions, the syllabus you've been reading about above, and the questions each subject asks all had their behind-the-scenes logic living scattered in odd corners; that logic now has one clear, consistent home instead. Every one of the app's practice activities—addition, subtraction, all the number-sense and place-value exercises—also learned to describe its own on-screen appearance itself, rather than relying on one giant central list to know how each of them should look. That matters less for today and more for tomorrow: adding a brand-new topic to practice, or eventually offering the app in a second language, both get noticeably simpler once the underlying pieces are this well organized. If everything went the way it was meant to, a parent or child using the app today shouldn't notice a single thing changed—timers still count down the same, right and wrong answers still feel the same, and the syllabus still shows exactly what it showed yesterday. That sameness was the entire point.

Making the app easier to find, and easier to share

The last piece of today's work faces outward, toward the moment before someone even opens the app. Search engines and the app itself used to only really know about one page—so a search for, say, "primary school geography syllabus" had no way of surfacing the app's own Geography page, and pasting a link to a specific subject into a text or a group chat just showed a generic title with no hint of what was actually behind it. Today, every page the app has—every subject, every blog post like this one, every piece of documentation, the parent area, the home page itself—gets its own proper name and description that a search engine or a messaging app can actually read and show off, describing that exact page rather than a one-size-fits-all blurb.

There's a map of the whole site now too, handed automatically to anything that comes looking, so nothing gets missed and nothing has to be manually kept up to date as new subjects or posts are added—it simply follows what already exists. And sharing a link now looks the way people expect it to: paste a subject's page into a chat and it shows that subject's own name and a real description, not a placeholder. The whole site also learned to speak two addresses instead of one—an English one and a French one—for every single page, with each pointing cleanly at its sibling in the other language, and every old link anyone might already have saved keeps working exactly as before, just quietly pointing to its English home. Finally, the browser tab and the little icon that appears when someone saves the app to a phone's home screen both got a real, proper icon of their own, in place of the placeholder emoji that had been standing in for one since the very beginning.

French, for real this time

That two-address trick from earlier—an English page and a French one for everything the site has—turned out to be only half a promise. Switching the flag to French changed the address bar and translated the navigation menu, but almost everything else on screen quietly stayed in English: buttons still said "Submit," the parent area still said "Active child," a wrong answer still explained itself in English underneath a French menu. For a genuinely French-speaking family, that's worse than not offering French at all—it looks like support that isn't really there.

Today that gap closed everywhere it could be found. Every button, label, heading, status message, and empty-state sentence across the entire app now has a real French counterpart, not a placeholder—from the practice screen's "Question 3 of 10" and its correct/incorrect feedback, to the parent area's mastery reports and child-export tools, to the documentation and blog sections. Screen readers get the same treatment: the descriptive labels that assistive technology relies on switch language right along with everything else, so the experience is consistent whether you're reading the screen or listening to it. And where French naturally needs more words than English to say the same thing, the layout now has room to say them without text getting clipped or run together.

One detail mattered more than it might seem: French sentences with a number or a name baked into them—"Question 3 of 10," "42% mastered," "time's up, the answer was 7"—don't just swap the English words for French ones in the same order. French often puts things in a different place in the sentence, or changes an ending depending on the number involved, so each of those gets written as its own proper French sentence rather than a fill-in-the-blank translation. And if a brand-new bit of text ever gets added to the app before someone's had a chance to translate it, the site quietly shows the English version rather than a blank space or an error—while a check built into the project's own workflow now catches anyone who adds new English text and forgets French entirely, before it ever reaches a family using the app.