DjayChucko commited on
Commit
8f9ffe1
·
verified ·
1 Parent(s): 749931f

Manual changes saved

Browse files
Files changed (2) hide show
  1. intel.html +234 -121
  2. scorecard.html +6 -6
intel.html CHANGED
@@ -4,189 +4,302 @@
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <meta name="description" content="McGPT - Your strategic sales companion">
7
- <title>McGPT | Home</title>
8
- <link rel="icon" type="image/x-icon" href="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/Scaleway-Logomark-White.png">
9
  <script src="https://cdn.tailwindcss.com"></script>
10
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
11
  <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
12
  <script src="https://unpkg.com/feather-icons"></script>
 
13
  <script>
14
  tailwind.config = {
15
  darkMode: 'class',
16
- theme: {
17
- extend: {
18
- colors: {
19
- primary: '#6366f1',
20
- secondary: '#8b5cf6',
21
- }
22
- }
23
- }
24
  }
25
  </script>
26
  <style>
27
  body { font-family: 'Poppins', sans-serif; }
 
 
 
 
 
 
28
  .nav-link.active {
29
  font-weight: 600;
30
- border-bottom: 2px solid #8b5cf6;
31
  }
32
- .card-hover {
33
- @apply transition-all duration-300 hover:scale-105 hover:shadow-xl;
34
  }
35
- .hamburger-line {
36
- @apply w-6 h-0.5 bg-white transition-all duration-300;
 
 
 
37
  }
38
- #mobileMenuButton.open .hamburger-line:nth-child(1) {
39
- transform: rotate(45deg) translate(5px, 6px);
40
- }
41
- #mobileMenuButton.open .hamburger-line:nth-child(2) {
42
- opacity: 0;
43
- }
44
- #mobileMenuButton.open .hamburger-line:nth-child(3) {
45
- transform: rotate(-45deg) translate(5px, -6px);
46
  }
47
  </style>
48
  </head>
49
- <body class="bg-[#3D1862] min-h-screen flex flex-col relative" style="background-image: radial-gradient(circle at 25% 25%, rgba(39, 8, 71, 0.6) 0%, rgba(39, 8, 71, 0) 50%), radial-gradient(circle at 75% 75%, rgba(59, 15, 110, 0.6) 0%, rgba(59, 15, 110, 0) 50%);">
50
 
51
- <header class="sticky top-0 z-50 bg-purple-800/80 backdrop-blur-md shadow-sm">
52
  <div class="container mx-auto px-4 py-3">
53
  <div class="flex justify-between items-center">
54
  <a href="index.html" class="flex items-center space-x-2">
55
  <img src="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/Scaleway-Logomark-White.png" alt="Logo" class="h-8 mr-2">
56
- <span class="text-xl font-bold text-white font-heading">McGPT</span>
57
  </a>
58
  <nav class="hidden md:flex space-x-8">
59
- <a href="value-mapper.html" class="nav-link py-2 px-1 text-white hover:text-purple-300 transition-colors">Mapper</a>
60
- <a href="scorecard.html" class="nav-link py-2 px-1 text-white hover:text-purple-300 transition-colors">Scorecard</a>
61
- <a href="strategy.html" class="nav-link py-2 px-1 text-white hover:text-purple-300 transition-colors">Method</a>
62
- <a href="academy.html" class="nav-link py-2 px-1 text-white hover:text-purple-300 transition-colors">Academy</a>
63
- <a href="intel.html" class="nav-link py-2 px-1 text-white hover:text-purple-300 transition-colors">Market</a>
64
- </nav>
65
  <div class="flex items-center space-x-4">
66
- <button id="themeToggle" class="p-2 rounded-full text-white">
67
- <i data-feather="moon"></i>
 
68
  </button>
69
- <button id="mobileMenuButton" class="md:hidden flex flex-col space-y-1.5 p-2 z-50 bg-[#9B5CEB] rounded-lg">
70
  <span class="hamburger-line"></span>
71
  <span class="hamburger-line"></span>
72
  <span class="hamburger-line"></span>
73
  </button>
74
  </div>
75
  </div>
 
 
 
 
 
 
 
 
 
76
  </div>
77
  </header>
78
 
79
- <div id="mobileMenu" class="hidden fixed inset-0 z-40 bg-purple-900">
80
- <div class="flex flex-col items-center justify-center h-full space-y-8">
81
- <a href="index.html" class="nav-link text-2xl text-white">Home</a>
82
- <a href="value-mapper.html" class="nav-link text-2xl text-white">Mapper</a>
83
- <a href="scorecard.html" class="nav-link text-2xl text-white">Scorecard</a>
84
- <a href="strategy.html" class="nav-link text-2xl text-white">Method</a>
85
- <a href="academy.html" class="nav-link text-2xl text-white">Academy</a>
86
- <a href="intel.html" class="nav-link text-2xl text-white">Market</a>
87
- </div>
88
- </div>
89
-
90
- <main class="flex-grow">
91
- <section class="py-16 sm:py-24">
92
- <div class="container mx-auto px-4">
93
- <div class="grid md:grid-cols-2 gap-12 items-center">
94
  <div>
