Skip to main content
← Blog

A Landing Page Without a Story

VauDium ·

The page had good pieces but no structure. Adding sections, rethinking copy, and learning that a landing page is a conversation — not a list.

A Landing Page Without a Story

The landing page looked fine. Dark background, gradient headline, app preview video. If you glanced at it, nothing seemed wrong.

But when I tried to read it like a first-time visitor, I realized — it didn’t tell a story. It had pieces. It didn’t have a flow.

The Missing Buttons

The hero section had a headline, a subhead, and a phone mockup. That’s it.

No call to action. No button to download, no link to learn more. A visitor lands on the page, reads “From now to done,” and then… scrolls? Hopes for the best?

I had defined the CTA buttons in the data. They were sitting there in the JSON, fully written out. But the component never rendered them. The most basic conversion element was missing from the most important section.

That was the first fix. Two buttons: “Download free” and “See how it works.”

Three Sections That Existed Only in JSON

The same thing happened with three entire sections.

Steps — Plan, Execute, Reflect. A three-step flow that explains how the app works. Defined in the content file. Never rendered.

Philosophy — Minimal to Maximal. Start simple, go deep when you need to. The core differentiator of Fecit. Sitting in JSON. Invisible on the page.

Section titles — Problem/Solution had cards but no heading. You’d see two cards appear with no context for why they were there.

It’s a strange feeling. The content was ready. The thinking was done. But the page didn’t show it. Like having all the ingredients but never cooking the meal.

Finding the Order

Once everything was on the page, the next question was: in what order?

The first instinct was Hero → Steps → Problem/Solution. But that felt wrong. You can’t explain how to use something before explaining why it exists.

The order that worked:

  1. Hero — Hook. “From now to done.”
  2. Why Fecit? — The problem and the solution, side by side.
  3. Minimal to Maximal — The philosophy. What makes this different.
  4. How it works — The three steps. Now the visitor has context.
  5. Preview — Screenshots. Proof that it’s real.
  6. ReviewsDownloadFeedback

Problem first, then philosophy, then method. It’s a persuasion funnel, not a feature list.

The Subheadline Problem

An AI agent reviewed the page and pointed out something I’d missed:

“The subheadline is too generic. ‘Analyze, prepare, execute, and reflect’ — any planner could say that.”

It was right. I was listing verbs instead of communicating a concept. The thing that makes Fecit different is gap analysis — seeing the distance between where you are and where you want to be. That idea was buried in the Steps section. It should have been in the first thing you read.

Old: “The planner that scales with your goals — analyze, prepare, execute, and reflect.”

New: “See the gap — between now and your goal. Then close it.”

One concept instead of four verbs. The word “gap” does the work.

Then the Steps followed the same language:

  • Step 1: Map the gap — not “Plan”
  • Step 2: Close it — not “Execute”
  • Step 3: Reflect

Now the hero and the steps are having the same conversation.

Small Things That Matter

Some changes were tiny but made a real difference:

  • Philosophy cards had a cyan border on one side and gray on the other. The gray card looked like a “problem” card. Made both cyan — they’re both positive options.
  • “Features” in the nav pointed to the Philosophy section. Clicking “Features” and landing on “Minimal to Maximal” is confusing. Moved it to the Screenshots section.
  • “See how it works” linked to Problem/Solution. It should go to Steps. Made the link match the label.
  • Feedback section said “Share your thoughts” — too specific for first-time visitors. Changed to “Questions or ideas?”

None of these are dramatic. But each one is a moment where a visitor could have been confused, and now they aren’t.

What I Learned

A landing page isn’t a collection of components. It’s a conversation with someone who doesn’t know you yet.

Every section should answer the question that the previous section raised. Every link should go where the label promises. Every piece of content that exists should actually appear on the page.

The page had all the right pieces from the beginning. It just needed someone to arrange them into a story.


The best content is useless if nobody sees it. Ship the JSON.