Can a solo founder really ship a landing page in 90 minutes?
A solo founder can ship a public landing page from a blank screen to a deployed URL in 90 minutes flat using a fixed AI-first workflow built on Claude Code, Astro, and Cloudflare Pages. I’ve shipped 14 landing pages this way in the last 6 months. Average time: 87 minutes. Fastest: 56 minutes. Slowest: 134 minutes (and that one needed a custom hero animation). Total cost: $0 (I’m already paying for Claude Code Max). The trick is not picking faster tools. The trick is removing the decision points where humans normally stall.
This article is the exact 6-stage workflow with prompts I reuse and the timer I run on every page.
What are the 6 stages and their time budgets?
| Stage | What happens | Time |
|---|---|---|
| 1 | ICP + offer scratch | 8 min |
| 2 | Copy + structure brief | 12 min |
| 3 | Astro page generated | 18 min |
| 4 | Visual + design pass | 20 min |
| 5 | SEO + schema | 12 min |
| 6 | Deploy + verify | 8 min |
| Buffer | Fixes, screenshots | 12 min |
| Total | 90 min |
Run a real timer. The stages compress if you commit. They sprawl if you don’t.
Stage 1 — ICP + offer scratch (8 min)
Open a markdown file and answer 5 questions in 8 minutes:
- Who is this page for? (Be specific: “podcast producers managing 3+ shows” not “creators”)
- What problem does it solve in one sentence?
- What’s the offer? (e.g., “$99/mo SaaS, 14-day refund”)
- What’s the single CTA? (e.g., “Start a 14-day refund-protected trial”)
- What proof do I have? (testimonials, screenshots, numbers)
This file becomes the input for every later stage. Write it badly and quickly. Don’t optimize.
Stage 2 — Copy + structure brief (12 min)
Paste your stage 1 file into Claude Code and use this prompt:
You're writing a landing page for a solo SaaS founder.
Read the ICP + offer file in this folder.
Output a complete page brief with:
1. H1 (under 60 chars, benefit-led)
2. Subhead (1-2 sentences expanding the H1)
3. CTA button text (3-5 words)
4. Hero subtext (1 sentence, social proof or specificity)
5. 3 problem statements the audience recognizes
6. 4 features framed as benefits
7. 3 testimonials (placeholder if I don't have real ones)
8. Pricing block (1 tier with 5 bullets)
9. FAQ with 6 questions
10. Footer CTA repeat
Use a direct, founder-to-founder voice. Specific numbers > vague claims.
No "in today's world" or "leverage" or "unlock."
Claude returns a complete copy brief in 90 seconds. You spend 10 minutes editing for accuracy and voice.
Stage 3 — Astro page generated (18 min)
In the same Claude Code session:
Now generate an Astro page from the brief above.
- File: src/pages/[slug].astro
- Layout: src/layouts/Marketing.astro (already exists)
- Use Tailwind classes, no custom CSS
- Include all sections from the brief in order
- Add hover states on the CTA
- Make it responsive (mobile-first)
- Use semantic HTML (section, h1, h2, etc.)
Claude writes the file. Run npm run dev and check it locally. Most landing pages work first-pass. The 5-10% that don’t usually have a Tailwind config issue you fix in 2 minutes.
Stage 4 — Visual + design pass (20 min)
This is where most founders waste hours. The goal: make it look credible, not perfect.
Which 6 visual quick wins should you ship in 20 minutes?
Use these in order, no detours:
- Add a hero illustration or product screenshot. Use Excalidraw for a sketch-style hero ($0) or a real Loom screenshot. Skip Midjourney unless the page is for a creative product.
- Pick 2 colors only. Primary brand + neutral. Don’t introduce a third color today.
- Use a single sans-serif font. Inter, Manrope, or Geist. Stop debating fonts.
- Add 1 subtle gradient on the hero or a CTA. No more.
- Test on mobile. 60% of your traffic is mobile. Fix any obvious breaks.
- Add 1 testimonial card with a real photo. Even a placeholder LinkedIn avatar is better than empty space.
Why does over-polishing kill the workflow?
“Polish kills. Ship the v0.7 design and watch which sections actually need polish from real user behavior. 80% of the polish founders spend hours on never moves a number.” — A founder peer who shipped $500K solo in 2025
If you spend more than 25 minutes here, you’re optimizing too early. Hard timer-cap stage 4. Polish what real visitors point at, not what you imagine they’ll point at.
Stage 5 — SEO + schema (12 min)
Don’t skip this. SEO foundations on a landing page take 12 minutes and pay for years.
What SEO + schema should Claude generate for you?
In Claude Code:
Add SEO and schema to the landing page.
1. <title> tag (under 60 chars, includes the primary keyword)
2. <meta name="description"> (under 160 chars)
3. Open Graph tags (og:title, og:description, og:image)
4. Twitter Card tags
5. JSON-LD schema for:
- Organization
- Product (if SaaS)
- FAQPage (using the FAQ from the brief)
6. Canonical URL
7. robots meta tag (index, follow)
How do you validate the schema before shipping?
Validate the schema using Google’s Rich Results Test (5 minutes). Paste the live or staged URL, fix any errors flagged, then move on. Don’t chase perfection — Google’s tool surfaces 95% of the issues that matter.
Stage 6 — Deploy + verify (8 min)
What’s the actual deploy command sequence?
git add .
git commit -m "ship: landing page for [product]"
git push origin main
Cloudflare Pages auto-deploys on push. Total deploy time: 60-90 seconds.
How do you verify the page is live and clean?
Visit the live URL, check on mobile, share to one friend for a sanity check. You’re done. Set a calendar reminder for 7 days from now to review analytics and iterate.
What do you cut to hit the 90-minute target?
To hit 90 minutes, you have to skip:
- Custom illustrations (use stock or none)
- Animation libraries (Tailwind transitions only)
- A/B testing setup (do this on v2)
- Analytics integration beyond Plausible/GA4 default
- Multi-language support
- Dark mode (unless brand-required)
- Custom 404 page
- Cookie banner if you’re not in EU yet (still GDPR-compliant if you don’t track)
Each cut feels uncomfortable. Each cut saves 30+ minutes. Each cut can be added back in v2.
The tools that make 90 minutes possible
| Tool | Role | Cost |
|---|---|---|
| Claude Code Max 5x | Copy + code generation | $100/mo (already paying) |
| Astro 5 | Static site framework | $0 |
| Tailwind 4 | CSS | $0 |
| Cloudflare Pages | Hosting + CDN | $0 |
| Plausible | Analytics | $9/mo or self-hosted |
| Excalidraw | Quick illustrations | $0 |
| Google Rich Results Test | Schema validator | $0 |
| Total marginal cost per page | $0 |
This stack matters because every tool in it is fast. Vercel adds 2-4 minutes of deploy lag vs Cloudflare. Webflow adds 30 minutes of UI fiddling vs raw Astro. Each tool was picked for speed first, polish second.
What did 14 landing pages teach me?
I shipped 14 pages this way in 6 months. Some observations:
- The first 30 minutes are the most fragile. If you don’t lock the offer in stage 1, the whole workflow breaks down.
- The design pass is where everyone over-spends. I now timer-cap stage 4 at 25 min, hard.
- About 1 in 5 pages converts well enough to keep iterating. The other 4 get archived. That’s normal.
- Pages built in 90 minutes outperform pages built in 8 hours. Not always, but more often than I expected. Speed forces clarity.
When should you NOT use the 90-minute workflow?
Skip this and budget more time when:
- The product is brand new and you haven’t validated demand. Spend the time on customer interviews instead.
- You’re targeting an enterprise buyer. They want polish. Plan 6-12 hours.
- You’re competing on a saturated keyword. SEO research alone takes 4 hours.
- You don’t already own the design system. Building one from scratch is a 4-hour job in itself.
For solo founders shipping niche products fast, the 90-minute workflow is the right altitude.
What I’d add in v2 (after I see traffic)
- Plausible custom events on the CTA
- One lead magnet (e.g., a 1-page PDF) gated by an email opt-in
- Two testimonial videos
- A pricing comparison table if I add a second tier
- Localization for one second language if international traffic justifies it
These are 2-3 hours of extra work each. None of them belong on day 1.
FAQ
Can a non-developer ship a landing page in 90 minutes with this workflow?
Yes, with two caveats. You need to be comfortable opening a terminal and running git commands. And you need a pre-built layout in your Astro repo. If you’re starting from absolute zero with no Astro repo, plan a one-time 4-hour setup before the 90-minute workflow becomes possible.
Is Astro better than Next.js for landing pages?
Astro is faster and lighter than Next.js for content-heavy landing pages. It ships less JavaScript by default, builds in seconds, and deploys cleanly to Cloudflare Pages. Next.js is better if your landing page needs heavy interactivity or shares code with a React app. For pure marketing pages, Astro wins on speed and simplicity.
How much does this stack cost monthly?
Marginal cost per landing page is $0 if you already have Claude Code Max ($100/mo) and Cloudflare Pages (free). Plausible adds $9/mo for analytics, optional. The total stack runs $100-130/mo and supports unlimited landing pages.
Can I use Webflow instead of Astro?
Yes, but you’ll lose the speed advantage. Webflow takes 3-6 hours per page in my experience, mostly because the UI has more decision points. The 90-minute workflow assumes a code-based stack where Claude can write the file directly. Webflow’s visual builder doesn’t fit that model.
Should I A/B test landing pages?
Not on day 1. A/B testing requires meaningful traffic (1,000+ visits per variant minimum) before results are statistically meaningful. Most v1 landing pages don’t get that traffic for 4-8 weeks. Ship first, then add A/B testing when you have enough volume to learn from.
What’s the biggest time-saver in the workflow?
Stage 1 — the ICP + offer scratch — is the biggest time-saver because it locks every later decision. Founders who skip this stage spend 20-30 extra minutes in every later stage debating what the page should say. 8 minutes of clarity upfront saves 40 minutes downstream.
How do I know if the page is working?
Watch for 3 signals in the first 7 days. Plausible bounce rate under 60% means the hero is working. CTA click rate above 4% means the offer is clear. Newsletter signup rate above 2% means the secondary CTA is doing its job. If any of these are off, iterate the relevant section in 30 minutes and republish.