2025-07-11 16:54:37 +05:30
import { motion } from "framer-motion" ;
2025-09-01 18:16:11 +05:30
import {
Activity ,
ArrowRight ,
ArrowUpRight ,
Award ,
Building2 ,
FlaskConical ,
Globe ,
Heart ,
Package ,
PartyPopper ,
Search ,
ShoppingCart ,
Star ,
Tractor ,
TrendingUp ,
Trophy ,
Tv ,
Users ,
Utensils
} from "lucide-react" ;
import { useState } from "react" ;
import { Helmet } from "react-helmet-async" ;
import { ImageWithFallback } from "../components/figma/ImageWithFallback" ;
2025-07-11 16:54:37 +05:30
import { Footer } from "../components/Footer" ;
2025-09-01 18:16:11 +05:30
import { Navigation } from "../components/Navigation" ;
2025-07-11 16:54:37 +05:30
import { Badge } from "../components/ui/badge" ;
2025-09-01 18:16:11 +05:30
import { Button } from "../components/ui/button" ;
import { Card , CardContent } from "../components/ui/card" ;
2025-07-11 16:54:37 +05:30
import { Input } from "../components/ui/input" ;
import { Select , SelectContent , SelectItem , SelectTrigger , SelectValue } from "../components/ui/select" ;
2025-09-01 18:16:11 +05:30
import ambleCase from "../src/images/amble-case.webp" ;
import ranoutofCase from "../src/images/ranoutof-case.webp" ;
2026-02-17 12:08:19 +05:30
// import seezunCase from "../src/images/seezun-case.webp";
2025-09-01 18:16:11 +05:30
import tcCase from "../src/images/tc-case.webp" ;
import wokaCase from "../src/images/woka-case.webp" ;
import gtCase from "../src/images/gt-case.webp" ;
import RrCase from "../src/images/resturant-reward-case.webp" ;
import dkCase from "../src/images/dkCase.webp" ;
import vib360Case from "../src/images/vib360Case.webp" ;
import niftyCase from "../src/images/niftyCase.webp" ;
import prospertyCase from "../src/images/prospertyCase.webp" ;
import simplitendCase from "../src/images/simplitendCase.webp" ;
import amozCase from "../src/images/amozCase.webp" ;
import farmCase from "../src/images/farmCase.webp" ;
import leanCase from "../src/images/leanCase.webp" ;
2025-09-23 20:13:31 +05:30
import { useNavigate } from "react-router-dom" ;
2025-07-21 20:16:17 +05:30
2025-07-11 16:54:37 +05:30
const caseStudies = [
{
id : 1 ,
title : "RanOutOf" ,
2025-09-01 18:16:11 +05:30
image : ranoutofCase ,
2025-07-11 16:54:37 +05:30
category : "Lifestyle" ,
industry : "Consumer" ,
featured : true ,
link : "/projects/ranoutof" ,
2025-09-01 18:16:11 +05:30
icon : Package
2025-07-11 16:54:37 +05:30
} ,
2026-02-17 12:08:19 +05:30
// {
// id: 2,
// title: "Seezun",
// image: seezunCase,
// category: "E-commerce",
// industry: "Retail",
// featured: true,
// link: "/projects/seezun",
// icon: ShoppingCart
// },
2025-07-11 16:54:37 +05:30
{
id : 3 ,
title : "Woka" ,
2025-09-01 18:16:11 +05:30
image : wokaCase ,
2025-07-11 16:54:37 +05:30
category : "Health & Fitness" ,
industry : "Healthcare" ,
featured : true ,
link : "/projects/woka" ,
2025-09-01 18:16:11 +05:30
icon : Tv
2025-07-11 16:54:37 +05:30
} ,
{
id : 6 ,
title : "Traders Circuit" ,
2025-09-01 18:16:11 +05:30
image : tcCase ,
2025-07-11 16:54:37 +05:30
category : "FinTech" ,
industry : "Finance" ,
2025-09-01 18:16:11 +05:30
featured : true ,
2025-07-11 16:54:37 +05:30
link : "/projects/traderscircuit" ,
icon : TrendingUp
} ,
{
id : 7 ,
title : "Good Times" ,
2025-09-01 18:16:11 +05:30
image : gtCase ,
2025-07-11 16:54:37 +05:30
category : "Events" ,
industry : "Entertainment" ,
2025-09-01 18:16:11 +05:30
featured : true ,
2025-07-11 16:54:37 +05:30
link : "/projects/goodtimes" ,
2025-09-01 18:16:11 +05:30
icon : PartyPopper
2025-07-11 16:54:37 +05:30
} ,
{
id : 8 ,
2025-09-01 18:16:11 +05:30
title : "Resturant Reward App" ,
image : RrCase ,
category : "Loyalty & Rewards" ,
industry : "Hospitality" ,
featured : false ,
2026-03-19 19:37:16 +05:30
link : "" ,
2025-09-01 18:16:11 +05:30
icon : Utensils
} ,
{
id : 9 ,
title : "Amble" ,
image : ambleCase ,
category : "Social" ,
industry : "Heritage" ,
featured : false ,
link : "/projects/amble" ,
icon : Users
} ,
{
id : 10 ,
title : "Amoz" ,
image : amozCase ,
category : "Lifestyle" ,
industry : "Consumer" ,
featured : false ,
link : "/projects/amoz" ,
icon : Heart
} ,
{
id : 11 ,
title : "Dorf Ketal" ,
image : dkCase ,
category : "Lifestyle" ,
industry : "Chemicals" ,
featured : false ,
2026-03-19 19:37:16 +05:30
link : "" ,
2025-09-01 18:16:11 +05:30
icon : FlaskConical
} ,
{
id : 12 ,
title : "VIB360" ,
image : vib360Case ,
category : "Lifestyle" ,
industry : "Consumer" ,
featured : false ,
link : "/projects/vib360" ,
icon : Activity
} ,
{
id : 13 ,
title : "Nifty 11" ,
image : niftyCase ,
category : "Lifestyle" ,
industry : "Consumer" ,
featured : false ,
2026-03-19 19:37:16 +05:30
link : "" ,
2025-09-01 18:16:11 +05:30
icon : Trophy
} ,
{
id : 13 ,
2025-07-11 16:54:37 +05:30
title : "Prosperty" ,
2025-09-01 18:16:11 +05:30
image : prospertyCase ,
category : "Lifestyle" ,
2025-07-11 16:54:37 +05:30
industry : "Real Estate" ,
featured : false ,
link : "/projects/prosperty" ,
icon : Building2
2025-09-01 18:16:11 +05:30
} ,
{
id : 14 ,
title : "Simpletend" ,
image : simplitendCase ,
category : "Health & Fitness" ,
industry : "Healthcare" ,
featured : false ,
link : "/projects/simpletend" ,
icon : Activity
} ,
{
id : 15 ,
title : "Farm Feeder" ,
image : farmCase ,
category : "AgriTech" ,
industry : "Agriculture" ,
featured : false ,
2026-03-19 19:37:16 +05:30
link : "" ,
2025-09-01 18:16:11 +05:30
icon : Tractor
} ,
{
id : 16 ,
title : "Lean In World" ,
image : leanCase ,
category : "AgriTech" ,
industry : "Agriculture" ,
featured : false ,
2026-03-19 19:37:16 +05:30
link : "" ,
2025-09-01 18:16:11 +05:30
icon : Globe
} ,
2025-07-11 16:54:37 +05:30
] ;
2026-03-19 19:37:16 +05:30
const industries = [ "All Industries" , "Consumer" , "Retail" , "Healthcare" , "Technology" , "Agriculture" , "Finance" , "Entertainment" , "Real Estate" , "Heritage" , "Chemicals" , "Hospitality" ] ;
const categories = [ "All Categories" , "Lifestyle" , "E-commerce" , "Health & Fitness" , "Social" , "AgriTech" , "FinTech" , "Events" , "PropTech" , "Loyalty & Rewards" ] ;
2025-07-11 16:54:37 +05:30
export const CaseStudies = ( ) = > {
const [ searchTerm , setSearchTerm ] = useState ( "" ) ;
const [ selectedIndustry , setSelectedIndustry ] = useState ( "All Industries" ) ;
const [ selectedCategory , setSelectedCategory ] = useState ( "All Categories" ) ;
const [ showFeaturedOnly , setShowFeaturedOnly ] = useState ( false ) ;
// Filter case studies based on search and filters
2025-09-01 18:16:11 +05:30
const filteredCaseStudies = caseStudies . filter ( ( study ) = > {
const search = searchTerm . toLowerCase ( ) ;
// Now we only check against `title`, `category`, and `industry`
const matchesSearch =
study . title . toLowerCase ( ) . includes ( search ) ||
study . category . toLowerCase ( ) . includes ( search ) ||
study . industry . toLowerCase ( ) . includes ( search ) ;
const matchesIndustry =
selectedIndustry === "All Industries" || study . industry === selectedIndustry ;
const matchesCategory =
selectedCategory === "All Categories" || study . category === selectedCategory ;
2025-07-23 18:53:54 +05:30
2025-07-11 16:54:37 +05:30
const matchesFeatured = ! showFeaturedOnly || study . featured ;
return matchesSearch && matchesIndustry && matchesCategory && matchesFeatured ;
} ) ;
2025-09-23 20:13:31 +05:30
const navigate = useNavigate ( ) ;
2025-07-11 16:54:37 +05:30
return (
2026-02-17 12:08:19 +05:30
< div className = "min-h-screen dark bg-background" >
2025-09-23 20:13:31 +05:30
{ /* <Navigation /> */ }
2025-07-23 18:53:54 +05:30
2025-07-11 16:54:37 +05:30
{ /* Hero Section */ }
< section className = "relative pt-24 pb-20 overflow-hidden bg-black" >
2025-07-23 18:53:54 +05:30
< Helmet >
{ /* Page Title and Meta Description */ }
< title > Case Studies | AI Web Development Projects by WDI < / title >
< meta
name = "description"
content = "Explore real-world AI web development case studies from WDI. See how we help enterprises and startups create scalable, smart digital solutions."
/ >
{ /* Canonical Link */ }
2025-07-23 19:52:24 +05:30
< link rel = "canonical" href = "https://www.wdipl.com/case-studies" / >
2025-07-23 18:53:54 +05:30
{ /* Open Graph Tags (for Facebook, LinkedIn) */ }
< meta property = "og:title" content = "Case Studies | AI Web Development Projects by WDI" / >
< meta
property = "og:description"
content = "Explore real-world AI web development case studies from WDI. See how we help enterprises and startups create scalable, smart digital solutions."
/ >
< 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 = "Case Studies | AI Web Development Projects by WDI" / >
< meta
name = "twitter:description"
content = "Explore real-world AI web development case studies from WDI. See how we help enterprises and startups create scalable, smart digital solutions."
/ >
< 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-07-11 16:54:37 +05:30
< div className = "absolute inset-0 bg-gradient-to-br from-accent/5 via-background to-background" / >
2025-07-23 18:53:54 +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 } }
2026-02-17 12:08:19 +05:30
className = "container relative px-6 mx-auto lg:px-8"
2025-07-11 16:54:37 +05:30
>
< div className = "max-w-4xl mx-auto text-center" >
< Badge variant = "outline" className = "mb-6 border-accent/20 text-accent" >
Our Success Stories
< / Badge >
2026-02-17 12:08:19 +05:30
< h1 className = "mb-6 text-4xl font-semibold leading-tight md:text-6xl lg:text-7xl" >
2025-07-30 18:42:19 +05:30
< span className = "text-white" > Portfolios That < / span >
2025-07-11 16:54:37 +05:30
< span className = "text-accent" > Define Excellence < / span >
< / h1 >
2026-02-17 12:08:19 +05:30
< p className = "max-w-3xl mx-auto text-xl leading-relaxed text-gray-300" >
2026-04-07 14:56:17 +05:30
Explore our portfolio of AI ‑ driven , award ‑ winning projects that have transformed businesses and delighted millions of users across diverse industries .
2025-07-11 16:54:37 +05:30
< / p >
< / div >
< / motion.div >
< / section >
{ /* Filters Section */ }
2026-02-17 12:08:19 +05:30
< section className = "py-12 border-b bg-background border-white/10" >
< div className = "container px-6 mx-auto lg:px-8" >
2025-07-11 16:54:37 +05:30
< motion.div
initial = { { opacity : 0 , y : 20 } }
animate = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.6 , delay : 0.2 } }
className = "max-w-6xl mx-auto"
>
2026-02-17 12:08:19 +05:30
< div className = "grid items-end grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-4" >
2025-07-11 16:54:37 +05:30
{ /* Search */ }
< div className = "relative" >
2026-02-17 12:08:19 +05:30
< Search className = "absolute w-4 h-4 transform -translate-y-1/2 left-3 top-1/2 text-muted-foreground" / >
2025-07-11 16:54:37 +05:30
< Input
2025-08-07 19:49:37 +05:30
placeholder = "Search portfolios..."
2025-07-11 16:54:37 +05:30
value = { searchTerm }
onChange = { ( e ) = > setSearchTerm ( e . target . value ) }
className = "pl-10 bg-card/50 border-white/10"
/ >
< / div >
{ /* Industry Filter */ }
< Select value = { selectedIndustry } onValueChange = { setSelectedIndustry } >
< SelectTrigger className = "bg-card/50 border-white/10" >
< SelectValue placeholder = "Select Industry" / >
< / SelectTrigger >
< SelectContent >
{ industries . map ( ( industry ) = > (
< SelectItem key = { industry } value = { industry } >
{ industry }
< / SelectItem >
) ) }
< / SelectContent >
< / Select >
{ /* Category Filter */ }
< Select value = { selectedCategory } onValueChange = { setSelectedCategory } >
< SelectTrigger className = "bg-card/50 border-white/10" >
< SelectValue placeholder = "Select Category" / >
< / SelectTrigger >
< SelectContent >
{ categories . map ( ( category ) = > (
< SelectItem key = { category } value = { category } >
{ category }
< / SelectItem >
) ) }
< / SelectContent >
< / Select >
{ /* Featured Toggle */ }
< Button
variant = { showFeaturedOnly ? "default" : "outline" }
onClick = { ( ) = > setShowFeaturedOnly ( ! showFeaturedOnly ) }
2025-09-01 18:16:11 +05:30
className = "justify-center h-9"
2025-07-11 16:54:37 +05:30
>
< Award className = "w-4 h-4 mr-2" / >
Featured Only
< / Button >
< / div >
{ /* Results Count */ }
< div className = "mt-6 text-center" >
< p className = "text-muted-foreground" >
2025-08-07 19:49:37 +05:30
Showing { filteredCaseStudies . length } of { caseStudies . length } portfolios
2025-07-11 16:54:37 +05:30
< / p >
< / div >
< / motion.div >
< / div >
< / section >
{ /* Case Studies Grid */ }
< section className = "py-20 bg-background" >
2026-02-17 12:08:19 +05:30
< div className = "container px-6 mx-auto lg:px-8" >
< div className = "mx-auto max-w-7xl" >
< div className = "grid gap-8 md:grid-cols-2 lg:grid-cols-3" >
2025-07-11 16:54:37 +05:30
{ filteredCaseStudies . map ( ( study , index ) = > {
const IconComponent = study . icon ;
return (
< motion.div
key = { study . id }
initial = { { opacity : 0 , y : 40 } }
whileInView = { { opacity : 1 , y : 0 } }
2025-07-29 14:36:54 +05:30
transition = { { duration : 0.6 , delay : index * 0.01 } }
2025-07-11 16:54:37 +05:30
viewport = { { once : true } }
whileHover = { { y : - 8 , scale : 1.02 } }
2026-02-17 12:08:19 +05:30
className = "cursor-pointer group"
2025-09-23 20:13:31 +05:30
onClick = { ( ) = > navigate ( study . link ) }
2025-07-11 16:54:37 +05:30
>
2026-02-17 12:08:19 +05:30
< Card className = "h-full overflow-hidden transition-all duration-500 shadow-lg bg-card/50 backdrop-blur-md border-white/10 hover:border-accent/30 hover:shadow-2xl hover:shadow-accent/10 rounded-2xl"
2025-09-01 18:16:11 +05:30
onClick = { ( e ) = > {
e . stopPropagation ( ) ;
2025-09-23 20:13:31 +05:30
navigate ( study . link ) ;
2025-09-01 18:16:11 +05:30
} }
>
2026-02-17 12:08:19 +05:30
< CardContent className = "h-full p-0 pb-0 CardContentOverride" >
2025-07-11 16:54:37 +05:30
{ /* Image Header */ }
< div className = "relative overflow-hidden" >
< ImageWithFallback
src = { study . image }
alt = { study . title }
2026-02-17 12:08:19 +05:30
className = "object-cover w-full h-full transition-transform duration-500 group-hover:scale-110"
2025-07-11 16:54:37 +05:30
/ >
< div className = "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" / >
2025-07-23 18:53:54 +05:30
2025-07-11 16:54:37 +05:30
{ /* Category Badge */ }
2025-09-01 18:16:11 +05:30
< div className = "absolute top-2 left-4" >
2026-02-17 12:08:19 +05:30
< Badge className = "text-white border-0 bg-accent/90" >
2025-07-11 16:54:37 +05:30
{ study . category }
< / Badge >
< / div >
{ /* Featured Badge */ }
{ study . featured && (
2025-09-01 18:16:11 +05:30
< div className = "absolute top-2 right-4" >
2026-02-17 12:08:19 +05:30
< div className = "flex items-center gap-1 px-3 py-1 text-xs font-medium text-white rounded-full bg-amber-500/90" >
2025-07-11 16:54:37 +05:30
< Star className = "w-3 h-3 fill-current" / >
Featured
< / div >
< / div >
) }
{ /* Icon Overlay */ }
< div className = "absolute bottom-4 left-4" >
2026-02-17 12:08:19 +05:30
< div className = "flex items-center justify-center w-12 h-12 rounded-full bg-white/20 backdrop-blur-md" >
2025-07-11 16:54:37 +05:30
< IconComponent className = "w-6 h-6 text-white" / >
< / div >
< / div >
< / div >
< / CardContent >
< / Card >
< / motion.div >
) ;
} ) }
< / div >
< / div >
< / div >
< / section >
{ /* CTA Section */ }
< section className = "py-20 bg-black" >
2026-02-17 12:08:19 +05:30
< div className = "container px-6 mx-auto lg:px-8" >
2025-07-11 16:54:37 +05:30
< motion.div
initial = { { opacity : 0 , y : 30 } }
whileInView = { { opacity : 1 , y : 0 } }
transition = { { duration : 0.8 } }
viewport = { { once : true } }
2026-02-17 12:08:19 +05:30
className = "max-w-4xl mx-auto text-center"
2025-07-11 16:54:37 +05:30
>
2026-02-17 12:08:19 +05:30
< h2 className = "mb-6 text-3xl font-semibold text-white lg:text-4xl" >
2025-07-11 16:54:37 +05:30
Ready to Create Your Own Success Story ?
< / h2 >
2026-02-17 12:08:19 +05:30
< p className = "mb-8 text-xl leading-relaxed text-gray-300" >
2026-04-07 14:56:17 +05:30
Join the ranks of industry leaders who have transformed their businesses with our AI ‑ driven innovative solutions .
2025-07-11 16:54:37 +05:30
< / p >
2026-02-17 12:08:19 +05:30
< div className = "flex flex-col justify-center gap-4 sm:flex-row" >
2025-07-23 18:53:54 +05:30
< Button
2025-07-11 16:54:37 +05:30
size = "lg"
2026-02-17 12:08:19 +05:30
className = "text-white bg-accent hover:bg-accent/90"
2025-09-23 20:13:31 +05:30
onClick = { ( ) = > navigate ( "/start-a-project" ) }
2025-07-11 16:54:37 +05:30
>
Start Your Project
< ArrowUpRight className = "w-4 h-4 ml-2" / >
< / Button >
2025-07-23 18:53:54 +05:30
< Button
2025-07-11 16:54:37 +05:30
size = "lg"
variant = "outline"
2025-09-23 20:13:31 +05:30
onClick = { ( ) = > navigate ( "/contact-us" ) }
2025-07-11 16:54:37 +05:30
>
Schedule Consultation
< ArrowRight className = "w-4 h-4 ml-2" / >
< / Button >
< / div >
< / motion.div >
< / div >
< / section >
2025-09-23 20:13:31 +05:30
{ /* <Footer /> */ }
2025-07-11 16:54:37 +05:30
< / div >
) ;
} ;