
- Claude Code
- Codex
- Cursor
- +1
Indigo SaaS Landing
A complete dark SaaS landing page from your product facts: hero, features, pricing, FAQ. Editable HTML, one run.
7 results

A complete dark SaaS landing page from your product facts: hero, features, pricing, FAQ. Editable HTML, one run.

Ten prompts from first build to launch: pick a tool, describe the app, edit safely, add payments, ship.

24 named design moves for your coding agent: bolder, quieter, typeset, distill, polish, plus a heuristic critique and a technical audit.

Makes your agent plan a design for your subject, check it against the generic AI look, then build. No cream-and-terracotta defaults.

One-line brief in, full design system out: page pattern, style, colour tokens, font pairing and anti-patterns from a local database.
Built. Here is what exists now: - /today — the screen learners live on: today's lesson card, a 7-day streak strip, and a trial banner counting down from 5 days with one coral "Keep my streak" button that routes to /upgrade. - /login — magic-link sign-in by email, no password. - /settings — sign-out only. Data model (created before UI, as asked): users(id, email, created_at, trial_ends_at, plan) lessons(id, day_number, title, duration_min) completions(id, user_id, lesson_id, completed_at) Streak is computed from completions, not stored. Assumptions: one lesson per day; streak resets after a missed day; trial length fixed at 5 days. Left out on purpose: analytics, onboarding tour, dark mode, admin. One question before the next screen: should a learner on day 6 with no plan still see today's lesson, or only the upgrade page?
Who, the one job, the data, the feel — and an app that looks like yours on the first generation.
Done — one change. Files changed: - src/pages/Pricing.tsx — added a Monthly / Yearly segmented toggle above the plan cards; yearly shows the discounted price and a "save 20%" tag - src/lib/pricing.ts — added `yearlyPrice(monthly)`; no other exports touched Outside the pricing page: nothing. Layout, colour tokens, routes and the dashboard are untouched. I did not reformat Pricing.tsx beyond the inserted block. Acceptance: toggle defaults to Monthly; switching shows $190/yr under the Pro plan instead of $19/mo, and the tag appears. Verified in preview. Revert: delete the toggle block in Pricing.tsx (lines 41–58) and the `yearlyPrice` helper.
A targeted change request with an acceptance check and a keep-list, so the AI stops rebuilding what worked.