95
- <h1 class="text-4xl lg:text-5xl font-extrabold mb-6 leading-tight text-white">
96
- Raise <span class="bg-gradient-to-r from-pink-400 to-purple-400 bg-clip-text text-transparent">Your</span> Game
97
- </h1>
98
- <p class="text-xl mb-4 text-purple-200">
99
- Sales intelligence anywhere, anytime helping you <strong class="font-semibold text-white">qualify</strong>, <strong class="font-semibold text-white">quantify</strong>, and <strong class="font-semibold text-white">justify</strong> Scaleway's unique value proposition.
100
- </p>
101
-
102
- <div class="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
103
- <a href="value-mapper.html" class="bg-[#9B5CEB] hover:bg-purple-500 text-white px-8 py-3 rounded-lg font-semibold transition-colors shadow-lg text-center">
104
- Pod Value Mapper
105
- </a>
106
- <a href="scorecard.html" class="bg-purple-500/50 border border-purple-400 hover:bg-purple-500/70 text-white px-8 py-3 rounded-lg font-semibold transition-colors shadow-lg text-center">
107
- MEDDICC Scorecard
108
- </a>
109
- <a href="intel.html" class="bg-indigo-600 border border-indigo-700 hover:bg-indigo-700 text-white px-8 py-3 rounded-lg font-semibold transition-colors shadow-lg text-center">
110
- Market Mapper
111
- </a>
112
- </div>
113
  </div>
114
- <div class="hidden md:block">
115
- <img src="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/MediaEntertainment-Illustration-transparent.png" alt="Strategic Toolkit Illustration" class="w-full h-auto">
 
 
116
  </div>
117
  </div>
118
  </div>
119
- </section>
120
-
121
- <section class="py-16 sm:py-24">
122
- <div class="container mx-auto px-4">
123
- <h2 class="text-3xl font-bold text-center mb-12 text-white">
124
- A strategic toolkit for <span class="bg-gradient-to-r from-pink-400 to-purple-400 bg-clip-text text-transparent">ELITE</span> Sales!
125
- </h2>
126
- <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8">
127
- <a href="value-mapper.html" class="block bg-white/10 text-white rounded-xl p-6 shadow-lg card-hover backdrop-blur-sm border border-white/10">
128
- <div class="w-12 h-12 rounded-lg bg-purple-500/20 flex items-center justify-center mb-4">
129
- <i data-feather="map" class="text-purple-300"></i>
130
- </div>
131
- <h3 class="text-xl font-semibold mb-2">Value Mapping</h3>
132
- <p class="text-purple-200">Qualify leads <strong class="text-white font-medium">effectively</strong> by mapping what they value to Scaleway differentiation.</p>
133
- </a>
134
- <a href="scorecard.html" class="block bg-white/10 text-white rounded-xl p-6 shadow-lg card-hover backdrop-blur-sm border border-white/10">
135
- <div class="w-12 h-12 rounded-lg bg-purple-500/20 flex items-center justify-center mb-4">
136
- <i data-feather="check-square" class="text-purple-300"></i>
137
- </div>
138
- <h3 class="text-xl font-semibold mb-2">Value Scoring</h3>
139
- <p class="text-purple-200">Utilise our MEDDICC Scorecard to build <strong class="text-white font-medium">real urgency</strong> and improve forecasting.</p>
140
- </a>
141
- <a href="strategy.html" class="block bg-white/10 text-white rounded-xl p-6 shadow-lg card-hover backdrop-blur-sm border border-white/10">
142
- <div class="w-12 h-12 rounded-lg bg-purple-500/20 flex items-center justify-center mb-4">
143
- <i data-feather="trending-up" class="text-purple-300"></i>
144
- </div>
145
- <h3 class="text-xl font-semibold mb-2">Value-Centric</h3>
146
- <p class="text-purple-200">Learn, perfect & execute Scaleway's proven <strong class="text-white font-medium">value-centric</strong> sales methodology.</p>
147
- </a>
148
- <a href="https://scaleway.360learning.com/" class="block bg-white/10 text-white rounded-xl p-6 shadow-lg card-hover backdrop-blur-sm border border-white/10">
149
- <div class="w-12 h-12 rounded-lg bg-purple-500/20 flex items-center justify-center mb-4">
150
- <i data-feather="bar-chart-2" class="text-purple-300"></i>
151
- </div>
152
- <h3 class="text-xl font-semibold mb-2">Sales Academy</h3>
153
- <p class="text-purple-200">Enroll in eLearning courses to stay sharp, uncover more value and become an <strong class="text-white font-medium">ELITE</strong> seller.</p>
154
- </a>
155
- </div>
156
  </div>
