2025-07-11 16:54:37 +05:30
import React from "react" ;
import { motion } from "framer-motion" ;
import { Navigation } from "../components/Navigation" ;
import { Footer } from "../components/Footer" ;
import { Button } from "../components/ui/button" ;
import { Badge } from "../components/ui/badge" ;
import { Card , CardContent } from "../components/ui/card" ;
2025-07-22 19:42:26 +05:30
import {
ArrowRight ,
MapPin ,
Clock ,
Users ,
Mail ,
2025-07-11 16:54:37 +05:30
Code ,
Palette ,
Settings ,
TrendingUp ,
Briefcase ,
Building ,
2025-07-21 15:57:34 +05:30
Database ,
Bug ,
LineChart
2025-07-11 16:54:37 +05:30
} from "lucide-react" ;
2025-07-22 19:42:26 +05:30
import { Helmet } from "react-helmet-async" ;
2025-07-11 16:54:37 +05:30
export const Careers = ( ) = > {
// Job positions data
const openPositions = [
{
2025-07-21 15:57:34 +05:30
title : "Jr. Flutter Developer" ,
department : "Mobile Development" ,
location : "In-office" ,
2025-07-11 16:54:37 +05:30
type : "Full-time" ,
2025-07-21 15:57:34 +05:30
description : "Build cross-platform mobile applications using Flutter and Dart for seamless performance across Android and iOS." ,
2025-07-11 16:54:37 +05:30
icon : Code
} ,
{
2025-07-21 15:57:34 +05:30
title : "Jr. React.js Developer" ,
department : "Frontend Development" ,
location : "In-office" ,
2025-07-11 16:54:37 +05:30
type : "Full-time" ,
2025-07-21 15:57:34 +05:30
description : "Develop responsive and interactive web user interfaces using React.js, TypeScript, and modern JavaScript tools." ,
2025-07-11 16:54:37 +05:30
icon : Code
} ,
{
2025-07-21 15:57:34 +05:30
title : "Jr. Laravel Developer" ,
2025-07-22 19:42:26 +05:30
department : "Backend Development" ,
2025-07-21 15:57:34 +05:30
location : "In-office" ,
2025-07-11 16:54:37 +05:30
type : "Full-time" ,
2025-07-21 15:57:34 +05:30
description : "Build and maintain scalable web applications using Laravel, PHP, and MySQL, with a focus on clean architecture and APIs." ,
icon : Database
2025-07-11 16:54:37 +05:30
} ,
{
2025-07-21 15:57:34 +05:30
title : "Jr. Node.js Developer" ,
2025-07-22 19:42:26 +05:30
department : "Backend Development" ,
2025-07-21 15:57:34 +05:30
location : "In-office" ,
2025-07-11 16:54:37 +05:30
type : "Full-time" ,
2025-07-21 15:57:34 +05:30
description : "Design and implement backend services and RESTful APIs using Node.js, Express, and modern JavaScript/TypeScript." ,
icon : Database
2025-07-11 16:54:37 +05:30
} ,
{
2025-07-21 15:57:34 +05:30
title : "Jr. Python Developer" ,
2025-07-22 19:42:26 +05:30
department : "Backend Development" ,
2025-07-21 15:57:34 +05:30
location : "In-office" ,
2025-07-11 16:54:37 +05:30
type : "Full-time" ,
2025-07-21 15:57:34 +05:30
description : "Develop server-side applications, automation scripts, and data-driven systems using Python and relevant frameworks like Django or Flask." ,
icon : Database
2025-07-11 16:54:37 +05:30
} ,
2025-07-21 15:57:34 +05:30
// {
// title: "UI/UX Designer",
// department: "Design & User Experience",
// location: "In-office",
// type: "Full-time",
// description: "Design intuitive user interfaces and create engaging user experiences for digital products.",
// icon: Palette
// },
2025-07-11 16:54:37 +05:30
{
2025-07-21 15:57:34 +05:30
title : "Jr. Software Tester / QA Engineer" ,
department : "Quality Assurance" ,
location : "In-office" ,
2025-07-11 16:54:37 +05:30
type : "Full-time" ,
2025-07-21 15:57:34 +05:30
description : "Create and execute manual and automated test plans to ensure quality, performance, and reliability of software applications." ,
icon : Bug
2025-07-11 16:54:37 +05:30
} ,
{
2025-07-21 15:57:34 +05:30
title : "Business Development Executive (IT)" ,
department : "Sales & Business Development" ,
location : "In-office" ,
2025-07-11 16:54:37 +05:30
type : "Full-time" ,
2025-07-21 15:57:34 +05:30
description : "Generate leads, build client relationships, and drive sales growth for IT products and software services." ,
icon : LineChart
2025-07-11 16:54:37 +05:30
}
] ;
// Smooth scroll to Send CV section
const scrollToSendCV = ( ) = > {
const element = document . getElementById ( 'send-cv-section' ) ;
if ( element ) {
2025-07-22 19:42:26 +05:30
element . scrollIntoView ( {
2025-07-11 16:54:37 +05:30
behavior : 'smooth' ,
block : 'start'
} ) ;
}
} ;
// Handle Send Your CV button click
const handleSendCV = ( ) = > {
const subject = 'Job Application' ;
const body = ` Dear HR Team,
I am interested in exploring career opportunities at WDI . Please find my resume attached .
Best regards ,
[ Your Name ] ` ;
2025-07-22 19:42:26 +05:30
2025-07-11 16:54:37 +05:30
const mailtoLink = ` mailto:hr@wdipl.com?subject= ${ encodeURIComponent ( subject ) } &body= ${ encodeURIComponent ( body ) } ` ;
window . open ( mailtoLink , '_blank' ) ;
} ;
return (
< div className = "dark min-h-screen bg-background" >
2025-07-22 19:42:26 +05:30
< Helmet >
{ /* Page Title and Meta Description */ }
< title > Careers at WDI | Explore Tech Career Opportunities Today < / title >
< meta
name = "description"
content = "Join WDI’ s growing team. Explore tech career opportunities in software, AI, and digital innovation with a company that values learning and leadership."
/ >
{ /* Canonical Link */ }
2025-07-23 19:52:24 +05:30
< link rel = "canonical" href = "https://www.wdipl.com/company/careers" / >
2025-07-22 19:42:26 +05:30
{ /* Open Graph Tags (for Facebook, LinkedIn) */ }
< meta property = "og:title" content = "Careers at WDI | Explore Tech Career Opportunities Today" / >
< meta
property = "og:description"
content = "Join WDI’ s growing team. Explore tech career opportunities in software, AI, and digital innovation with a company that values learning and leadership."
/ >
< meta property = "og:url" content = "https://www.wdipl.com/services" / >
< meta property = "og:type" content = "website" / >
< meta property = "og:image" content = "https://www.wdipl.com/your-preview-image.jpg" / >
{ /* Twitter Card Tags */ }
< meta name = "twitter:card" content = "summary_large_image" / >
< meta name = "twitter:title" content = "Careers at WDI | Explore Tech Career Opportunities Today" / >
< meta
name = "twitter:description"
content = "Join WDI’ s growing team. Explore tech career opportunities in software, AI, and digital innovation with a company that values learning and leadership."
/ >
< meta name = "twitter:image" content = "https://www.wdipl.com/your-preview-image.jpg" / >
{ /* Social Profiles (using JSON-LD Schema) */ }
< script type = "application/ld+json" >
{ `
{
"@context" : "https://schema.org" ,
"@type" : "Organization" ,
"name" : "WDI" ,
"url" : "https://www.wdipl.com" ,
"sameAs" : [
"https://www.facebook.com/wdideas" ,
"https://www.linkedin.com/in/website-developers-india/" ,
"https://www.instagram.com/wdipl/"
]
}
` }
< / script >
< / Helmet >
2025-09-23 20:13:31 +05:30
{ /* <Navigation /> */ }
2025-07-22 19:42:26 +05:30
2025-07-11 16:54:37 +05:30
{ /* Hero Section */ }
< section className = "relative pt-24 pb-20 overflow-hidden bg-black" >
< div className = "absolute inset-0 bg-gradient-to-br from-[#E5195E]/5 via-background to-background" / >
2025-07-22 19:42:26 +05:30
< motion.div
2025-07-11 16:54:37 +05:30
initial = { { opacity : 0 , y : 30 } }
animate = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.8 } }
className = "relative container mx-auto px-6 lg:px-8"
>
< div className = "max-w-4xl mx-auto text-center" >
< Badge variant = "outline" className = "mb-6 border-[#E5195E]/20 text-[#E5195E]" >
Join Our Team
< / Badge >
< h1 className = "text-4xl md:text-6xl lg:text-7xl font-semibold leading-tight" >
< span className = "text-white" > Build the Future of < / span >
< span className = "text-[#E5195E]" > Technology < / span >
< / h1 >
< / div >
< / motion.div >
< / section >
{ /* We're Hiring Section */ }
< section className = "py-32 bg-wdi-grey" >
< div className = "container mx-auto px-6 lg:px-8" >
< motion.div
initial = { { opacity : 0 , y : 30 } }
whileInView = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.8 } }
viewport = { { once : true } }
className = "text-center mb-16"
>
< h2 className = "text-3xl lg:text-5xl font-semibold leading-tight mb-6" >
< span className = "text-white" > We ' re < / span >
< span className = "text-[#E5195E]" > Hiring < / span >
< / h2 >
< p className = "text-xl text-gray-300 leading-relaxed max-w-3xl mx-auto" >
Discover exciting opportunities to grow your career with our talented team .
< / p >
< / motion.div >
2025-07-22 19:42:26 +05:30
2025-07-11 16:54:37 +05:30
< motion.div
initial = { { opacity : 0 , y : 40 } }
whileInView = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.8 , delay : 0.2 } }
viewport = { { once : true } }
className = "max-w-5xl mx-auto grid gap-6"
>
{ openPositions . map ( ( position , index ) = > {
const IconComponent = position . icon ;
return (
< motion.div
key = { index }
initial = { { opacity : 0 , y : 20 } }
whileInView = { { opacity : 1 , y : 0 } }
2025-07-29 14:36:54 +05:30
transition = { { duration : 0.5 , delay : index * 0.01 } }
2025-07-11 16:54:37 +05:30
viewport = { { once : true } }
>
< Card className = "bg-gray-900/30 backdrop-blur-md border-gray-700/30 hover:border-[#E5195E]/30 transition-all duration-300 group" >
< CardContent className = "p-8" >
< div className = "grid lg:grid-cols-5 gap-6 items-center" >
{ /* Job Info */ }
< div className = "lg:col-span-4" >
< div className = "flex items-start gap-4 mb-4" >
< div className = "w-12 h-12 bg-[#E5195E]/20 rounded-xl flex items-center justify-center flex-shrink-0" >
< IconComponent className = "w-6 h-6 text-[#E5195E]" / >
< / div >
< div className = "flex-1" >
< h3 className = "text-2xl font-semibold text-white group-hover:text-[#E5195E] transition-colors duration-300 mb-3" >
{ position . title }
< / h3 >
< div className = "flex flex-wrap items-center gap-4 text-sm text-gray-400 mb-4" >
< Badge className = "bg-[#E5195E]/20 text-[#E5195E] border-[#E5195E]/30" >
{ position . department }
< / Badge >
< div className = "flex items-center gap-1" >
< MapPin className = "w-4 h-4" / >
{ position . location }
< / div >
< div className = "flex items-center gap-1" >
< Clock className = "w-4 h-4" / >
{ position . type }
< / div >
< / div >
< p className = "text-gray-300 leading-relaxed" >
{ position . description }
< / p >
< / div >
< / div >
< / div >
2025-07-22 19:42:26 +05:30
2025-07-11 16:54:37 +05:30
{ /* Apply Button */ }
< div className = "flex justify-center lg:justify-end" >
2025-07-22 19:42:26 +05:30
< Button
2025-07-11 16:54:37 +05:30
className = "bg-[#E5195E] hover:bg-[#E5195E]/90 text-white px-8 py-3"
onClick = { scrollToSendCV }
>
Apply Now
< ArrowRight className = "ml-2 w-4 h-4" / >
< / Button >
< / div >
< / div >
< / CardContent >
< / Card >
< / motion.div >
) ;
} ) }
< / motion.div >
< / div >
< / section >
{ /* Send Your CV Section */ }
< section id = "send-cv-section" className = "py-32 bg-black" >
< div className = "container mx-auto px-6 lg:px-8" >
< motion.div
initial = { { opacity : 0 , y : 30 } }
whileInView = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.8 } }
viewport = { { once : true } }
className = "text-center max-w-4xl mx-auto"
>
< h2 className = "text-3xl lg:text-5xl font-semibold leading-tight mb-8" >
< span className = "text-white" > Want to Work With Us < / span >
< span className = "text-[#E5195E]" > Anyway ? < / span >
< / h2 >
2025-07-22 19:42:26 +05:30
2025-07-11 16:54:37 +05:30
< p className = "text-xl text-gray-300 leading-relaxed mb-12" >
Share your CV with us . We ' ll reach out if something matches .
< / p >
2025-07-22 19:42:26 +05:30
2025-07-11 16:54:37 +05:30
{ /* HR Email Display */ }
< motion.div
initial = { { opacity : 0 , y : 20 } }
whileInView = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.6 , delay : 0.2 } }
viewport = { { once : true } }
className = "bg-gray-900/30 backdrop-blur-sm border border-gray-700/30 rounded-2xl p-8 mb-12 max-w-lg mx-auto"
>
< div className = "flex items-center justify-center gap-3 mb-4" >
< Mail className = "w-6 h-6 text-[#E5195E]" / >
< h3 className = "text-xl font-semibold text-white" > HR Email < / h3 >
< / div >
2025-07-22 19:42:26 +05:30
< a
2025-07-11 16:54:37 +05:30
href = "mailto:hr@wdipl.com"
className = "text-2xl text-[#E5195E] hover:text-[#E5195E]/80 transition-colors duration-300 font-medium"
>
hr @wdipl . com
< / a >
< / motion.div >
2025-07-22 19:42:26 +05:30
2025-07-11 16:54:37 +05:30
{ /* Send CV Button */ }
2025-07-21 15:57:34 +05:30
{ / * < m o t i o n . d i v
2025-07-11 16:54:37 +05:30
initial = { { opacity : 0 , y : 20 } }
whileInView = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.6 , delay : 0.3 } }
viewport = { { once : true } }
>
< Button
size = "lg"
className = "bg-[#E5195E] hover:bg-[#E5195E]/90 text-white text-xl px-12 py-4"
onClick = { handleSendCV }
>
< Mail className = "w-5 h-5 mr-3" / >
Send Your CV
< ArrowRight className = "ml-3 w-5 h-5" / >
< / Button >
2025-07-21 15:57:34 +05:30
< / motion.div > * / }
2025-07-11 16:54:37 +05:30
< / motion.div >
< / div >
< / section >
{ /* Company Stats */ }
< section className = "py-20 bg-wdi-grey border-t border-gray-800" >
< div className = "container mx-auto px-6 lg:px-8" >
< motion.div
initial = { { opacity : 0 , y : 30 } }
whileInView = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.8 } }
viewport = { { once : true } }
className = "grid grid-cols-2 md:grid-cols-4 gap-8 max-w-4xl mx-auto"
>
{ [
{ number : "50+" , label : "Team Members" , color : "from-blue-400 to-blue-600" } ,
{ number : "15+" , label : "Countries" , color : "from-green-400 to-green-600" } ,
{ number : "98%" , label : "Employee Satisfaction" , color : "from-purple-400 to-purple-600" } ,
{ number : "4.9/5" , label : "Company Rating" , color : "from-[#E5195E] to-[#FF6B9D]" }
] . map ( ( stat , index ) = > (
2025-07-22 19:42:26 +05:30
< motion.div
2025-07-11 16:54:37 +05:30
key = { index }
initial = { { opacity : 0 , y : 20 } }
whileInView = { { opacity : 1 , y : 0 } }
2025-07-29 14:36:54 +05:30
transition = { { duration : 0.5 , delay : index * 0.01 } }
2025-07-11 16:54:37 +05:30
viewport = { { once : true } }
className = "text-center"
>
< div className = { ` text-4xl md:text-5xl font-bold bg-gradient-to-r ${ stat . color } bg-clip-text text-transparent mb-2 ` } >
{ stat . number }
< / div >
< div className = "text-gray-400 text-sm md:text-base" > { stat . label } < / div >
< / motion.div >
) ) }
< / motion.div >
< / div >
< / section >
2025-09-23 20:13:31 +05:30
{ /* <Footer /> */ }
2025-07-11 16:54:37 +05:30
< / div >
) ;
} ;