Joshua Grams Work Process Hire Email
Case study · Product design · Regulated UX · 2026

Ellaverse: designing a parent onboarding flow where the law writes half the spec.

A per-child AI companion for kids, configured by a parent. Under thirteen, COPPA sets hard rules on what can be collected and when. The onboarding flow had to satisfy those rules, be finishable by a tired parent in a few minutes, and set up a safety system the parent could understand without reading a policy page.

Role
Product designer and lead engineer
Constraints
COPPA, state minor-safety laws, duty of care once alerts are promised
Stack
FastAPI · Jinja2 · vanilla JS · SQLite · Claude
Status
Phase 1 shipped, hardened after code and security review
Ellaverse parent login screen
Parent entry point. The parent area is PIN-gated and separate from the child's experience.
01 · The design problem

Two users, one flow, and only one of them is allowed to make decisions.

The child is the daily user. The parent is the account owner, the configurer, and the only person who can consent. Every screen had to be unambiguous about which of them it was for, and the child's experience could not depend on the child entering anything a regulator would call personal information.

The second problem is harder. Once the product promises "we alert you if something concerning comes up," a missed alert becomes a liability and a false alarm becomes a trust problem. The parent has to understand what the system will and won't catch before they rely on it.

02 · The flow

Parent sets up. Child never sees a form.

ParentCreate parent PIN. Four to eight digits, hashed. Gates every parent screen and parent API.
ParentAdd a child profile. Name or nickname only, plus an age band chosen by the parent.
BranchAge band 5–8, 9–12, or 13–17. Each is a different product with different defaults and a different legal regime.
ParentAlert preferences explained in plain language: what triggers an alert, how it arrives, what it does not cover.
ChildHands the device over. Child picks their profile and talks to Ella. No form, no email, no password.
03 · Designing the safety layer so a parent can understand it

Three layers, explained as three sentences.

The safety stack is technically involved: a normalized pattern classifier that catches homoglyph and leet-speak evasion, an optional language-model input classifier, and an output verifier that fails closed on concerning turns and falls back to a curated response bank. The parent doesn't need any of that. The parent-facing copy reduces it to what happens:

"Ella checks what your child says."

Keyword and pattern detection for self-harm, abuse, grooming, and drug-seeking at minimum. Alerts are deduplicated per topic so a parent gets one message, not forty.

"Ella checks what she's about to say."

Output is verified before it's shown. If verification fails on a sensitive turn, the child gets a safe, pre-written response instead of a guess.

"Ella won't guess."

Hallucination guardrails framed for parents as a refusal policy: when unsure, decline rather than invent.

"Here's what this doesn't do."

Explicit limits, stated up front. Over-promising a safety feature is the fastest way to lose a parent's trust the first time it misses.

04 · What the reviews changed

Design decisions that came out of code and security review.

In a regulated product, the honest "not yet" on the roadmap is part of the design.
COPPAOnboardingTrust & safety UXFastAPIClaudeContent design