157
- </section>
 
 
 
158
  </main>
159
 
160
- <footer class="bg-purple-800/80 backdrop-blur-sm border-t border-purple-700/50">
161
  <div class="container mx-auto px-4 py-6">
162
- <div class="text-center text-sm text-purple-300">
163
- <p>&copy; 2025 McGPT. All rights reserved.</p>
164
  </div>
165
  </div>
166
  </footer>
167
 
168
  <script>
 
169
  feather.replace();
170
-
171
- // --- Mobile Menu Toggle ---
 
 
 
 
 
 
 
 
 
 
172
  const mobileMenuButton = document.getElementById('mobileMenuButton');
173
  const mobileMenu = document.getElementById('mobileMenu');
174
  mobileMenuButton.addEventListener('click', () => {
175
  mobileMenu.classList.toggle('hidden');
176
  mobileMenuButton.classList.toggle('open');
177
- document.body.classList.toggle('overflow-hidden');
178
  });
179
 
180
- // --- Active Nav Link ---
181
- const currentPage = window.location.pathname.split('/').pop() || 'index.html';
182
- document.querySelectorAll('.nav-link').forEach(link => {
183
- const linkHref = link.getAttribute('href');
184
- if (linkHref === currentPage) {
185
- link.classList.add('active');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  } else {
187
- link.classList.remove('active');
188
  }
 
 
 
 
 
 
 
189
  });
 
 
 
 
 
 
190
  </script>
191
 
192
  </body>
 
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <meta name="description" content="McGPT - Your strategic sales companion">
7
+ <title>Competitive Positioning Mapper</title>
8
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
9
  <script src="https://cdn.tailwindcss.com"></script>
10
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
11
  <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
12
  <script src="https://unpkg.com/feather-icons"></script>
13
+
14
  <script>
15
  tailwind.config = {
16
  darkMode: 'class',
 
 
 
 
 
 
 
 
17
  }
18
  </script>
19
  <style>
20
  body { font-family: 'Poppins', sans-serif; }
21
+ .hamburger-line {
22
+ width: 20px; height: 2px; background-color: white; display: block; transition: all 0.3s;
23
+ }
24
+ .open .hamburger-line:nth-child(1) { transform: translateY(5px) rotate(45deg); }
25
+ .open .hamburger-line:nth-child(2) { opacity: 0; }
26
+ .open .hamburger-line:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
27
  .nav-link.active {
28
  font-weight: 600;
29
+ border-bottom: 2px solid #9B5CEB;
30
  }
31
+ select, input[type="search"] {
32
+ -webkit-appearance: none; -moz-appearance: none; appearance: none;
33
  }
34
+ select {
35
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
36
+ background-repeat: no-repeat;
37
+ background-position: right 0.75rem center;
38
+ background-size: 1.25rem;
39
  }
40
+ .dark select {
41
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
 
 
 
 
 
 
42
  }
43
  </style>
44
  </head>
45
+ <body class="bg-gray-100 dark:bg-gray-900 text-gray-800 dark:text-gray-200 min-h-screen flex flex-col">
46
 
47
+ <header class="sticky top-0 z-50 bg-white/80 dark:bg-gray-900/80 backdrop-blur-md shadow-sm">
48
  <div class="container mx-auto px-4 py-3">
49
  <div class="flex justify-between items-center">
50
  <a href="index.html" class="flex items-center space-x-2">
51
  <img src="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/Scaleway-Logomark-White.png" alt="Logo" class="h-8 mr-2">
52
+ <span class="text-xl font-bold text-gray-800 dark:text-white font-heading">McGPT</span>
53
  </a>
54
  <nav class="hidden md:flex space-x-8">
55
+ <a href="index.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Home</a>
56
+ <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Mapper</a>
57
+ <a href="intel.html" class="nav-link active py-2 px-1 text-gray-600 dark:text-gray-300">Market</a>
58
+ <a href="scorecard.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Scorecard</a>
59
+ <a href="strategy.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Method</a>
60
+ </nav>
61
  <div class="flex items-center space-x-4">
62
+ <button id="themeToggle" class="p-2 rounded-full text-gray-500 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700">
63
+ <i data-feather="moon" class="hidden dark:block"></i>
64
+ <i data-feather="sun" class="block dark:hidden"></i>
65
  </button>
66
+ <button id="mobileMenuButton" class="md:hidden flex flex-col space-y-1.5 p-2 bg-purple-600 rounded-lg">
67
  <span class="hamburger-line"></span>
