diff --git a/job-tracker-ui/src/pages/LandingPage.tsx b/job-tracker-ui/src/pages/LandingPage.tsx
index 64050f9..ce326c4 100644
--- a/job-tracker-ui/src/pages/LandingPage.tsx
+++ b/job-tracker-ui/src/pages/LandingPage.tsx
@@ -34,6 +34,12 @@ const STEPS: { n: number; title: string; body: string }[] = [
{ n: 6, title: "Analyze", body: "See what's working — response rate, funnel and time-in-stage — and focus your effort." },
];
+const PRICING: { name: string; price: string; cadence: string; highlight: boolean; features: string[]; cta: string }[] = [
+ { name: "Free", price: "£0", cadence: "forever", highlight: false, cta: "Get started", features: ["Unlimited job tracking & pipeline", "One-click capture (bookmarklet + PWA)", "Deterministic CV↔job match score", "3 AI CV tailors / month"] },
+ { name: "Pro", price: "£9", cadence: "/ month · billed monthly or yearly", highlight: true, cta: "Start Pro", features: ["Everything in Free", "Unlimited AI CV & cover-letter tailoring", "CV versions + factuality guardrail", "Gmail correspondence CRM", "Analytics drill-downs"] },
+ { name: "Bring your own key", price: "£3", cadence: "/ month + your AI key", highlight: false, cta: "Get started", features: ["Everything in Pro", "Use your own Gemini / Groq key", "Unlimited AI at provider cost", "Privacy-first & self-host friendly"] },
+];
+
export default function LandingPage() {
const navigate = useNavigate();
const [checking, setChecking] = useState(true);
@@ -147,6 +153,63 @@ export default function LandingPage() {
+ {/* Pricing */}
+
+
+ PRICING
+ Honest, simple pricing
+
+ Billed monthly or yearly — never by the week. Cancel anytime.
+
+
+
+ {PRICING.map((tier) => (
+
+ {tier.highlight && (
+
+ Most popular
+
+ )}
+ {tier.name}
+
+ {tier.price}
+ {tier.cadence}
+
+
+ {tier.features.map((f) => (
+
+ ✓
+ {f}
+
+ ))}
+
+
+
+ ))}
+
+
+ Prices indicative — assistive, never autonomous: you always review and send. No auto-apply spam.
+
+
+
{/* CTA */}