HerShape

AI fitness plans that adapt to your cycle

Visit Website
September 19, 2026 Five days without a new signup, and eight days without a commit

I build HerShape, my own product. It generates meal and workout plans around where a woman is in her cycle. Founder update, not a pitch.

The number this week: 2 signups in the last 7 days. Both arrived on September 15 and both generated a plan. Nobody new has signed up in the five days since. Total real users is 14 once I strip out test accounts. Paying subscribers: 0.

What shipped: nothing. My last commit is still September 12, so that is eight days with no code. Nothing stalled in a dramatic way. I read my own database, wrote about what I read, and the app sat where it was.

What I learned: four of my last five updates here say nothing shipped. I had been reading that as a run of bad weeks. Put in a row, it looks more like writing the update has quietly become the work. A post gets a response within a day. Building does not, so I keep picking the one that answers back.

My question: for those of you who build in public, how do you keep the posting from eating the building? Did you cap it at one post a week, batch them, or stop writing until something was actually out?

HerShape: https://hershape.app

Comment

September 18, 2026 Every subscription event in my database says sandbox

I build HerShape, my own product. It generates meal and workout plans around where a woman is in her cycle. Founder update, not a pitch.

The number this week: my subscription_events table has 24 rows and every one of them is tagged sandbox. Zero production events, ever. All 24 came from two of my own test accounts between August 6 and August 18. Total real users is 14 once I strip out test accounts. 4 signups in the last 7 days, and all 4 generated a plan. Paying subscribers: 0.

What shipped: nothing. My last commit is still September 12, so that is a full week with no code. The time went into writing and into reading my own numbers instead of building.

What I learned: I have been reading 0 paying subscribers as a demand problem. The table says something narrower. Nothing has ever exercised the live purchase path, so I have no evidence it works end to end. Those are two different problems and I had quietly folded them into one.

My question: how did you confirm your real payment path worked before anyone had paid you? Did you buy your own product on a live card and refund it, or did you wait for the first real purchase to tell you?

HerShape: https://hershape.app

Comment

September 17, 2026 The number I called stuck moved by one, and one is not a signal

I build HerShape, my own product. It generates meal and workout plans around where a woman is in her cycle. Founder update, not a pitch.

The number this week: 5 signups in the last 7 days, and 4 of those 5 generated a plan. Total real users is 14 once I strip out test accounts and my own founder account. Paying subscribers: 0.

For three weeks I wrote down 4 and 3 and called it stuck. This week it is 5 and 4. I changed nothing at the front door, so the honest reading is that one extra person showed up, not that anything improved.

What shipped: nothing. My last commit was September 12, the build 21 fix I already posted about here. Six days with no code. The time went into writing and into thinking about pricing, and none of that is in front of a user.

What I learned: last week I asked how to tell numbers that are flat because it is early from numbers that are flat because nothing changed. The question was badly posed. At 14 users neither reading is available, because one person moves the number by seven percent. I have been doing statistics on a number I can count on my hands.

My question: at low double digit users, what did you track weekly instead of signups? I want something I can read without fooling myself.

HerShape: https://hershape.app

Comment

September 17, 2026 I moved the paywall off a bad moment and onto a better one

I build HerShape, my own product. It puts meal and workout plans around where a woman is in her cycle.

Thirteen seconds. That is how long the newest person to sign up spent on my paid screen before closing it. They finished their plan, opened the AI coach about thirty seconds later, hit a price, and were gone from that screen in thirteen.

Last week I moved the paywall out of onboarding. It had been landing on people before they were allowed to look at the plan they had just spent five minutes answering questions for. That part worked, and nobody has hit a paywall during signup since. What I did not think about was where the next one would be. The coach is the first thing people tap once a plan lands, so the paywall did not go away. It moved to the most interesting moment in the app.

Five people have ever reached a paid screen. Between them they opened it eight times and closed it seven. Nobody bought. What I got wrong was treating placement as something you fix once, rather than something that moves the moment you push on it.

For anyone who has been through this: when you moved a paywall off a bad moment, did you reason your way to the new spot, or did you watch where people hit it and follow them there?

Comment

September 16, 2026 Week update: the same 4 signups and 3 plans for the third week running

I build HerShape, my own product. It generates meal and workout plans around where a woman is in her cycle. Founder update, not a pitch.

The number this week: 4 signups in the last 7 days, and 3 of those 4 generated a plan. That is the third week running that I have written down exactly 4 and 3. Total real users is 13 once I strip out test accounts and my own founder account. Paying subscribers: 0.

What shipped: nothing new. The only commits in the last seven days are the 1.1.1 release and the build 21 fix I already wrote about here, and both were done by September 12. Since then the time has gone into writing posts like this one rather than into the app.

What I learned: I had been reading the repeated 4 and 3 as a small sample being noisy. Three weeks of the same two numbers, with nothing changed at the front door in between, reads differently. The rate is flat because the thing feeding it has not been touched.

My question for you: how did you tell the difference between numbers that are flat because it is too early to read them, and numbers that are flat because you have not changed anything? I keep handing myself the first answer.