68
  <span class="hamburger-line"></span>
69
  <span class="hamburger-line"></span>
70
  </button>
71
  </div>
72
  </div>
73
+ <div id="mobileMenu" class="hidden md:hidden py-4 border-t border-gray-200 dark:border-gray-700 mt-3">
74
+ <div class="flex flex-col space-y-3">
75
+ <a href="index.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Home</a>
76
+ <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Mapper</a>
77
+ <a href="scorecard.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Scorecard</a>
78
+ <a href="strategy.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Method</a>
79
+ <a href="intel.html" class="nav-link active py-2 px-1 text-gray-600 dark:text-gray-300">Market</a>
80
+ </div>
81
+ </div>
82
  </div>
83
  </header>
84
 
85
+ <main class="flex-grow bg-gradient-to-br from-purple-600 to-indigo-700">
86
+ <div class="container mx-auto px-4 py-12">
87
+ <div class="bg-white/50 dark:bg-gray-900/50 backdrop-blur-md p-6 sm:p-8 rounded-2xl shadow-2xl mb-8">
88
+ <div class="text-center">
89
+ <h1 class="text-3xl sm:text-4xl font-heading font-extrabold text-gray-800 dark:text-white mb-3 leading-tight">Market Mapper</h1>
90
+ <p class="text-gray-700 dark:text-gray-300 max-w-2xl mx-auto mb-8">Quickly identify competitor alternatives for Scaleway products or find the Scaleway equivalent for a competitor's service.</p>
91
+ </div>
92
+
93
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8 max-w-4xl mx-auto">
 
 
 
 
 
 
94
  <div>
95
+ <label for="scaleway-product-selector" class="block text-sm font-bold text-gray-800 dark:text-gray-200 mb-2">Competitor by Scaleway Product</label>
96
+ <select id="scaleway-product-selector" class="block w-full py-3 px-4 pr-10 border border-gray-300 dark:border-gray-600 rounded-xl text-base font-semibold text-gray-800 dark:text-gray-200 bg-white dark:bg-gray-700 focus:ring-2 focus:ring-purple-500 focus:outline-none transition duration-200 shadow-lg">
97
+ <option value="">- Select a Scaleway Product -</option>
98
+ </select>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  </div>
100
+
101
+ <div>
102
+ <label for="competitor-search" class="block text-sm font-bold text-gray-800 dark:text-gray-200 mb-2">Scaleway Product by Competitor</label>
103
+ <input type="search" id="competitor-search" placeholder="e.g., EC2, S3, Blob Storage..." class="block w-full py-3 px-4 border border-gray-300 dark:border-gray-600 rounded-xl text-base font-semibold text-gray-800 dark:text-gray-200 bg-white dark:bg-gray-700 focus:ring-2 focus:ring-purple-500 focus:outline-none transition duration-200 shadow-lg">
104
  </div>
105
  </div>
106
  </div>
107
+
108
+ <div id="initial-message" class="text-center p-12 rounded-xl bg-white/80 dark:bg-gray-800/80 text-gray-600 dark:text-gray-300 border-2 border-dashed border-gray-400 dark:border-gray-600 backdrop-blur-sm">
109
+ <p class="text-lg font-medium">Select a product or search for a competitor to begin.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  </div>
111
+
112
+ <div id="results-area" class="hidden space-y-6">
113
+ </div>
114
+ </div>
115
  </main>
116
 
117
+ <footer class="bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700">
118
  <div class="container mx-auto px-4 py-6">
119
+ <div class="text-center text-sm text-gray-500 dark:text-gray-400">
120
+ <p>&copy; 2025 McGPT Navigator. All rights reserved.</p>
121
  </div>
122
  </div>
123
  </footer>
124
 
125
  <script>
126
+ // --- UI & THEME LOGIC ---
127
  feather.replace();
128
+ const themeToggle = document.getElementById('themeToggle');
129
+ const html = document.documentElement;
130
+ themeToggle.addEventListener('click', () => {
131
+ html.classList.toggle('dark');
132
+ localStorage.theme = html.classList.contains('dark') ? 'dark' : 'light';
133
+ feather.replace();
134
+ });
135
+ if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
136
+ html.classList.add('dark');
137
+ } else {
138
+ html.classList.remove('dark');
139
+ }
140
  const mobileMenuButton = document.getElementById('mobileMenuButton');
141
  const mobileMenu = document.getElementById('mobileMenu');
142
  mobileMenuButton.addEventListener('click', () => {
143
  mobileMenu.classList.toggle('hidden');
144
  mobileMenuButton.classList.toggle('open');
 
145
  });
146
 
