Merge version_2_1781989800405 into main #1

Merged
bender merged 2 commits from version_2_1781989800405 into main 2026-06-20 21:12:36 +00:00
6 changed files with 171 additions and 153 deletions

View File

@@ -1,16 +1,21 @@
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
import { motion } from "motion/react";
import { StyleProvider } from "@/components/ui/StyleProvider";
import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot";
import TestimonialTrustCard from "@/components/sections/testimonial/TestimonialTrustCard";
import HeroWorkScrollStack from "@/components/sections/hero/HeroWorkScrollStack";
import AboutTestimonialParallax from "@/components/sections/about/AboutTestimonialParallax";
import FeaturesBentoGridCta from "@/components/sections/features/FeaturesBentoGridCta";
import FaqTabbedAccordion from "@/components/sections/faq/FaqTabbedAccordion";
import ContactSplitFormParallax from "@/components/sections/contact/ContactSplitFormParallax";
import LoaderReveal from "@/components/ui/LoaderReveal";
import CornerGlowBackground from "@/components/ui/CornerGlowBackground";
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import ServicesSection from './HomePage/sections/Services';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage() {
import ToolsSection from './HomePage/sections/Tools';export default function HomePage(): React.JSX.Element {
return (
<StyleProvider siteBackground="none" heroBackground="none" buttonVariant="stagger">
<LoaderReveal
@@ -29,157 +34,16 @@ export default function HomePage() {
</motion.div>
<HeroWorkScrollStack
heroAnimationDelay={4}
tag="1 spot left this month"
title="Design that"
titleHighlight="commands attention."
description="Design engineered for performance, not just aesthetics."
descriptionMuted="I craft every visual touchpoint your brand needs to capture attention and convert it into revenue."
primaryButton={{
text: "Book a call with me",
href: "#contact",
avatarSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/avatar.webp",
avatarLabel: "You",
}}
sectionTag="Selected Work"
sectionTitle="Projects That Speak for Themselves"
sectionDescription="A curated selection of design work that drove real business results for ambitious brands."
items={[
{
title: "HydroFlow Product Launch",
description: "Beverage brand shoot. Every frame engineered to sell.",
imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/screen-1.webp",
tag: "Product Shot",
},
{
title: "Webild Athlete Campaign",
description: "Sports tech shoot. Wearables captured in raw motion.",
imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/screen-2.webp",
tag: "Photography",
},
{
title: "Maru Residence",
description: "Architectural interior shoot. Minimal compositions.",
imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/screen-3.webp",
tag: "Interior Design",
},
]}
secondaryButton={{ text: "View all my projects", href: "#" }}
/>
<HeroSection />
<TestimonialTrustCard
quote="Working with Joseph felt like having a seasoned design partner who truly understood our vision for KYMA and brought it to life in ways we hadn't even imagined."
rating={5}
author="Thomas Weber — Co-founder of KYMA"
avatars={[
{ name: "Thomas Weber", imageSrc: "https://randomuser.me/api/portraits/men/75.jpg" },
]}
/>
<div id="about" data-section="about">
<AboutTestimonialParallax
tag="About"
quote="I don't design to decorate — I design to solve. Sharp, intentional work that moves brands forward."
author="Joseph Alexander"
role="Independent Designer"
imageSrc="https://storage.googleapis.com/webild/default/templates/creative-portfolio/avatar.webp"
socialLinks={[
{ icon: "Twitter", label: "Twitter", href: "#" },
{ icon: "Linkedin", label: "LinkedIn", href: "#" },
{ icon: "Instagram", label: "Instagram", href: "#" },
]}
/>
</div>
<AboutSection />
<div id="services" data-section="services">
<FeaturesBentoGridCta
tag="Services"
title="What I Bring to the Table"
description="End-to-end creative services designed to make your brand impossible to ignore — from the first frame to the final pixel."
features={[
{ title: "Photography", description: "Art-directed shoots that capture your brand's personality. Every image is color-graded and built to stop the scroll.", imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/photography.webp" },
{ title: "Product Design", description: "User-centered interfaces for apps and SaaS products. From wireframe to pixel-perfect UI — intuitive experiences that keep users coming back.", imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/product-design.webp" },
{ title: "Website", description: "Conversion-focused websites that look sharp and perform. Clean layouts, strategic CTAs, and responsive design that turns traffic into revenue.", imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/website.webp" },
{ title: "Videos", description: "Brand films and product videos engineered for engagement. Story-driven visuals that convert viewers into customers.", imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/videos.webp" },
]}
ctaButton={{
text: "Book a call with me",
href: "#contact",
avatarSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/avatar.webp",
avatarLabel: "You",
}}
/>
</div>
<ServicesSection />
<ToolsSection />
<FaqTabbedAccordion
tag="FAQ"
title="Frequently Asked Questions"
description="Everything you need to know before we start working together."
categories={[
{
name: "General",
items: [
{ question: "What type of clients do you work with?", answer: "I work with ambitious brands, startups, and established businesses that value premium creative work. Whether you're launching a new product or refreshing your brand identity, I bring the same level of craft and attention to detail." },
{ question: "What's your availability like?", answer: "I typically take on 23 projects at a time to ensure each client gets my full attention. Reach out to check my current availability — I'm happy to discuss timelines." },
{ question: "Do you work remotely or on-site?", answer: "Primarily remote, but I'm open to on-site work for shoots, workshops, or strategy sessions depending on the project scope and location." },
{ question: "Can I see more examples of your work?", answer: "Absolutely. The projects on this site are a curated selection. I'm happy to share additional case studies relevant to your industry during our initial call." },
],
},
{
name: "Pricing",
items: [
{ question: "How do you structure your pricing?", answer: "I offer project-based pricing tailored to scope and deliverables. Every engagement starts with a discovery call so I can provide an accurate, transparent quote — no surprises." },
{ question: "Do you require a deposit?", answer: "Yes, I require a 50% deposit to secure your spot and begin work. The remaining balance is due upon delivery of final assets." },
{ question: "Do you offer retainer packages?", answer: "I do. For clients with ongoing creative needs, monthly retainers offer priority access, discounted rates, and faster turnaround times." },
{ question: "What's included in a typical project quote?", answer: "Quotes include all creative direction, production, editing, and delivery of final files. Revisions are built in — I want you to be thrilled with the result." },
],
},
{
name: "Process",
items: [
{ question: "What does your process look like?", answer: "Discovery call → Creative brief → Concept development → Production → Review & refinement → Final delivery. I keep you in the loop at every stage with clear timelines and checkpoints." },
{ question: "How long does a typical project take?", answer: "Most projects wrap within 24 weeks depending on complexity. Larger campaigns or multi-deliverable projects may extend further, and I'll set expectations upfront." },
{ question: "How many revisions are included?", answer: "Two rounds of revisions are standard. In practice, my clients rarely need more than one — I invest heavily in understanding your vision before production begins." },
{ question: "What do you need from me to get started?", answer: "A brief overview of your brand, goals, and any existing assets or references. I'll guide you through the rest during our kickoff call." },
],
},
{
name: "Results",
items: [
{ question: "What kind of results can I expect?", answer: "My work is designed to drive measurable outcomes — higher engagement, increased conversions, and a brand presence that commands attention. I'll share relevant case studies during our call." },
{ question: "Do you track performance metrics?", answer: "While I focus on the creative, I design everything with performance in mind. I'm happy to collaborate with your marketing team to align on KPIs and measure impact." },
{ question: "Can you share client testimonials?", answer: "Yes — I have testimonials and references available. Many of my clients see 23x improvements in engagement after implementing new creative assets." },
{ question: "What makes your work different?", answer: "I combine strategic thinking with high-end execution. Every project is approached as a partnership — I'm invested in your success, not just delivering files." },
],
},
]}
cta={{
imageSrc: "https://storage.googleapis.com/webild/default/templates/creative-portfolio/avatar.webp",
name: "More questions? Reach out anytime.",
role: "joseph@alexandercreative.com",
buttonText: "Book a call",
buttonHref: "#contact",
}}
/>
<div id="contact" data-section="contact">
<ContactSplitFormParallax
tag="Get in Touch"
title="Let's Build"
description="Have a project in mind? Drop me a message and I'll get back to you within 24 hours."
inputs={[
{ name: "name", type: "text", placeholder: "Your name", required: true },
{ name: "email", type: "email", placeholder: "Your email", required: true }
]}
textarea={{ name: "message", placeholder: "Tell me about your project...", rows: 5, required: true }}
buttonText="Send Message"
imageSrc="https://storage.googleapis.com/webild/default/templates/creative-portfolio/contact.webp"
ctaLinks={[
{ icon: "Video", label: "Book a Call", href: "#" },
]}
/>
</div>
<ContactSection />
</StyleProvider>

View File

@@ -0,0 +1,20 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutTestimonialParallax from "@/components/sections/about/AboutTestimonialParallax";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<AboutTestimonialParallax
tag="About Me"
quote="I'm a marketer who understands brands from the inside out. I've scaled revenue through campaigns, built content that ranks organically, and designed experiences that convert. Currently pursuing MBA in Marketing & Business Analytics at DTU."
author="Tanishq"
role="Brand & Marketing Professional"
imageSrc="https://picsum.photos/seed/524311708/1200/800"
socialLinks={[{"icon":"Linkedin","href":"#","label":"LinkedIn"},{"label":"Email","href":"#","icon":"Mail"},{"label":"Phone","href":"#","icon":"Phone"}]}
/>
</div>
);
}

View File

@@ -0,0 +1,25 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactSplitFormParallax from "@/components/sections/contact/ContactSplitFormParallax";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<ContactSplitFormParallax
tag="Contact"
title="Let's Connect"
description="Looking for a brand thinker and creative executor? Let's discuss how I can help scale your marketing efforts."
inputs={[
{ name: "name", type: "text", placeholder: "Your name", required: true },
{ name: "email", type: "email", placeholder: "Your email", required: true }
]}
textarea={{ name: "message", placeholder: "Tell me about your project...", rows: 5, required: true }}
buttonText="Send Message"
imageSrc="https://picsum.photos/seed/2106098008/1200/800"
ctaLinks={[{"href":"#","icon":"Linkedin","label":"Connect on LinkedIn"},{"icon":"Mail","label":"Email Me","href":"#"}]}
/>
</div>
);
}

View File

@@ -0,0 +1,26 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroWorkScrollStack from "@/components/sections/hero/HeroWorkScrollStack";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<HeroWorkScrollStack
heroAnimationDelay={4}
tag="MBA Marketing & Business Analytics @ DTU"
title="Tanishq"
titleHighlight="Brand & Marketing Professional"
description="I build brands through campaigns, content, and creativity — and I measure everything."
descriptionMuted="Marketer · Brand Thinker · Creative Executor"
primaryButton={{"avatarLabel":"Tanishq","text":"Get in touch","href":"#contact","avatarSrc":"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&q=80&w=200"}}
sectionTag="Featured Work"
sectionTitle="Work That Performed"
sectionDescription="A selection of campaigns, content, and strategies that drove measurable business impact."
items={[{"description":"Scaled WhatsApp campaign from ₹6L to ₹12L/week revenue","imageSrc":"https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&q=80&w=2000","tag":"Campaign Marketing","title":"IndiaPost Revenue Growth"},{"description":"225K+ impressions and Page 1 Google rankings across SEO content","imageSrc":"https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&q=80&w=2000","tag":"SEO & Content","title":"Organic Growth Strategy"},{"description":"Acquired 110 B2B clients in 3 months through outreach and pitch","imageSrc":"https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&q=80&w=2000","tag":"B2B Marketing","title":"Client Acquisition"}]}
secondaryButton={{"href":"#services","text":"View my expertise"}}
/>
</div>
);
}

View File

@@ -0,0 +1,19 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "services" section.
import React from 'react';
import FeaturesBentoGridCta from "@/components/sections/features/FeaturesBentoGridCta";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<FeaturesBentoGridCta
tag="Expertise"
title="What I Do"
description="End-to-end marketing expertise spanning strategy, execution, and measurement."
features={[{"description":"End-to-end campaign planning and execution across digital channels.","title":"Brand & Campaign Marketing","imageSrc":"https://images.unsplash.com/photo-1557838923-2985c318be48?auto=format&fit=crop&q=80&w=1000"},{"description":"Long form, short form, ad copy, scripts — written to perform not just to exist.","title":"Creative Content","imageSrc":"https://images.unsplash.com/photo-1455390582262-044cdead2708?auto=format&fit=crop&q=80&w=1000"},{"imageSrc":"https://images.unsplash.com/photo-1432888117426-115b08df9ddf?auto=format&fit=crop&q=80&w=1000","description":"Data-driven content strategy with proven Page 1 rankings and organic growth.","title":"Digital & SEO"},{"imageSrc":"https://images.unsplash.com/photo-1561070791-2526d30994b5?auto=format&fit=crop&q=80&w=1000","description":"Wireframes, website references, visual templates using Figma and Canva.","title":"Design & UI/UX"}]}
ctaButton={{"href":"#contact","text":"Let's work together","avatarSrc":"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&q=80&w=200","avatarLabel":"Tanishq"}}
/>
</div>
);
}