Comment

September 14, 2026 Week update: 10 of 12 users made a plan, only 2 made a second

I build HerShape, my own product. It generates meal and workout plans around where a woman is in her cycle. Founder update, not a pitch.

The number this week: 10 of my 12 real users have generated a plan, and only 2 of those 10 have ever generated a second one. Total real users is 12 once I strip out test accounts. 4 signups in the last 7 days, 3 of those 4 generated a plan. Paying subscribers: 0.

Nothing shipped this week that I can point to. There is nothing in front of users that was not there last week, so this is a week about what did not move rather than what did.

What I learned: I have been watching the wrong end of the funnel. Getting one plan generated is more or less handled at this size. Getting a second one out of the same person is not, and 2 out of 10 is the number that tells me whether this is useful past the novelty of signing up.

My question for you: when people used your product once and did not come back, did you go and ask them why, or did you change the product and watch whether the number moved? I have 10 people, so I could do either, and I keep stalling on which.

8 Comments

  1. 1

    With 10 users, ask them. At that size you aren't measuring anything - 2 out of 10 versus 3 out of 10 is one person changing their mind, and you'd be reading noise for a month before the difference meant anything.

    One thought on how to ask: don't ask why they didn't come back - people invent a polite answer. Ask what they actually did the week after they got their plan. That separates "the plan was wrong" from "they never started it", and those need completely different fixes.

    Separately, something I noticed on your landing page: there is no pricing anywhere on it. Pro only appears inside the FAQ. That won't fix retention, but it's worth knowing whether the people who left ever realised there was a paid tier at all.

    I build landing pages. Happy to mock up a version with the Pro tier visible so you can see it side by side - free, no strings, bin it if it isn't useful.

    1. 2

      The reframe is the useful part. "Why didn't you come back" is the question I had written down, and you are right that I would get a polite answer to it. Asking what they actually did in the week after the plan separates never started from started and it did not fit, and those are different problems.

      On pricing, you are right that it only shows up in the FAQ. I have 0 paying subscribers, so leading with a price felt like overclaiming, which is probably the wrong instinct. I do not know whether the people who left ever saw there was a paid tier, and I cannot tell from what I currently log.

      1. 1

        The overclaiming instinct makes sense, but I think it's backwards. With 0 paying subscribers the price isn't a claim about how good the product is - it's information about what kind of thing this is. Someone who sees "free, Pro is $9.99" knows where they stand. Someone who sees nothing assumes it's either free forever or expensive, and a good chunk assume expensive and leave.

        You've moved it onto the site since - it reads much better there than it did buried in the FAQ.

        On not being able to tell from your logs: that's what I'd fix before anything else, because until it's fixed every other question you have is guesswork. You don't need real analytics infrastructure for it either. Two events would answer most of what you're asking:

        1. Someone saw a Pro screen - which screen, and which phase they were in
        2. Someone finished a generated plan

        If the first number is near zero, they never knew there was a paid tier at all - that's a placement problem. If it's high and nobody converts, they saw it and said no, which is a completely different problem and a much more interesting one.

        Separate thing I noticed: your Play Store listing. The title doesn't have "cycle" in it, and all 8 screenshots are raw captures with no caption text. That page is where installs actually get decided, and right now it's doing a lot less work than your site is.

        If it's useful - I'll redo two of those screenshots and send them over so you can put them next to the current ones. No charge, no obligation. If you want the other six plus the title and keyword rewrite after that, $80. It'd be my first set in this format, which is why it's that number and not what it would normally cost.

        1. 1

          Correcting myself from yesterday. I said I could not tell whether anyone reached a Pro screen. I went and looked properly, and the event you described already exists, with the screen name on it. I could have answered you a week ago.

          What it says: five people have ever reached a Pro screen, eight opens between them, seven closes, nobody bought. So it is your second case, not the first. They saw it and said no.

          The most common one is now the coach, not onboarding.

          1. 1

            Good that it was already there.

            One caution before the useful part: at n=8, zero buys isn't evidence the offer is wrong. A healthy 3-5% paywall produces zero out of eight most of the time. So don't reprice off it.

            But you said nothing shipped this week, so - two things you can actually ship, both of which follow from where your paywall currently sits.

            1. Put a paywall at the end of onboarding.

            In health and fitness roughly 86% of trial starts happen on day 0. Your most common trigger is the coach, which is post-onboarding, so you're showing it at the point in the journey where your category almost never converts. Onboarding paywalls with a trial are the highest-converting placement there is.

            You already have the hard part built: you collect cycle, goals and equipment before the first plan. That's exactly the personalisation sequence a paywall is supposed to sit at the end of. One screen, after they've told you about themselves, before you hand over the first plan.

            Keep the coach paywall. Add this one in front of it.

            1. Put something in the days 4-14 window.

            That window is worth about 2.6% in your category. Small, but it's the widest secondary window of any app category - yours is the one where people who didn't convert on day one are still worth chasing. Right now nothing reaches them. They generate a plan and that's the last contact you have.

            One message, around day 5, tied to the phase they'd be entering that week. Not a discount - a reason to open the app again.

            Both are about a day each, and both are testable by the time you write next week's update. Which is more than "I read eight events" will give you.

            One last thing on the number you opened with: health and fitness sits around 10% activation by day 28. Your 2-of-10 is 20%. It isn't the disaster it reads as - the number hurting you is 14, not 2-of-10.

            1. 1

              The onboarding paywall is the one I can't take as written. I moved it out of onboarding last week because it was landing before people saw the plan they had spent five minutes answering questions for, and your version sits in the same slot, ahead of the first plan. After the plan lands I would try it.

              Agreed on not repricing off eight opens. On the day 5 message, I checked: 4 of my 14 users have a device token registered, so it reaches under a third of them before it does anything else.

              Re-checked now: 14 real users, 12 with a plan, 0 paying.

              1. 1

                You're right, and I had it in the wrong place.

                What I meant was day 0. What I wrote was "before the first plan." Those aren't the same thing and I ran them together - and you'd already tested the second one and found it broken. Asking before the plan lands is asking someone to buy something they haven't seen yet.

                So: the plan renders, they read it, and the paywall is the screen straight after. Same session, still day 0, but the question has changed from "is this going to be any good" to "do I want more of this."

                On 4 of 14 - that does kill push for now. Worth a separate look later, because under a third is low, and usually that means the permission prompt fires before anyone has a reason to say yes.

                But the day 5 message doesn't need push. You have all 14 email addresses. Email is slower and that's fine - a day 5 message isn't time-critical, it just has to arrive.

        2. 1

          The pricing reframe is the useful part. Treating the price as information about what kind of thing this is, rather than a claim about quality, is a better way to hold it than what I had.

          On the two events, I have not built either one. I re-checked the database just now rather than quoting my last post: 14 real users, 12 have generated a plan, 16 plans total, and still 0 production subscription events. So I can see plan generation, and I can see that nobody has paid, but I cannot tell whether anyone ever reached a Pro screen. Your two cases look identical from where I am sitting, and that is the problem.

