Full marketing website built in 97 minutes (5 commits, 2,626 lines)
No public-facing website. Dashboard-only at jobs-apply.ai, no marketing surface, no waitlist, no pricing page. -> Landing page, How It Works, Pricing, Waitlist API, dark theme, scroll animations, deployed on Vercel in 97 minutes

Changelog
| Date | Summary |
|---|---|
| 2026-04-17 | Expanded to full breakthrough spec (Context, What Changed, Impact) |
| 2026-04-07 | Created during temporal gap audit |
| 2026-03-24 | Original work (21 to 23 UTC) |
Context
Jobs-apply.ai was running as a dashboard-only product: users could open the app and see matches, but there was no marketing surface. No landing page, no pricing tiers, no waitlist to capture early interest, no FAQ to deflect the first five support questions. That meant every new user had to arrive via a direct share of the dashboard URL, with no prior context on what the product did or how much it cost.
The goal for the evening: ship the marketing surface end-to-end. Not a static placeholder, not a “coming soon” page, the actual thing that would convert a stranger who landed from a Twitter link.
What Changed
Complete public marketing site built, deployed, and live on jobs-apply.ai inside a single 97-minute evening session. 5 commits, 2,626 lines added, 53 files created. The dashboard was restructured into a /dashboard route group so the marketing pages could live at the root.
Pages shipped:
- Landing page: hero, product mockup, problem stats, social proof, solution grid, score card, platform logos (LinkedIn, Greenhouse, Lever, Workday, Direct, Indeed), founder section, waitlist CTA.
- How It Works: 5-stage pipeline explainer plus a FAQ that covers the top unknowns (privacy, scoring, platforms supported).
- Pricing: 3 tiers with feature comparison.
- Waitlist API: Next.js route handlers that persist signups.
Design: dark theme, grain texture, scroll-reveal animations. Same Paul Tol palette as the dashboard so the visual identity transfers when a user clicks through.
Impact
- First public marketing surface for the product. Every subsequent share now lands on context, not a raw dashboard.
- Waitlist capture means future model releases have a pre-qualified send list instead of zero list.
- URL architecture (
/dashboardroute group) established the pattern that persists in every subsequent deploy. - 97-minute end-to-end proves the one-person SaaS velocity thesis: a complete marketing presence built, deployed, and iterating in under 2 hours with Claude Code + Vercel.
- Removed the blocker to Pricing experiments: with the pricing page live, later experiments on tier structure and copy have a real surface to iterate.
Source
Work sequence in git: 5 commits on the main branch between 21