147
+ // --- COMPETITOR DATA ---
148
+ const COMPETITOR_DATA = [
149
+ { Category: "Compute & Virtual Machines", AWS: "EC2", Azure: "Virtual Machines", GCP: "Compute Engine", OracleOCI: "Compute", Scaleway: "Instances", OVHcloud: "Public Cloud", Outscale: "Virtual Machines" },
150
+ { Category: "Compute & Virtual Machines", AWS: "Lightsail", Azure: "Azure VMware Solution", GCP: "App Engine", OracleOCI: "VMware Solution", Scaleway: "Bare Metal", OVHcloud: "Dedicated Servers", Outscale: "Bare Metal" },
151
+ { Category: "Compute & Virtual Machines", AWS: "ECS (Containers)", Azure: "Container Instances", GCP: "Cloud Run", OracleOCI: "Container Engine", Scaleway: "Serverless", OVHcloud: "VPS", Outscale: "Kubernetes" },
152
+ { Category: "Compute & Virtual Machines", AWS: "EKS (Kubernetes)", Azure: "AKS", GCP: "GKE", OracleOCI: "OKE", Scaleway: "Kubernetes", OVHcloud: "Managed K8s", Outscale: "OKS" },
153
+ { Category: "Storage", AWS: "S3", Azure: "Blob Storage", GCP: "Cloud Storage", OracleOCI: "Object Storage", Scaleway: "Object Storage", OVHcloud: "Object Storage", Outscale: "Object Storage" },
154
+ { Category: "Storage", AWS: "EBS", Azure: "Disk Storage", GCP: "Persistent Disk", OracleOCI: "Block Volumes", Scaleway: "Block Storage", OVHcloud: "Block Storage", Outscale: "Block Storage" },
155
+ { Category: "Storage", AWS: "EFS", Azure: "Azure Files", GCP: "Filestore", OracleOCI: "File Storage", Scaleway: "File Storage", OVHcloud: "File Storage", Outscale: "File Storage" },
156
+ { Category: "Storage", AWS: "Glacier", Azure: "Archive Storage", GCP: "Coldline Storage", OracleOCI: "Archive Storage", Scaleway: "Archive Storage", OVHcloud: "Archive Storage", Outscale: "Archive Storage" },
157
+ { Category: "Databases", AWS: "RDS", Azure: "Azure SQL Database", GCP: "Cloud SQL", OracleOCI: "Database", Scaleway: "Managed DB", OVHcloud: "Managed DB", Outscale: "Managed DB" },
158
+ { Category: "Databases", AWS: "DynamoDB", Azure: "Cosmos DB", GCP: "Firestore", OracleOCI: "NoSQL", Scaleway: "NoSQL", OVHcloud: "NoSQL", Outscale: "NoSQL" },
159
+ { Category: "Databases", AWS: "Aurora", Azure: "SQL Managed Instance", GCP: "AlloyDB", OracleOCI: "Autonomous DB", Scaleway: "SQL", OVHcloud: "SQL", Outscale: "SQL" },
160
+ { Category: "Databases", AWS: "Redshift", Azure: "Synapse Analytics", GCP: "BigQuery", OracleOCI: "Data Warehouse", Scaleway: "Data Warehouse", OVHcloud: "Data Warehouse", Outscale: "Data Warehouse" },
161
+ { Category: "Networking", AWS: "VPC", Azure: "Virtual Network", GCP: "VPC", OracleOCI: "VCN", Scaleway: "VPC", OVHcloud: "VPC", Outscale: "VPC" },
162
+ { Category: "Networking", AWS: "CloudFront", Azure: "Front Door", GCP: "Cloud CDN", OracleOCI: "CDN", Scaleway: "CDN", OVHcloud: "CDN", Outscale: "CDN" },
163
+ { Category: "Networking", AWS: "Direct Connect", Azure: "ExpressRoute", GCP: "Interconnect", OracleOCI: "FastConnect", Scaleway: "Direct Connect", OVHcloud: "Direct Connect", Outscale: "Direct Connect" },
164
+ { Category: "Networking", AWS: "Route 53", Azure: "Traffic Manager", GCP: "Cloud DNS", OracleOCI: "DNS", Scaleway: "DNS", OVHcloud: "DNS", Outscale: "DNS" },
165
+ { Category: "AI/ML & Analytics", AWS: "SageMaker", Azure: "Machine Learning", GCP: "Vertex AI", OracleOCI: "AI Services", Scaleway: "AI Suite", OVHcloud: "AI Tools", Outscale: "AI Services" },
166
+ { Category: "AI/ML & Analytics", AWS: "Redshift", Azure: "Synapse Analytics", GCP: "BigQuery", OracleOCI: "Analytics Cloud", Scaleway: "Analytics", OVHcloud: "Analytics", Outscale: "Analytics" },
167
+ { Category: "AI/ML & Analytics", AWS: "Athena", Azure: "Data Lake Analytics", GCP: "Dataflow", OracleOCI: "Data Flow", Scaleway: "Data Flow", OVHcloud: "Data Flow", Outscale: "Data Flow" },
168
+ { Category: "AI/ML & Analytics", AWS: "QuickSight", Azure: "Power BI", GCP: "Looker", OracleOCI: "Analytics", Scaleway: "BI Tools", OVHcloud: "BI Tools", Outscale: "BI Tools" },
169
+ { Category: "Security & Identity", AWS: "IAM", Azure: "Entra ID", GCP: "Cloud IAM", OracleOCI: "IAM", Scaleway: "IAM", OVHcloud: "IAM", Outscale: "IAM" },
170
+ { Category: "Security & Identity", AWS: "GuardDuty", Azure: "Security Center", GCP: "Security Command Center", OracleOCI: "Security Monitoring", Scaleway: "Security", OVHcloud: "Security", Outscale: "Security" },
171
+ { Category: "Security & Identity", AWS: "KMS", Azure: "Key Vault", GCP: "Cloud KMS", OracleOCI: "Vault", Scaleway: "KMS", OVHcloud: "KMS", Outscale: "KMS" },
172
+ { Category: "Security & Identity", AWS: "WAF & Shield", Azure: "DDoS Protection", GCP: "Cloud Armor", OracleOCI: "WAF", Scaleway: "WAF", OVHcloud: "WAF", Outscale: "WAF" },
173
+ { Category: "Serverless & Event-Driven", AWS: "Lambda", Azure: "Functions", GCP: "Cloud Functions", OracleOCI: "Functions", Scaleway: "Serverless", OVHcloud: "Serverless", Outscale: "Serverless" },
174
+ { Category: "Serverless & Event-Driven", AWS: "EventBridge", Azure: "Event Grid", GCP: "Eventarc", OracleOCI: "Events", Scaleway: "Events", OVHcloud: "Events", Outscale: "Events" },
175
+ { Category: "Serverless & Event-Driven", AWS: "Step Functions", Azure: "Logic Apps", GCP: "Workflows", OracleOCI: "Workflows", Scaleway: "Workflows", OVHcloud: "Workflows", Outscale: "Workflows" },
176
+ { Category: "DevOps & Management", AWS: "CloudFormation", Azure: "Resource Manager", GCP: "Deployment Manager", OracleOCI: "Resource Manager", Scaleway: "Terraform", OVHcloud: "Terraform", Outscale: "Terraform" },
177
+ { Category: "DevOps & Management", AWS: "CodePipeline", Azure: "DevOps", GCP: "Cloud Build", OracleOCI: "DevOps", Scaleway: "CI/CD", OVHcloud: "CI/CD", Outscale: "CI/CD" },
178
+ { Category: "DevOps & Management", AWS: "CloudWatch", Azure: "Monitor", GCP: "Operations Suite", OracleOCI: "Monitoring", Scaleway: "Monitoring", OVHcloud: "Monitoring", Outscale: "Monitoring" },
179
+ { Category: "DevOps & Management", AWS: "Systems Manager", Azure: "Automation", GCP: "Config", OracleOCI: "Management", Scaleway: "Management", OVHcloud: "Management", Outscale: "Management" },
180
+ { Category: "Edge & IoT", AWS: "IoT Core", Azure: "IoT Hub", GCP: "Cloud IoT Core", OracleOCI: "IoT", Scaleway: "IoT", OVHcloud: "IoT", Outscale: "IoT" },
181
+ { Category: "Edge & IoT", AWS: "Local Zones", Azure: "Edge Zones", GCP: "Edge Network", OracleOCI: "Edge", Scaleway: "Edge", OVHcloud: "Edge", Outscale: "Edge" },
182
+ { Category: "Edge & IoT", AWS: "Wavelength", Azure: "Private 5G", GCP: "Mobile Edge", OracleOCI: "Edge", Scaleway: "Edge", OVHcloud: "Edge", Outscale: "Edge" },
183
+ { Category: "Miscellaneous & Specialized", AWS: "Outposts", Azure: "Azure Stack", GCP: "Anthos", OracleOCI: "Dedicated Region", Scaleway: "Dedibox", OVHcloud: "Bare Metal Pod", Outscale: "Sovereign Cloud" },
184
+ { Category: "Miscellaneous & Specialized", AWS: "WorkSpaces", Azure: "Virtual Desktop", GCP: "BeyondCorp", OracleOCI: "Virtual Desktop", Scaleway: "Virtual Desktop", OVHcloud: "Virtual Desktop", Outscale: "Virtual Desktop" },
185
+ { Category: "Miscellaneous & Specialized", AWS: "AppSync", Azure: "API Management", GCP: "Apigee", OracleOCI: "API Gateway", Scaleway: "API Gateway", OVHcloud: "API Gateway", Outscale: "API Gateway" },
186
+ { Category: "Miscellaneous & Specialized", AWS: "Amplify", Azure: "Static Web Apps", GCP: "Firebase Hosting", OracleOCI: "Static Hosting", Scaleway: "Static Hosting", OVHcloud: "Static Hosting", Outscale: "Static Hosting" }
187
+ ];
188
+
189
+ // --- DOM ELEMENTS ---
190
+ const scalewaySelector = document.getElementById('scaleway-product-selector');
191
+ const competitorSearch = document.getElementById('competitor-search');
192
+ const resultsArea = document.getElementById('results-area');
193
+ const initialMessage = document.getElementById('initial-message');
194
+
195
+ // --- LOGIC ---
196
+
197
+ // 1. Populate Scaleway Products Dropdown
198
+ function populateScalewayDropdown() {
199
+ const scalewayProducts = [...new Set(COMPETITOR_DATA.map(item => item.Scaleway))].sort();
200
+ scalewayProducts.forEach(product => {
201
+ const option = document.createElement('option');
202
+ option.value = product;
203
+ option.textContent = product;
204
+ scalewaySelector.appendChild(option);
205
+ });
206
+ }
207
+
208
+ // 2. Handle Scaleway Product Selection
209
+ scalewaySelector.addEventListener('change', () => {
210
+ const selectedProduct = scalewaySelector.value;
211
+ competitorSearch.value = ''; // Clear other input
212
+
213
+ if (!selectedProduct) {
214
+ resultsArea.classList.add('hidden');
215
+ initialMessage.classList.remove('hidden');
216
+ return;
217
+ }
218
+
219
+ const matchingRows = COMPETITOR_DATA.filter(row => row.Scaleway === selectedProduct);
220
+ let html = `<h2 class="text-2xl font-bold text-white text-center">Competitors for ${selectedProduct}</h2>`;
221
+
222
+ matchingRows.forEach(row => {
223
+ html += `
224
+ <div class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow-lg">
225
+ <h3 class="text-lg font-bold text-purple-600 dark:text-purple-400 mb-4">Category: ${row.Category}</h3>
226
+ <div class="grid grid-cols-2 sm:grid-cols-3 gap-4 text-sm">
227
+ `;
228
+ const providers = { AWS: row.AWS, Azure: row.Azure, GCP: row.GCP, OracleOCI: row.OracleOCI, OVHcloud: row.OVHcloud, Outscale: row.Outscale };
229
+ for (const [provider, product] of Object.entries(providers)) {
230
+ html += `
231
+ <div>
232
+ <span class="font-semibold text-gray-700 dark:text-gray-300">${provider}:</span>
233
+ <span class="text-gray-600 dark:text-gray-400">${product}</span>
234
+ </div>
235
+ `;
236
+ }
237
+ html += `</div></div>`;
238
+ });
239
+
240
+ resultsArea.innerHTML = html;
241
+ initialMessage.classList.add('hidden');
242
+ resultsArea.classList.remove('hidden');
243
+ feather.replace();
244
+ // Scroll to results
245
+ resultsArea.scrollIntoView({ behavior: 'smooth', block: 'start' });
246
+ });
247
+
248
+ // 3. Handle Competitor Search Input
249
+ competitorSearch.addEventListener('input', () => {
250
+ const searchTerm = competitorSearch.value.trim().toLowerCase();
251
+ scalewaySelector.value = ''; // Clear other input
252
+
253
+ if (!searchTerm) {
254
+ resultsArea.classList.add('hidden');
255
+ initialMessage.classList.remove('hidden');
256
+ return;
257
+ }
258
+
259
+ const results = [];
260
+ const providers = ["AWS", "Azure", "GCP", "OracleOCI", "OVHcloud", "Outscale"];
261
+
262
+ COMPETITOR_DATA.forEach(row => {
263
+ providers.forEach(provider => {
264
+ if (row[provider] && row[provider].toLowerCase().includes(searchTerm)) {
265
+ results.push({
266
+ provider,
267
+ competitorProduct: row[provider],
268
+ scalewayProduct: row.Scaleway,
269
+ category: row.Category
270
+ });
271
+ }
272
+ });
273
+ });
274
+
275
+ let html = `<h2 class="text-2xl font-bold text-white text-center">Results for "${competitorSearch.value}"</h2>`;
276
+ if (results.length > 0) {
277
+ results.forEach(res => {
278
+ html += `
279
+ <div class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow-lg">
280
+ <p class="text-gray-600 dark:text-gray-400 mb-2"><span class="font-bold text-gray-800 dark:text-gray-200">${res.competitorProduct}</span> (${res.provider})</p>
281
+ <p class="text-purple-600 dark:text-purple-400 font-bold text-lg">Scaleway Equivalent: ${res.scalewayProduct}</p>
282
+ <p class="text-xs text-gray-500 dark:text-gray-500 mt-2">Category: ${res.category}</p>
283
+ </div>
284
+ `;
285
+ });
286
  } else {
287
+ html += `<p class="text-center text-white/80 mt-4">No matching competitor products found.</p>`;
288
  }
289
+
290
+ resultsArea.innerHTML = html;
291
+ initialMessage.classList.add('hidden');
292
+ resultsArea.classList.remove('hidden');
293
+ feather.replace();
294
+ // Scroll to results
295
+ resultsArea.scrollIntoView({ behavior: 'smooth', block: 'start' });
296
  });