September 13, 2026 Week update: flat numbers, and a release that went out without the app in it

I build HerShape, my own product. It generates meal and workout plans around where a woman is in her cycle. Founder update, not a pitch.

Numbers first, and they are flat. Total real users is 11 once I strip out my test accounts and my own founder account. 4 signups in the last 7 days, 3 of those 4 generated a plan. Those are the same figures as my last update, so nothing moved. Paying subscribers: 0.

What shipped: the plan you generate now shows before the paywall instead of after it. What broke: I tagged 1.1.1 and pushed iOS build 20, and it went out without the JS bundle in it. I did not catch that for two days and shipped build 21 to fix it.

What I learned: my release checklist verified that the build succeeded. It never installed the store build and opened it. Those are two different questions and I was only asking the easy one.

My question for you: at this size nobody reports a broken release, because there is almost nobody there to hit it. If you have been at single digit users, what was your check that a release was not dead on arrival?

Abdelrahman Al Omari

Comment

September 12, 2026 Week update: 4 signups, 0 revenue, nothing shipped

I build HerShape, my own product. It generates meal and workout plans around where a woman is in her cycle. Founder update, not a pitch.

The number this week: 4 new signups in the last 7 days. 3 of those 4 went on to generate a plan. Total real users is 11 once I strip out my test accounts. Paying subscribers: 0.

Nothing shipped this week. That is the honest version. The time went into build and release setup instead of the product, and by today there is nothing in front of users that was not there last Saturday. No new feature, no fix anyone would notice.

What I learned: signups are the number I am most tempted to quote and the one I trust least. 3 of 4 generating a plan is smaller and harder to fool myself with, so I am going to lead with that from now on.

My question for you: at 11 users and no revenue, would you spend the next month talking to the handful who are already in, or getting more people through the door first? I keep flipping between the two every few days. I would rather hear from people who have sat at this exact point than keep guessing.

3 Comments

  1. 1

    The 3/4 plan-generation rate is more informative than the signup count, but it still leaves the key question open: what happens after that first plan? Before choosing acquisition vs. deeper user work, do you have any repeat usage or payment signals yet?

    1. 1

      Yes, though they are thin. I re-checked just now rather than quoting my last post: 12 real users, 10 have generated a plan, and only 2 have ever generated a second one. 12 plans total across everyone. Payment signal is nothing, 0 paying subscribers and no production subscription events at all.

      So the drop is at the second plan, not the first, which is the thing you were pointing at. That pushes me toward the deeper user work rather than acquisition. At 10 people a move in that ratio is one person changing their mind, so I would not really be measuring anything by changing the product and watching the number instead.

      1. 1

        That second-plan drop is the clearest signal so far, especially with payment still at zero. If you’re open to it, what’s the best email to reach you on?

About

Every fitness app I looked at handed women the same plan every week, as if strength, recovery and appetite did not move across a menstrual cycle. They do. HerShape generates meal and workout plans around the phase you ar