Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 24 additions & 18 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,41 +34,42 @@ export const viewport: Viewport = {
export const metadata: Metadata = {
metadataBase: new URL(BASE_URL),
title: {
default: "Interview Lab — AI-Powered Amazon VA Interview Preparation",
template: "%s | Interview Lab",
default: "Project Amazon PH Interview Lab — Free AI Interview Prep for Amazon VAs",
template: "%s | Project Amazon PH Interview Lab",
},
description:
"Get interview-ready for Amazon VA roles with AI mock interviews, resume coaching, cover letter writing, practice tests, and downloadable templates for PPC, Account, Listing, Reporting, and Agency VA positions.",
"Free AI mock interviews, resume coaching, cover letter writing, practice tests, and downloadable templates for Amazon VA roles — PPC, Account, Listing, Reporting, and Agency VA. A free companion to Project Amazon PH Academy.",
keywords: [
"Amazon VA", "Amazon PPC VA", "Amazon Account VA",
"Amazon Listing VA", "Amazon Reporting VA", "Amazon Agency VA",
"VA interview prep", "mock interview", "resume builder",
"cover letter", "Amazon VA training", "Seller Central",
"virtual assistant Philippines", "work from home jobs",
"Project Amazon PH Academy",
],
authors: [{ name: "Ryan Roland Dabao", url: "https://projectamazonph.com" }],
creator: "Ryan Roland Dabao",
publisher: "ProjectAmazonPH",
openGraph: {
title: "Interview Lab — AI-Powered Amazon VA Interview Preparation",
description: "Get interview-ready for Amazon VA roles with AI mock interviews, resume coaching, cover letter writing, and practice tests.",
title: "Project Amazon PH Interview Lab — Free AI Interview Prep for Amazon VAs",
description: "Free AI mock interviews, resume coaching, cover letter writing, and practice tests for Amazon VA roles. A free companion to Project Amazon PH Academy.",
type: "website",
locale: "en_US",
siteName: "Interview Lab",
siteName: "Project Amazon PH Interview Lab",
url: BASE_URL,
images: [
{
url: "/og/il-og.png",
width: 1200,
height: 630,
alt: "Interview Lab — Built by ProjectAmazonPH",
alt: "Project Amazon PH Interview Lab — Built by ProjectAmazonPH",
},
],
},
twitter: {
card: "summary_large_image",
title: "Interview Lab — AI-Powered Amazon VA Interview Preparation",
description: "Get interview-ready for Amazon VA roles with AI mock interviews, resume coaching, cover letter writing, and practice tests.",
title: "Project Amazon PH Interview Lab — Free AI Interview Prep for Amazon VAs",
description: "Free AI mock interviews, resume coaching, cover letter writing, and practice tests for Amazon VA roles.",
site: "@ProjectAmazonPH",
creator: "@ProjectAmazonPH",
},
Expand All @@ -90,7 +91,7 @@ export const metadata: Metadata = {
appleWebApp: {
capable: true,
statusBarStyle: "black-translucent",
title: "Interview Lab",
title: "PAPH Interview Lab",
},
icons: {
icon: [
Expand All @@ -108,8 +109,13 @@ const structuredData = {
{
"@type": "Organization",
"@id": `${BASE_URL}/#organization`,
name: "Interview Lab",
name: "Project Amazon PH Interview Lab",
url: BASE_URL,
parentOrganization: {
"@type": "Organization",
name: "ProjectAmazonPH",
url: "https://projectamazonph.com",
},
logo: {
"@type": "ImageObject",
url: `${BASE_URL}/icons/icon-180.png`,
Expand All @@ -130,9 +136,9 @@ const structuredData = {
"@type": "WebSite",
"@id": `${BASE_URL}/#website`,
url: BASE_URL,
name: "Interview Lab",
name: "Project Amazon PH Interview Lab",
publisher: { "@id": `${BASE_URL}/#organization` },
description: "AI-powered mock interviews and interview preparation for Amazon VA roles.",
description: "Free AI-powered mock interviews and interview preparation for Amazon VA roles.",
inLanguage: "en-US",
potentialAction: {
"@type": "SearchAction",
Expand All @@ -144,7 +150,7 @@ const structuredData = {
"@type": "WebPage",
"@id": `${BASE_URL}/#webpage`,
url: BASE_URL,
name: "Interview Lab — AI-Powered Amazon VA Interview Preparation",
name: "Project Amazon PH Interview Lab — Free AI-Powered Amazon VA Interview Preparation",
isPartOf: { "@id": `${BASE_URL}/#website` },
about: { "@id": `${BASE_URL}/#organization` },
description: "Get interview-ready for Amazon VA roles with AI mock interviews, resume coaching, cover letter writing, practice tests, and downloadable templates.",
Expand All @@ -154,17 +160,17 @@ const structuredData = {
},
{
"@type": "SoftwareApplication",
name: "Interview Lab",
name: "Project Amazon PH Interview Lab",
"@id": `${BASE_URL}/#app`,
url: BASE_URL,
description: "AI-powered mock interviews and interview preparation for Amazon VA roles.",
description: "Free AI-powered mock interviews and interview preparation for Amazon VA roles. A free companion to Project Amazon PH Academy.",
applicationCategory: "EducationApplication",
operatingSystem: "Web",
offers: {
"@type": "Offer",
price: "0",
priceCurrency: "PHP",
description: "Free tier with 264+ interview questions and AI coaching",
description: "Free, always — 264+ interview questions, AI coaching, resume review, and practice tests",
},
aggregateRating: {
"@type": "AggregateRating",
Expand Down Expand Up @@ -223,7 +229,7 @@ const structuredData = {
name: "Is the platform free to use?",
acceptedAnswer: {
"@type": "Answer",
text: "Yes, we offer a free tier with access to interview questions, AI coaching, and basic features.",
text: "Yes, Interview Lab is 100% free — mock interviews, the question bank, AI coaching, resume review, and more, no card required. It's a free companion to Project Amazon PH Academy.",
},
},
],
Expand Down
2 changes: 0 additions & 2 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,3 @@ export default function Home() {
</AuthProvider>
);
}

<!-- redeploy 1783496964 -->
104 changes: 53 additions & 51 deletions src/components/interview-lab/LandingPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ const TESTIMONIALS = [
];

const FAQ = [
{ q: "Can I switch plans at any time?", a: "Yes. Upgrade or downgrade anytime. Upgrades give immediate access. Downgrades take effect at billing period end." },
{ q: "Is there a free trial?", a: "The Free plan lets you explore the platform with limited access. Paid plans unlock everything from day one." },
{ q: "What payment methods?", a: "GCash, all major credit cards, and debit cards. All prices in Philippine Peso." },
{ q: "Can I cancel?", a: "Cancel anytime from account settings. Access continues until the end of your billing period." },
{ q: "Is Interview Lab really free?", a: "Yes. Mock interviews, the question bank, resume review, cover letters, practice tests — all of it, no card required. It's built as a free companion to Project Amazon PH Academy." },
{ q: "What's the difference between Interview Lab and the Academy?", a: "Interview Lab gets you ready for the interview: questions, mock practice, resume feedback. Project Amazon PH Academy is the paid, in-depth training — full Amazon ads courses, tools, and certifications for after you're hired." },
{ q: "Do I need the Academy to use Interview Lab?", a: "No. Interview Lab stands on its own. The Academy is there if you want to go deeper once you've landed the role." },
{ q: "Which Amazon VA roles does it cover?", a: "PPC, Account, Listing, Reporting, Agency, and Senior PPC — six role-specific tracks, each with its own questions and mock interviews." },
];

export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps) {
Expand All @@ -89,12 +89,15 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
<div className="w-8 h-8 rounded-full bg-accent-violet/20 flex items-center justify-center">
<Lightning className="w-4 h-4 text-accent-indigo" weight="light" />
</div>
<span className="font-heading font-bold text-sm text-text-primary hidden sm:block">Interview Lab</span>
<div className="hidden sm:flex flex-col leading-none">
<span className="font-heading font-bold text-sm text-text-primary">Interview Lab</span>
<span className="text-[10px] text-text-muted tracking-wide">by Project Amazon PH</span>
</div>
</div>

{/* Desktop links */}
<div className="hidden md:flex items-center gap-1">
{["Why This", "VA Roles", "Features", "Pricing"].map((link) => (
{["Why This", "VA Roles", "Features", "Academy"].map((link) => (
<a
key={link}
href={`#${link.toLowerCase().replace(" ", "-")}`}
Expand Down Expand Up @@ -131,7 +134,7 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
className="md:hidden mt-2 bg-glass/80 backdrop-blur-3xl border border-glass-border rounded-2xl p-6 shadow-glass-lg"
>
<div className="flex flex-col gap-2">
{["Why This", "VA Roles", "Features", "Pricing"].map((link, i) => (
{["Why This", "VA Roles", "Features", "Academy"].map((link, i) => (
<a
key={link}
href={`#${link.toLowerCase().replace(" ", "-")}`}
Expand All @@ -154,7 +157,7 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
<motion.div variants={fadeUpVariants}>
<GlassBadge variant="accent" className="mb-8">
<Sparkle className="w-3 h-3 mr-1" weight="light" />
Built for Filipino VAs targeting Amazon roles
100% free — a Project Amazon PH tool
</GlassBadge>
</motion.div>

Expand All @@ -172,7 +175,7 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
className="text-text-secondary text-lg sm:text-xl max-w-2xl mx-auto leading-relaxed mb-12 font-body"
>
The exact questions agencies ask, AI coaching that shows you how to answer,
and the confidence to finally land that Amazon VA role.
and the confidence to finally land that Amazon VA role — free, no card required.
</motion.p>

<motion.div variants={fadeUpVariants} className="flex flex-col sm:flex-row items-center justify-center gap-4">
Expand All @@ -184,6 +187,13 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
Try a Practice Test
</GlassButton>
</motion.div>

<motion.p variants={fadeUpVariants} className="text-text-muted text-sm mt-6">
No card, no trial countdown. Built free by the team behind{" "}
<a href="#academy" className="text-text-secondary underline underline-offset-2 hover:text-text-primary transition-colors duration-400">
Project Amazon PH Academy
</a>.
</motion.p>
</motion.div>
</div>
</section>
Expand Down Expand Up @@ -407,8 +417,8 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
</div>
</section>

{/* ═══════════════════ PRICING ═══════════════════ */}
<section id="pricing" className="py-24 sm:py-32 px-4 sm:px-6">
{/* ═══════════════════ ACADEMY (formerly Pricing) ═══════════════════ */}
<section id="academy" className="py-24 sm:py-32 px-4 sm:px-6">
<div className="max-w-5xl mx-auto">
<motion.div
initial="hidden"
Expand All @@ -418,54 +428,36 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
className="text-center mb-16"
>
<motion.div variants={fadeUpVariants}>
<GlassBadge className="mb-6">Simple Pricing</GlassBadge>
<GlassBadge className="mb-6">Free Tool, Paid Academy</GlassBadge>
</motion.div>
<motion.h2 variants={fadeUpVariants} className="font-heading text-3xl sm:text-5xl font-bold mb-4">
Start Free. Upgrade When Ready.
Get Hired Free. Go Deeper When You&apos;re Ready.
</motion.h2>
<motion.p variants={fadeUpVariants} className="text-text-secondary text-lg max-w-xl mx-auto">
Interview Lab gets you interview-ready at zero cost. Project Amazon PH Academy
is the paid, in-depth training for after you land the role.
</motion.p>
</motion.div>

<motion.div
initial="hidden"
whileInView="visible"
viewport={{ once: true, margin: "-100px" }}
variants={staggerContainer}
className="grid grid-cols-1 md:grid-cols-3 gap-6 items-start"
className="grid grid-cols-1 md:grid-cols-2 gap-6 items-start"
>
{/* Free */}
{/* Interview Lab — Free */}
<motion.div variants={fadeUpVariants}>
<GlassCard className="p-8 overflow-hidden">
<GlassBadge variant="muted" className="mb-4">Free</GlassBadge>
<div className="font-heading text-3xl font-bold text-text-primary mb-1">&#8369;0</div>
<div className="text-text-muted text-sm mb-6">Get started with basic prep</div>
<GlassButton variant="secondary" size="sm" className="w-full mb-6" onClick={onGetStarted}>
Get Started
</GlassButton>
<ul className="space-y-3">
{["1 mock interview per week", "Beginner question bank", "Basic resume review", "Free downloads"].map((f) => (
<li key={f} className="flex items-start gap-2.5 text-sm text-text-secondary">
<Check className="w-4 h-4 text-accent-emerald mt-0.5 shrink-0" weight="light" />
{f}
</li>
))}
</ul>
</GlassCard>
</motion.div>

{/* Pro — Highlighted */}
<motion.div variants={fadeUpVariants} custom={1}>
<GlassCard variant="elevated" className="p-8 ring-1 ring-accent-violet/30 shadow-glass-glow overflow-hidden">
<GlassBadge variant="accent" className="mb-4">
<Crown className="w-3 h-3 mr-1" weight="light" /> Most Popular
</GlassBadge>
<div className="font-heading text-3xl font-bold text-text-primary mb-1">&#8369;499<span className="text-base font-normal text-text-muted">/mo</span></div>
<div className="text-text-muted text-sm mb-6">Everything you need</div>
<GlassBadge variant="accent" className="mb-4">Free Forever</GlassBadge>
<div className="font-heading text-2xl font-bold text-text-primary mb-1">Interview Lab</div>
<div className="text-text-muted text-sm mb-6">Everything you need to land the interview</div>
<GlassButton size="sm" className="w-full mb-6" onClick={onGetStarted}>
Start 7-Day Free Trial
Start Free
<ArrowUpRight className="w-4 h-4" weight="light" />
</GlassButton>
<ul className="space-y-3">
{["5 mock interviews per week", "All question difficulties", "Unlimited resume reviews", "Unlimited cover letters", "Starter downloads", "Export to DOCX & PDF"].map((f) => (
{["Unlimited mock interviews", "264+ question bank, all roles", "AI resume review", "Unlimited cover letters", "Practice tests & learning paths", "No card, no trial countdown"].map((f) => (
<li key={f} className="flex items-start gap-2.5 text-sm text-text-secondary">
<Check className="w-4 h-4 text-accent-indigo mt-0.5 shrink-0" weight="light" />
{f}
Expand All @@ -475,17 +467,25 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
</GlassCard>
</motion.div>

{/* Premium */}
<motion.div variants={fadeUpVariants} custom={2}>
{/* Project Amazon PH Academy — Paid */}
<motion.div variants={fadeUpVariants} custom={1}>
<GlassCard className="p-8 overflow-hidden">
<GlassBadge className="mb-4">Premium</GlassBadge>
<div className="font-heading text-3xl font-bold text-text-primary mb-1">&#8369;999<span className="text-base font-normal text-text-muted">/mo</span></div>
<div className="text-text-muted text-sm mb-6">For serious candidates</div>
<GlassButton variant="secondary" size="sm" className="w-full mb-6" onClick={onGetStarted}>
Start Free Trial
<GlassBadge className="mb-4">
<Crown className="w-3 h-3 mr-1" weight="light" /> Paid Academy
</GlassBadge>
<div className="font-heading text-2xl font-bold text-text-primary mb-1">Project Amazon PH Academy</div>
<div className="text-text-muted text-sm mb-6">Structured courses for after you&apos;re hired — &#8369;2,999 to &#8369;9,999</div>
<GlassButton
variant="secondary"
size="sm"
className="w-full mb-6"
onClick={() => window.open("https://projectamazonph.com", "_blank", "noopener,noreferrer")}
>
Explore the Academy
<ArrowUpRight className="w-4 h-4" weight="light" />
</GlassButton>
<ul className="space-y-3">
{["Unlimited mock interviews", "Advanced question bank", "AI coaching with feedback", "Priority support", "All downloads", "Admin access"].map((f) => (
{["Full Amazon ads course curriculum", "Campaign Builder & Bid Elevator tools", "Certificates recognized in our hiring pipeline", "Ultimate tier: weekly live classes + 1-on-1 review"].map((f) => (
<li key={f} className="flex items-start gap-2.5 text-sm text-text-secondary">
<Check className="w-4 h-4 text-accent-emerald mt-0.5 shrink-0" weight="light" />
{f}
Expand Down Expand Up @@ -581,11 +581,13 @@ export function LandingPage({ onGetStarted, onViewPrograms }: LandingPageProps)
<div className="flex items-center gap-2">
<Lightning className="w-4 h-4 text-accent-indigo" weight="light" />
<span className="font-heading font-bold text-sm text-text-secondary">Interview Lab</span>
<span className="text-text-muted text-xs">by Project Amazon PH</span>
</div>
<div className="flex items-center gap-6 text-text-muted text-xs">
<a href="#privacy" className="hover:text-text-secondary transition-colors duration-400">Privacy</a>
<a href="#terms" className="hover:text-text-secondary transition-colors duration-400">Terms</a>
<span>&copy; {year} Interview Lab</span>
<a href="https://projectamazonph.com" target="_blank" rel="noopener noreferrer" className="hover:text-text-secondary transition-colors duration-400">Academy</a>
<span>&copy; {year} Project Amazon PH Interview Lab</span>
</div>
</div>
</footer>
Expand Down
Loading