297
+
298
+ // --- INITIALIZATION ---
299
+ window.onload = () => {
300
+ populateScalewayDropdown();
301
+ };
302
+
303
  </script>
304
 
305
  </body>
scorecard.html CHANGED
@@ -44,17 +44,17 @@
44
  <header class="sticky top-0 z-50 bg-white/80 dark:bg-gray-900/80 backdrop-blur-md shadow-sm">
45
  <div class="container mx-auto px-4 py-3">
46
  <div class="flex justify-between items-center">
47
- <a href="index.html" class="flex items-center space-x-2">
48
  <img src="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/Scaleway-Logomark-White.png" alt="Logo" class="h-8 mr-2">
49
  <span class="text-xl font-bold text-gray-800 dark:text-white font-heading">McGPT</span>
50
  </a>
51
  <nav class="hidden md:flex space-x-8">
52
- <a href="index.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Home</a>
53
  <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Mapper</a>
54
  <a href="intel.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Market</a>
55
  <a href="scorecard.html" class="nav-link active py-2 px-1 text-gray-800 dark:text-gray-100">Scorecard</a>
56
  <a href="academy.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Academy</a>
57
- </nav>
58
  <div class="flex items-center space-x-4">
59
  <button id="themeToggle" class="p-2 rounded-full text-gray-500 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700">
