diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 4deeb90..170b752 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -6,41 +6,25 @@ import { ServiceWrapper } from "@/components/ServiceWrapper"; import Tag from "@/tag/Tag"; const archivo = Archivo({ - variable: "--font-archivo", - subsets: ["latin"], + variable: "--font-archivo", subsets: ["latin"], }); const inter = Inter({ - variable: "--font-inter", - subsets: ["latin"], + variable: "--font-inter", subsets: ["latin"], }); export const metadata: Metadata = { - title: "Ascend - Competitive Study Platform with Fair Rankings", - description: "Turn focus sessions into XP. Compete fairly on leaderboards. Study groups, streak bonuses, and zero pay-to-win mechanics. Free forever.", - keywords: "study platform, focus timer, leaderboard, study groups, competitive learning, XP rewards, productivity", - metadataBase: new URL("https://ascend.study"), + title: "Ascend - Competitive Study Platform with Fair Rankings", description: "Turn focus sessions into XP. Compete fairly on leaderboards. Study groups, streak bonuses, and zero pay-to-win mechanics. Free forever.", keywords: "study platform, focus timer, leaderboard, study groups, competitive learning, XP rewards, productivity", metadataBase: new URL("https://ascend.study"), alternates: { - canonical: "https://ascend.study", - }, + canonical: "https://ascend.study"}, openGraph: { - title: "Ascend - Make Studying Competitive & Fair", - description: "Earn XP through focus sessions. Climb leaderboards. Study like a sport. No shortcuts. No pay-to-win.", - url: "https://ascend.study", - siteName: "Ascend", - type: "website", - images: [ + title: "Ascend - Make Studying Competitive & Fair", description: "Earn XP through focus sessions. Climb leaderboards. Study like a sport. No shortcuts. No pay-to-win.", url: "https://ascend.study", siteName: "Ascend", type: "website", images: [ { - url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-modern-mobile-phone-screen-showing-a-c-1772486097214-9b3dd733.png", - alt: "Ascend Focus Timer Dashboard", - }, + url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-modern-mobile-phone-screen-showing-a-c-1772486097214-9b3dd733.png", alt: "Ascend Focus Timer Dashboard"}, ], }, twitter: { - card: "summary_large_image", - title: "Ascend - Competitive Study Platform", - description: "Turn focus sessions into XP. Compete fairly. No pay-to-win.", - images: ["https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-modern-mobile-phone-screen-showing-a-c-1772486097214-9b3dd733.png"], + card: "summary_large_image", title: "Ascend - Competitive Study Platform", description: "Turn focus sessions into XP. Compete fairly. No pay-to-win.", images: ["https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-modern-mobile-phone-screen-showing-a-c-1772486097214-9b3dd733.png"], }, robots: { index: true, diff --git a/src/app/page.tsx b/src/app/page.tsx index ebf0ad2..122a593 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -24,8 +24,7 @@ export default function HomePage() { const footerColumns = [ { - title: "Product", - items: [ + title: "Product", items: [ { label: "Features", href: "#features" }, { label: "Pricing", href: "#pricing" }, { label: "Status", href: "https://status.ascend.study" }, @@ -33,8 +32,7 @@ export default function HomePage() { ], }, { - title: "Community", - items: [ + title: "Community", items: [ { label: "Discord", href: "https://discord.gg/ascend" }, { label: "Twitter", href: "https://twitter.com/ascendapp" }, { label: "Blog", href: "https://blog.ascend.study" }, @@ -42,8 +40,7 @@ export default function HomePage() { ], }, { - title: "Legal", - items: [ + title: "Legal", items: [ { label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }, { label: "Contact", href: "support@ascend.study" }, @@ -68,9 +65,7 @@ export default function HomePage() { @@ -86,19 +81,13 @@ export default function HomePage() { slides={[ { imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-modern-mobile-phone-screen-showing-a-c-1772486097214-9b3dd733.png", - imageAlt: "A modern mobile phone screen showing a clean focus timer interface", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-modern-mobile-phone-screen-showing-a-c-1772486097214-9b3dd733.png", imageAlt: "A modern mobile phone screen showing a clean focus timer interface"}, { imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-leaderboard-interface-displayin-1772486097580-1f458ad3.png?_wi=1", - imageAlt: "A mobile leaderboard interface displaying a ranked list of users", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-leaderboard-interface-displayin-1772486097580-1f458ad3.png", imageAlt: "A mobile leaderboard interface displaying a ranked list of users"}, { imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-minimal-distraction-free-focus-timer-s-1772486097186-75c81c8b.png?_wi=1", - imageAlt: "A minimal, distraction-free focus timer screen", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-minimal-distraction-free-focus-timer-s-1772486097186-75c81c8b.png", imageAlt: "A minimal, distraction-free focus timer screen"}, ]} autoplayDelay={4000} showDimOverlay={true} @@ -117,53 +106,29 @@ export default function HomePage() { animationType="slide-up" features={[ { - id: "1", - title: "Focus Sessions with XP Rewards", - tags: ["Core Feature", "Fair Play"], + id: "1", title: "Focus Sessions with XP Rewards", tags: ["Core Feature", "Fair Play"], imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-minimal-distraction-free-focus-timer-s-1772486097186-75c81c8b.png?_wi=2", - imageAlt: "Focus session in progress", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-minimal-distraction-free-focus-timer-s-1772486097186-75c81c8b.png", imageAlt: "Focus session in progress"}, { - id: "2", - title: "Global & Group Leaderboards", - tags: ["Competition", "Social"], + id: "2", title: "Global & Group Leaderboards", tags: ["Competition", "Social"], imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-leaderboard-interface-displayin-1772486097580-1f458ad3.png?_wi=2", - imageAlt: "Global and group leaderboards", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-leaderboard-interface-displayin-1772486097580-1f458ad3.png", imageAlt: "Global and group leaderboards"}, { - id: "3", - title: "Study Groups", - tags: ["Collaboration", "Community"], + id: "3", title: "Study Groups", tags: ["Collaboration", "Community"], imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-interface-showing-a-study-group-1772486097550-2d164173.png", - imageAlt: "Study group member list", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-interface-showing-a-study-group-1772486097550-2d164173.png", imageAlt: "Study group member list"}, { - id: "4", - title: "Streak Bonuses & Achievements", - tags: ["Motivation", "Consistency"], + id: "4", title: "Streak Bonuses & Achievements", tags: ["Motivation", "Consistency"], imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-celebratory-mobile-interface-showing-a-1772486097252-ea4ea60e.png", - imageAlt: "Streak milestone achievement", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-celebratory-mobile-interface-showing-a-1772486097252-ea4ea60e.png", imageAlt: "Streak milestone achievement"}, { - id: "5", - title: "Advanced Analytics (Elite)", - tags: ["Premium", "Insights"], + id: "5", title: "Advanced Analytics (Elite)", tags: ["Premium", "Insights"], imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-analytics-dashboard-showing-dai-1772486097502-2a701e39.png", - imageAlt: "Analytics dashboard with charts", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-analytics-dashboard-showing-dai-1772486097502-2a701e39.png", imageAlt: "Analytics dashboard with charts"}, { - id: "6", - title: "Google OAuth Onboarding", - tags: ["Security", "Fast Setup"], + id: "6", title: "Google OAuth Onboarding", tags: ["Security", "Fast Setup"], imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-profile-screen-showing-user-ava-1772486097633-83b827c3.png", - imageAlt: "User profile with elite badge", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-mobile-profile-screen-showing-user-ava-1772486097633-83b827c3.png", imageAlt: "User profile with elite badge"}, ]} /> @@ -179,34 +144,16 @@ export default function HomePage() { animationType="slide-up" metrics={[ { - id: "1", - value: "47,000+", - title: "Total Study Hours Logged", - items: [ - "50% increase in consistency", - "Fair-play ranked system", - "No premium XP bonuses", - ], + id: "1", value: "47,000+", title: "Total Study Hours Logged", items: [ + "50% increase in consistency", "Fair-play ranked system", "No premium XP bonuses"], }, { - id: "2", - value: "12,500+", - title: "Active Learners", - items: [ - "From 80+ countries", - "Competing fairly", - "Building streaks", - ], + id: "2", value: "12,500+", title: "Active Learners", items: [ + "From 80+ countries", "Competing fairly", "Building streaks"], }, { - id: "3", - value: "89%", - title: "Retention Rate", - items: [ - "Month-over-month retention", - "Competitive engagement", - "Community-driven growth", - ], + id: "3", value: "89%", title: "Retention Rate", items: [ + "Month-over-month retention", "Competitive engagement", "Community-driven growth"], }, ]} /> @@ -223,45 +170,21 @@ export default function HomePage() { animationType="slide-up" testimonials={[ { - id: "1", - name: "Alex Chen", - role: "Pre-Med Student", - company: "UC Berkeley", - rating: 5, + id: "1", name: "Alex Chen", role: "Pre-Med Student", company: "UC Berkeley", rating: 5, imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-professional-portrait-photo-of-a-colle-1772486097367-0f452a7a.png", - imageAlt: "Alex Chen, Pre-Med Student", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-professional-portrait-photo-of-a-colle-1772486097367-0f452a7a.png", imageAlt: "Alex Chen, Pre-Med Student"}, { - id: "2", - name: "Jordan Patel", - role: "MBA Candidate", - company: "Stanford GSB", - rating: 5, + id: "2", name: "Jordan Patel", role: "MBA Candidate", company: "Stanford GSB", rating: 5, imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-professional-portrait-photo-of-a-young-1772486097440-926c4027.png", - imageAlt: "Jordan Patel, MBA Candidate", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-professional-portrait-photo-of-a-young-1772486097440-926c4027.png", imageAlt: "Jordan Patel, MBA Candidate"}, { - id: "3", - name: "Sam Rodriguez", - role: "Grad Student", - company: "MIT", - rating: 5, + id: "3", name: "Sam Rodriguez", role: "Grad Student", company: "MIT", rating: 5, imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-diverse-portrait-photo-of-a-student-at-1772486097289-ddcb2ace.png", - imageAlt: "Sam Rodriguez, Grad Student", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-diverse-portrait-photo-of-a-student-at-1772486097289-ddcb2ace.png", imageAlt: "Sam Rodriguez, Grad Student"}, { - id: "4", - name: "Casey Williams", - role: "Tutor & Educator", - company: "National Tutoring Network", - rating: 5, + id: "4", name: "Casey Williams", role: "Tutor & Educator", company: "National Tutoring Network", rating: 5, imageSrc: - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-professional-portrait-of-a-tutor-or-ed-1772486097316-bb6d6782.png", - imageAlt: "Casey Williams, Tutor & Educator", - }, + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APEfJ9F6jmo2dt87uy4rTCCYHk/a-professional-portrait-of-a-tutor-or-ed-1772486097316-bb6d6782.png", imageAlt: "Casey Williams, Tutor & Educator"}, ]} kpiItems={[ { value: "280%", label: "Avg Engagement Increase" }, @@ -280,15 +203,7 @@ export default function HomePage() { textboxLayout="default" useInvertedBackground={false} names={[ - "Harvard Study Groups", - "Stanford Competitive Learning", - "MIT Scholars Network", - "Oxford Achievement Hub", - "Berkeley Test Prep", - "Yale Leadership Academy", - "Princeton Excellence Club", - "Columbia Study Collective", - ]} + "Harvard Study Groups", "Stanford Competitive Learning", "MIT Scholars Network", "Oxford Achievement Hub", "Berkeley Test Prep", "Yale Leadership Academy", "Princeton Excellence Club", "Columbia Study Collective"]} speed={40} showCard={true} /> @@ -305,38 +220,14 @@ export default function HomePage() { animationType="slide-up" plans={[ { - id: "free", - badge: "Perfect to Start", - badgeIcon: Sparkles, - price: "Free Forever", - subtitle: "All core features, limited groups", - features: [ - "Unlimited focus sessions", - "Join up to 3 groups", - "Create 1 group", - "Weekly & lifetime leaderboard (top 10 + your rank)", - "Streak tracking & 5% bonus", - "Basic statistics", - "Push notifications", - ], + id: "free", badge: "Perfect to Start", badgeIcon: Sparkles, + price: "Free Forever", subtitle: "All core features, limited groups", features: [ + "Unlimited focus sessions", "Join up to 3 groups", "Create 1 group", "Weekly & lifetime leaderboard (top 10 + your rank)", "Streak tracking & 5% bonus", "Basic statistics", "Push notifications"], }, { - id: "elite", - badge: "Most Popular", - badgeIcon: Crown, - price: "$4.99/mo", - subtitle: "Full access. Zero XP advantages.", - features: [ - "Everything in Free, plus:", - "Unlimited group joins & creation", - "Unlimited group members", - "Full leaderboard access & scroll", - "Rank history timeline", - "Advanced analytics (graphs & breakdowns)", - "Daily study insights", - "Topic performance breakdown", - "Elite profile badge", - ], + id: "elite", badge: "Most Popular", badgeIcon: Crown, + price: "$4.99/mo", subtitle: "Full access. Zero XP advantages.", features: [ + "Everything in Free, plus:", "Unlimited group joins & creation", "Unlimited group members", "Full leaderboard access & scroll", "Rank history timeline", "Advanced analytics (graphs & breakdowns)", "Daily study insights", "Topic performance breakdown", "Elite profile badge"], }, ]} /> @@ -354,41 +245,23 @@ export default function HomePage() { animationType="smooth" faqs={[ { - id: "1", - title: "Is Ascend really free?", - content: - "Yes! Ascend is completely free to use. You get unlimited focus sessions, leaderboard access, streak tracking, and all core features at no cost. Ascend Elite ($4.99/mo) unlocks convenience features like unlimited groups and advanced analytics—but never XP bonuses. Your fair ranking is protected.", - }, + id: "1", title: "Is Ascend really free?", content: + "Yes! Ascend is completely free to use. You get unlimited focus sessions, leaderboard access, streak tracking, and all core features at no cost. Ascend Elite ($4.99/mo) unlocks convenience features like unlimited groups and advanced analytics—but never XP bonuses. Your fair ranking is protected."}, { - id: "2", - title: "Can I pay for more XP?", - content: - "No. XP is earned only through completed focus sessions. Ascend Elite removes the frustration of group limits and gives you analytics insights, but it never shortcuts study time. We believe fair competition is more motivating.", - }, + id: "2", title: "Can I pay for more XP?", content: + "No. XP is earned only through completed focus sessions. Ascend Elite removes the frustration of group limits and gives you analytics insights, but it never shortcuts study time. We believe fair competition is more motivating."}, { - id: "3", - title: "How do streak bonuses work?", - content: - "After 7 consecutive days of study, you earn a 5% XP bonus on sessions. This stacks up to a maximum 20% bonus at 30 days. Streaks reset if you miss a day, but they encourage consistency without creating unfair advantages.", - }, + id: "3", title: "How do streak bonuses work?", content: + "After 7 consecutive days of study, you earn a 5% XP bonus on sessions. This stacks up to a maximum 20% bonus at 30 days. Streaks reset if you miss a day, but they encourage consistency without creating unfair advantages."}, { - id: "4", - title: "What's the difference between weekly and lifetime leaderboards?", - content: - "Weekly leaderboards reset every 7 days and show your competitive rank for the current week. Lifetime leaderboards never reset and show your all-time rank since joining. Free users see top 10 + their position; Elite users see the full list.", - }, + id: "4", title: "What's the difference between weekly and lifetime leaderboards?", content: + "Weekly leaderboards reset every 7 days and show your competitive rank for the current week. Lifetime leaderboards never reset and show your all-time rank since joining. Free users see top 10 + their position; Elite users see the full list."}, { - id: "5", - title: "Can I create multiple study groups?", - content: - "Free users can create 1 group with up to 15 members. Elite members can create unlimited groups with unlimited members per group. You can join up to 3 groups for free; Elite removes this limit entirely.", - }, + id: "5", title: "Can I create multiple study groups?", content: + "Free users can create 1 group with up to 15 members. Elite members can create unlimited groups with unlimited members per group. You can join up to 3 groups for free; Elite removes this limit entirely."}, { - id: "6", - title: "What happens when my Elite subscription expires?", - content: - "Your subscription features turn off, but all your data remains. Groups you created don't disappear. You'll revert to free limits (3 groups max, 15 members per group), and you won't see full leaderboard or advanced analytics until you resubscribe.", - }, + id: "6", title: "What happens when my Elite subscription expires?", content: + "Your subscription features turn off, but all your data remains. Groups you created don't disappear. You'll revert to free limits (3 groups max, 15 members per group), and you won't see full leaderboard or advanced analytics until you resubscribe."}, ]} />