01 / 16 Product manager who vibe codes

Esther Mirzakhanyan

I start from the person and the problem, decide what the product must never do, and then build the real thing with AI coding agents until it can be argued with.

Press → or swipe to continue · Case study: Lull, 2026

Esther Mirzakhanyan02 / 16 The problem

It is 3 a.m. A parent is deciding, from a phone, about a person who cannot tell them anything.

Esther Mirzakhanyan03 / 16 The why

The parent does not need a more precise nap time. They need a source that never lies to them.

A wrong time costs trust in one afternoon

Sleep is noisy. Any product that pretends otherwise gets caught the first day the baby wakes early. Precision is not the job; honesty about uncertainty is.

Two numbers for one fact cost trust in one search

If the marketing page says one wake window and the app says another, the parent believes neither. In a health-adjacent product that is fatal.

Borrowed credibility costs trust for months

Ratings, testimonials and "% of parents" convert once. When a tired parent notices the numbers were invented, everything else the product says becomes suspect.

So trust was the product. Everything else was scoped from that.

Esther Mirzakhanyan04 / 16 The bet

One honest companion for the whole first year, with sleep as the one domain that has a real engine.

Whole day, one timeline

Sleep, feeds, nappies, solids and allergens, health and appointments, dressing for outside, growth, learning, and the parents themselves. The brief said "sleep tracker". The parent's day did not.

Free stays free

The tracker, every article and every age guide are free, forever. Premium is depth: the courses in full, the solids planner, long-range trends, export, more than one baby.

Three rules that never bend

Predictions are windows with a stated confidence, never a time. Anything about medicine or safe sleep is said plainly. No invented social proof anywhere, enforced by a test.

Esther Mirzakhanyan05 / 16 Who it is for, and the jobs

Four things a parent asks, from the first week to the second birthday.

Tell me when

The next nap and tonight's bedtime, as a window that narrows as the app learns this baby. On the dial, before the baby shows you.

Tell me what is normal

Month-by-month age guides and a course staged by age, every claim cited, so "is this normal" has an answer that matches the engine.

Tell me what to put in front of them

First foods with preparation by age, the nine allergens one at a time on a ladder, a week of meals with swaps, and what to dress them in for today's weather.

Tell me when to worry

A reaction logger that never triages, safe-sleep guidance that is always free, and a plain "when to call your doctor" that the wink never touches.

Esther Mirzakhanyan06 / 16 Scope

What I kept out mattered as much as what went in.

In, for the first version

The tracker and the prediction engine. Two courses: sleep and starting solids. The solids planner and allergen ladder. Dressing by weather. Age-filtered guidance. A quiz-to-checkout funnel that runs end to end.

Out, on purpose

Prescribing a sleep-training method: the course explains them and the evidence, the app never asks you to do one. Assessing any symptom. A community feed. Anything that would need a clinician in the loop to be safe.

Every "out" is a place where being wrong would hurt a family. Those are not features to ship fast.

Esther Mirzakhanyan07 / 16
From why to what · 1

A window, not a time.

The dial shows an onset plus a ± that tightens with data, and a chip that names where the learning is: "Learning Mira's rhythm · day 2". Day zero falls back to age norms and still reads as progress. There is no empty state, because a tired parent on day one is exactly who needs the product to work.

Trust is kept by making uncertainty visible, not by hiding it behind a confident number.

Today screen with the dial and the next window
Esther Mirzakhanyan08 / 16 From why to what · 2

Why the engine is built the way it is.

  1. Start from published normsAge minus weeks premature picks one of 28 monthly bands. On day one the parent gets the population's answer, labelled as such.
  2. Learn this baby, slot by slotEach wake window of the day is learned separately, because the first window and the run-in to bedtime behave differently.
  3. Never let one bad day move the estimateOutliers are dropped, recent days weigh more, and the norm always keeps a hand on the result. Naps learn slower than bedtime because they are noisier.
  4. Project from the last wake, not from "now"Opening the app at ten or at one shows the same plan. Bedtime is never skipped.
  5. Change regime as the baby changesUnder six months sleep runs on pressure, so wake windows drive. From nine months the clock drives. Between, both.
  6. Declare a transition only after seven daysA nap drop needs seven consecutive days of evidence. Then the windows widen for a week while the app re-learns.
  7. Keep odd days out of the learningSick, travel, teething, vaccination: tagged days are shown but not learned from.