60
  <i data-feather="moon" class="hidden dark:block"></i>
@@ -67,12 +67,12 @@
67
  </div>
68
  <div id="mobileMenu" class="hidden md:hidden py-4 border-t border-gray-200 dark:border-gray-700 mt-3">
69
  <div class="flex flex-col space-y-3">
70
- <a href="index.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Home</a>
71
  <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Mapper</a>
 
72
  <a href="scorecard.html" class="nav-link active py-2 px-1 text-gray-800 dark:text-gray-100">Scorecard</a>
73
  <a href="academy.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Academy</a>
74
- <a href="intel.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Market</a>
75
- </div>
76
  </div>
77
  </div>
78
  </header>
 
44
  <header class="sticky top-0 z-50 bg-white/80 dark:bg-gray-900/80 backdrop-blur-md shadow-sm">
45
  <div class="container mx-auto px-4 py-3">
46
  <div class="flex justify-between items-center">
47
+ <a href="value-mapper.html" class="flex items-center space-x-2">
48
  <img src="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/Scaleway-Logomark-White.png" alt="Logo" class="h-8 mr-2">
49
  <span class="text-xl font-bold text-gray-800 dark:text-white font-heading">McGPT</span>
50
  </a>
51
  <nav class="hidden md:flex space-x-8">
52
+ <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Home</a>
53
  <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Mapper</a>
54
  <a href="intel.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Market</a>
55
  <a href="scorecard.html" class="nav-link active py-2 px-1 text-gray-800 dark:text-gray-100">Scorecard</a>
56
  <a href="academy.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors">Academy</a>
57
+ </nav>
58
  <div class="flex items-center space-x-4">
59
  <button id="themeToggle" class="p-2 rounded-full text-gray-500 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700">
60
  <i data-feather="moon" class="hidden dark:block"></i>
 
67
  </div>
68
  <div id="mobileMenu" class="hidden md:hidden py-4 border-t border-gray-200 dark:border-gray-700 mt-3">
69
  <div class="flex flex-col space-y-3">
70
+ <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Home</a>
71
  <a href="value-mapper.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Mapper</a>
72
+ <a href="intel.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Market</a>
73
  <a href="scorecard.html" class="nav-link active py-2 px-1 text-gray-800 dark:text-gray-100">Scorecard</a>
74
  <a href="academy.html" class="nav-link py-2 px-1 text-gray-600 dark:text-gray-300">Academy</a>
75
+ </div>
 
76
  </div>
77
  </div>
78
  </header>