import { motion } from "framer-motion";
import { ArrowLeft, ExternalLink, Calendar, Users, TrendingUp, BarChart3, Smartphone, Target, CheckCircle, ArrowRight, Zap, Shield, Database, Code, RefreshCw, Activity, Award, Star, Clock, Building2, Brain, Globe, Layers, Server, Cloud, Monitor, Cpu, Palette, Wrench, Heart, Share2, MapPin, Filter, Bell, Gift, CreditCard } from "lucide-react";
import { Navigation } from "../components/Navigation";
import { Footer } from "../components/Footer";
import { Button } from "../components/ui/button";
import { GridPattern } from "../components/GridPattern";
import { ImageWithFallback } from "../components/figma/ImageWithFallback";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent } from "@/components/ui/card";
import goodTimesLogo from "../src/images/good-times-logo.webp";
import { useNavigate } from "react-router-dom";
// Technology to icon mapping
const getTechIcon = (tech: string) => {
const techIconMap: { [key: string]: React.ReactNode } = {
"Flutter": ,
"Laravel": ,
"MySQL": ,
"Firebase": ,
"WebView": ,
"React Native": ,
"React": ,
"Node.js": ,
"MongoDB": ,
"WebSocket": ,
"Redux": ,
"TypeScript": ,
"JavaScript": ,
"AWS": ,
"Google Cloud": ,
"Azure": ,
"PostgreSQL": ,
"Python": ,
"Java": ,
"Swift": ,
"Kotlin": ,
"Docker": ,
"Kubernetes": ,
"GraphQL": ,
"REST API": ,
"Express": ,
"Vue.js": ,
"Angular":
};
return techIconMap[tech] || ;
};
const projectDetails = {
title: "GoodTimes: Social Event Discovery & Referral Platform",
subtitle: "A feature-rich mobile application for discovering social events, managing event participation, and earning through referrals—developed to scale user engagement and streamline event organizer workflows.",
technologies: ["Flutter", "Laravel", "MySQL", "Firebase", "WebView"],
industries: ["Social Media", "Event Management", "Entertainment"],
duration: "Ongoing (initial build completed in 4 months, enhancement phase under progress)",
teamSize: "5 Developers, 2 Designers, 1 PM, 1 QA, 1 Business Analyst",
platforms: ["iOS", "Android", "Web Admin Panel"]
};
const keyAchievements = [
{ label: "Early Access Users", value: "15K+", description: "Successfully onboarded" },
{ label: "RSVP Engagement", value: "70%", description: "Toggle interaction rate" },
{ label: "User Retention", value: "78%", description: "30-day retention rate" }
];
const businessObjectives = [
"Enable users to discover and RSVP to events with ease",
"Reward users for referrals and active engagement",
"Provide planners with tools to list events and track attendance",
"Integrate a scalable wallet and payment structure",
"Launch in the UK market, scale across Europe"
];
const coreFeatures = [
{
title: "Multi-role App Access",
description: "Distinct experiences for Customers and Event Planners with tailored interfaces",
icon:
},
{
title: "Referral + Wallet Engine",
description: "Share QR/referral codes and track earnings with integrated wallet system",
icon:
},
{
title: "Event Calendar Engine",
description: "Advanced filtering by genre, location, date, and interest with visual calendar",
icon:
},
{
title: "RSVP & Reminder System",
description: "In-app toggle, calendar sync, fire/exclusive event labels with smart notifications",
icon:
},
{
title: "Content Management",
description: "Comprehensive blogs, FAQs, About, and Contact modules with CMS integration",
icon:
},
{
title: "Rating & Review Engine",
description: "Post-event feedback system visible to all users for community trust",
icon:
}
];
const technicalChallenges = [
{
title: "Dynamic Referral Logic",
description: "Complex subscription rules with lockouts and wallet freeze mechanisms",
icon:
},
{
title: "Multi-role Architecture",
description: "Individual logic layers for customers, planners, and admin with secure access",
icon:
},
{
title: "Calendar Performance",
description: "Optimizing calendar-level performance for large event datasets",
icon:
},
{
title: "Wallet System Security",
description: "Flexible yet secure wallet system with payment thresholds and fraud prevention",
icon:
}
];
const developmentPhases = [
{
phase: "Discovery & Planning",
duration: "2 weeks",
description: "User journeys, event lifecycle modeling, tech recommendations",
icon:
},
{
phase: "UI/UX Design",
duration: "3 weeks",
description: "Wireframing, onboarding flow mockups, calendar UX design",
icon:
},
{
phase: "Core Development",
duration: "8 weeks",
description: "Flutter builds, backend API, wallet logic, event management system",
icon:
},
{
phase: "Testing & QA",
duration: "3 weeks",
description: "Multi-role testing, referral validation, UI regression testing",
icon:
},
{
phase: "Deployment & Support",
duration: "1 week",
description: "App Store/Play Store submission, admin access handover, monitoring setup",
icon:
}
];
const resultsMetrics = [
{ label: "Google Play Rating", value: "4.7★", description: "User satisfaction score" },
{ label: "API Response Time", value: "120ms", description: "Average response time" },
{ label: "Monthly Growth", value: "+22%", description: "User growth rate" },
{ label: "Referral Contribution", value: "35%", description: "New user acquisition" },
{ label: "Session Time Increase", value: "+28%", description: "Due to social features" },
{ label: "Event Attendance", value: "2x", description: "Planner reported increase" }
];
const technicalAchievements = [
"Subscription logic with freeze/forfeit tracking system",
"Referral engine with QR + WhatsApp API integration",
"Optimized Flutter app: <10MB APK with lightning UI transitions",
"Admin dashboard enabling full control over users and events",
"Gamified event discovery with engagement-driven tags",
"Smart calendar sync with one-tap RSVP functionality"
];
const lessonsLearned = {
worked: [
"Clear onboarding UX improved signup conversion by 37%",
"Agile iteration helped manage enhancement requests efficiently",
"In-app referral education improved share rates significantly"
],
improve: [
"Subscription billing and wallet freeze logic were complex to align",
"WhatsApp sharing setup needed special attention for API approvals",
"Multi-role testing required more comprehensive initial planning"
]
};
const futureRoadmap = [
{
phase: "Next 6 Months",
features: ["Event media gallery integration", "AI-powered event recommendations", "Push analytics for social feature usage", "Performance dashboards for event organizers"]
},
{
phase: "12 Months Vision",
features: ["Marketplace for ticket sales", "User-level badges and community forums", "Event sponsor promotions", "Multi-language support for EU expansion"]
}
];
export const GoodTimesProject = () => {
const navigate = useNavigate();
return (
{/*
*/}
{/* Section 1: Hero with Heading, Subheading, and Image */}
{/* Back Button */}
navigate('/case-studies')}
className="text-muted-foreground hover:text-foreground flex items-center gap-2 px-0 hover:bg-transparent"
>
Back to Portfolio
{/* Content - Left Aligned */}
Case Study
{projectDetails.title}
{projectDetails.subtitle}
{/* Project Image */}
{/* Section 2: Project Details */}
{/* Background Elements */}
{/* Section Header */}
Project Details
Comprehensive overview of technologies, timeline, and key achievements that drove this social platform's success
{/* Project Meta Information Grid */}
{/* Technologies & Industries Card */}
{/* Technologies */}
{projectDetails.technologies.map((tech) => (
{getTechIcon(tech)}
{tech}
))}
{/* Industries */}
{projectDetails.industries.map((industry) => (
{industry}
))}
{/* Timeline & Team Card */}
{/* Duration */}
{projectDetails.duration}
{/* Team */}
{projectDetails.teamSize}
{/* Platforms */}
{projectDetails.platforms.map((platform) => (
{platform}
))}
{/* Key Achievements Section */}
Key Impact & Results
Measurable outcomes that demonstrate the platform's success in social event discovery and engagement
{keyAchievements.map((achievement, index) => (
{/* Card Background Gradient */}
{/* Content */}
{/* Value */}
{achievement.value}
{/* Label */}
{achievement.label}
{/* Description */}
{achievement.description}
{/* Hover Effect Line */}
))}
{/* Executive Summary */}
Executive Summary
GoodTimes is a comprehensive social event discovery platform that bridges the gap between event-seekers and organizers through innovative referral systems, gamified engagement, and seamless event management. Built with scalability and user experience at its core, the platform transforms how people discover, attend, and organize social events while creating sustainable revenue streams through viral referral mechanisms.
{/* Project Overview */}
Project Overview
{/* Background & Context */}
{/* Glassmorphism Icon Container */}
Background & Context
Social event discovery and networking apps have grown significantly, especially among Gen-Z and millennials. GoodTimes aims to tap into this momentum by adding gamification (referrals, ratings, exclusive tags) and simplifying how users discover and commit to social events.
{/* Target Audience */}
{/* Glassmorphism Icon Container */}
Target Audience
Socially active individuals aged 18–35 interested in networking, music, fitness, and local events. Event planners and venues are the second audience, seeking efficient tools to reach new audiences and manage registrations.
{/* Business Objectives */}
{/* Glassmorphism Icon Container */}
Business Objectives
{businessObjectives.map((objective, index) => (
{objective}
))}
{/* Core Features */}
Core Features & Functionality
A comprehensive suite of tools designed to revolutionize social event discovery with gamification and seamless organizer workflows.
{coreFeatures.map((feature, index) => (
{feature.icon}
{feature.title}
{feature.description}
))}
{/* Challenges & Solution Architecture */}
{/* Challenges */}
Challenges & Constraints
{technicalChallenges.map((challenge, index) => (
{challenge.icon}
{challenge.title}
{challenge.description}
))}
{/* Solution Architecture */}
Solution Architecture
Technology Stack
Frontend: Flutter (iOS/Android)
Backend: Laravel (PHP)
Database: MySQL
Notifications: Firebase & Analytics
Payment: WebView-based integration
Architecture Highlights
Modular architecture with independent APIs per role
Event-based notification triggers
Wallet referral logic separate from transaction layer
Multi-tenancy admin view for role-based control
{/* Development Process */}
Development Process & Methodology
Agile sprints (2-week cycles) with enhancement backlog tracking, ensuring quality delivery and continuous improvement.
{developmentPhases.map((phase, index) => (
{phase.icon}
{phase.phase}
{phase.duration}
{phase.description}
{/* Connector Line */}
{index < developmentPhases.length - 1 && (
)}
))}
{/* Results & Impact */}
Results & Impact
Comprehensive performance metrics demonstrating GoodTimes' success in social event discovery and community engagement.
{resultsMetrics.map((metric, index) => (
{metric.value}
{metric.label}
{metric.description}
))}
Technical Achievements
{technicalAchievements.map((achievement, index) => (
{achievement}
))}
{/* Lessons Learned */}
Lessons Learned
Key insights and learnings from the GoodTimes development journey that shaped our approach to social platform development.
{/* What Worked */}
What Worked Well
{lessonsLearned.worked.map((lesson, index) => (
))}
{/* What Could Improve */}
Areas for Improvement
{lessonsLearned.improve.map((lesson, index) => (
))}
{/* Future Roadmap */}
Future Roadmap
Planned enhancements and features to build a vibrant event discovery ecosystem powered by AI, gamification, and community.
{futureRoadmap.map((roadmap, index) => (
{roadmap.phase}
{roadmap.features.map((feature, featureIndex) => (
))}
))}
{/* Client Testimonial */}
{[...Array(5)].map((_, i) => (
))}
"GoodTimes wouldn't be what it is without WDI's intuitive tech and top-notch planning. Their dedication to building for scale while also supporting daily product improvements is unmatched."
Matthew Weightman
Founder, GoodTimes
{/* CTA Section */}
Want to Build the Next Big Social Platform?
Let WDI help you turn your vision into an app that people love to use, with gamification, community features, and scalable architecture.
navigate('/contact-us')}
className="bg-accent hover:bg-accent/90 text-accent-foreground"
>
Contact Our Team
navigate('/case-studies')}
className="border-accent/30 text-accent hover:bg-accent/10"
>
View More Case Studies
{/*
*/}
);
};