Esther Mirzakhanyan09 / 16 From why to what · 3

One table of truth. And the highest-stakes screen does the least.

One table of truth for age norms

The engine, the age guides on the public site and the course text all read the same per-month table. A page cannot quote a wake window the app disagrees with, because there is nowhere else for a number to come from.

The second "why" from slide three, turned into architecture.

The reaction logger never triages

When a food disagrees with a baby, the app offers the mild signs in the course's exact words, records the parent's choice, pauses the food, and stops. Severe signs go to the emergency number, never to a form. Contact irritation is carved out so families do not drop foods they never needed to.

No severity score, no triage question. A test asserts the wording still matches the course.

Esther Mirzakhanyan10 / 16 From why to what · 4

"Twelve months is a schedule problem. Lengthen the wake windows. Don't drop the nap."

The data marks which regression windows the evidence recognizes: four months is biological, eight to ten months developmental. A struggle at twelve months is classified as schedule, and the product says so. An opinion, stated and sourced, is more useful to a tired parent than a generic banner. It is also what makes the product worth paying for.

Esther Mirzakhanyan11 / 16
Growth

How a parent arrives, and why the first screen is a question.

  • A three-minute quiz is the onboarding and the acquisition at once. It opens with the parent, not the baby, branches on the baby's age, and feeds four answers straight into setup.
  • The email is the account. No password, because a parent who abandons at "create a password" was never going to come back. They sign back in by link.
  • Three plan lengths, then a fixed ladder of offers, then a decline path that returns to the exact step so a first purchase is never lost.
  • The whole flow runs in a simulated mode before any processor exists, so copy review and stakeholder walkthroughs happen on the real pages.
Who is filling this inEmail screenCheckout
Esther Mirzakhanyan12 / 16
Content is the product

The audio is the lesson. The text is its summary. Every module cites its source.

  • The sleep course sits on an age-stage spine, because "mine is four months" is how a parent arrives, not "day six of a fortnight".
  • Each chapter is a ten-minute audio lesson for a parent who cannot read right now. The on-screen text is the summary. Every module ends in a quiz and a two-page guide generated from the same data.
  • Scripts follow a style guide: one calm specialist talking to one tired parent. Length is measured in spoken words, and a diff checks every number against the previous recording.
Courses page
Esther Mirzakhanyan13 / 16 Proof · what shipped in ten weeks

Counts read from the build, not typed in.

10kinds of entry on one timeline
28age bands of published sleep norms behind predictions, guides and courses
95course chapters across three tracks, every module cited and quizzed
46library articles, plus 16 month-by-month age guides
100first foods with age-banded preparation; 9 allergens on a ladder; 228 recipes
54quiz screens across two funnels, one engine
306automated tests, including the tone and no-social-proof rules
5locales routed; app strings translated

A working beta: public site, funnel, checkout, app and API, walkable end to end on a laptop in a minute.

Esther Mirzakhanyan14 / 16 How it was built

Vibe coding, the disciplined version. Solo, with AI coding agents as the team.

Brief and rules first

What the product is, what it will never claim, how it speaks. Written before the first line of code, so the agents build against something.

Rules you can test

Tone, no social proof, wording that must match the course: each is a test, not a memo. A build that breaks a rule fails.

Counts, not adjectives

Anything the product claims about itself is computed from the build. If a number cannot be derived, it does not go on the page. Same for this deck.

I own what ships

Every diff reviewed, every changed flow walked in a real browser. The agents are fast, confident and sometimes wrong; my job is making wrong visible early.

Esther Mirzakhanyan15 / 16 What I would measure, and what is next

A beta, not a launch. The numbers that would tell me the bet is right:

Signals to watch first

Quiz completion and email conversion. Share of babies whose prediction reaches "personalized" by day seven, which only happens if parents keep logging. Trial-to-paid. Course completion by module, to see where the audio earns its keep.

Gates before launch

A clinician's review of the age table and the allergen method. A full visual redesign. The remaining audio lessons and final photography. Translations beyond the app strings. Payments, CRM, support and legal.

I keep this as a checklist with a status per line, and I would rather show it than hide it.

Esther Mirzakhanyan16 / 16 Contact

Open to product roles where the problem is hard, the users deserve honesty, and a PM who can build the first version is an advantage.

Lull is a pre-launch product. Screens are from the working beta; prices are omitted on purpose.