View File

@@ -0,0 +1,64 @@
import ScrollReveal from '@/components/ui/ScrollReveal';
import TextAnimation from '@/components/ui/TextAnimation';
import Card from '@/components/ui/Card';
import Tag from '@/components/ui/Tag';
import { Search, BarChart, FileText, PenTool, Database, PieChart, Code, Bot } from 'lucide-react';
export default function ToolsSection() {
const tools = [
{ name: 'SEMrush', icon: Search },
{ name: 'Ahrefs', icon: Search },
{ name: 'Google Analytics', icon: BarChart },
{ name: 'Yoast SEO', icon: FileText },
{ name: 'Figma', icon: PenTool },
{ name: 'Canva', icon: PenTool },
{ name: 'HubSpot', icon: Database },
{ name: 'Claude', icon: Bot },
{ name: 'Lovable', icon: Code },
{ name: 'Codex', icon: Code },
{ name: 'Power BI', icon: PieChart },
{ name: 'Excel', icon: PieChart },
];
return (
<div data-webild-section="tools" id="tools">
<section className="relative w-full py-24 bg-background">
<div className="w-content-width mx-auto">
<div className="text-center mb-16">
<ScrollReveal variant="fade">
<Tag text="Toolkit" className="mb-4" />
</ScrollReveal>
<TextAnimation
text="Tools & Technologies"
variant="fade-blur"
tag="h2"
gradientText={false}
className="text-4xl md:text-5xl font-bold text-foreground mb-6"
/>
<ScrollReveal variant="fade" delay={0.2}>
<p className="text-lg text-accent max-w-2xl mx-auto">
The platforms and software I use to execute campaigns, analyze data, and design experiences.
</p>
</ScrollReveal>
</div>
<div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6">
{tools.map((tool, index) => {
const Icon = tool.icon;
return (
<ScrollReveal variant="fade" key={index} delay={0.1 * (index % 4)}>
<Card className="p-6 flex flex-col items-center justify-center text-center hover:bg-card/80 transition-colors">
<div className="w-12 h-12 rounded-full bg-primary-cta/10 flex items-center justify-center mb-4 text-primary-cta">
<Icon size={24} />
</div>
<h3 className="text-lg font-semibold text-foreground">{tool.name}</h3>
</Card>
</ScrollReveal>
);
})}
</div>
</div>
</section>
</div>
);
}