|
| 1 | +"use client"; |
| 2 | + |
| 3 | +import cn from "classnames"; |
| 4 | +import HeaderStandalone from "../../ai/header"; |
| 5 | +import FooterStandalone from "../../ai/footer"; |
| 6 | +import urls from "@/lib/urls"; |
| 7 | + |
| 8 | +const clsFullWhite = "!brightness-0 !invert"; |
| 9 | +const clsSmallLogo = "!h-[40px]"; |
| 10 | + |
| 11 | +const customers = [ |
| 12 | + { |
| 13 | + src: "/assets/images/external-logos/bytedance.png", |
| 14 | + alt: "ByteDance", |
| 15 | + className: cn(clsFullWhite, clsSmallLogo), |
| 16 | + }, |
| 17 | + { |
| 18 | + src: "/assets/images/external-logos/microsoft.png", |
| 19 | + alt: "Microsoft", |
| 20 | + className: clsFullWhite, |
| 21 | + }, |
| 22 | + { |
| 23 | + src: "/assets/images/external-logos/gainsight.png", |
| 24 | + alt: "Gainsight", |
| 25 | + className: cn(clsFullWhite, clsSmallLogo), |
| 26 | + }, |
| 27 | + { |
| 28 | + src: "/assets/images/external-logos/bbc.png", |
| 29 | + alt: "BBC", |
| 30 | + className: clsFullWhite, |
| 31 | + }, |
| 32 | + { |
| 33 | + src: "/assets/images/external-logos/braze.png", |
| 34 | + alt: "Braze", |
| 35 | + className: clsFullWhite, |
| 36 | + }, |
| 37 | + { |
| 38 | + src: "/assets/images/external-logos/phresia.png", |
| 39 | + alt: "Phresia", |
| 40 | + className: clsFullWhite, |
| 41 | + }, |
| 42 | +]; |
| 43 | + |
| 44 | +const benefits = [ |
| 45 | + { |
| 46 | + title: "Security First", |
| 47 | + description: "Keep all email data in-house. No third-party database access. No vendor lock-in. Complete control over sensitive information.", |
| 48 | + details: [ |
| 49 | + "Self-hosted data and assets", |
| 50 | + "No external service dependencies", |
| 51 | + "Compliance-ready architecture", |
| 52 | + "Zero vendor security risks" |
| 53 | + ] |
| 54 | + }, |
| 55 | + { |
| 56 | + title: "Unlimited Scalability", |
| 57 | + description: "Front-end architecture means no backend bottlenecks. Scale to millions of users without infrastructure constraints.", |
| 58 | + details: [ |
| 59 | + "Client-side processing", |
| 60 | + "Horizontal scaling built-in", |
| 61 | + "No email service provider limits", |
| 62 | + "Global performance" |
| 63 | + ] |
| 64 | + }, |
| 65 | + { |
| 66 | + title: "Complete Flexibility", |
| 67 | + description: "GrapesJS is a framework, not a platform. Customize every aspect to match your brand and workflows.", |
| 68 | + details: [ |
| 69 | + "Full UI customization", |
| 70 | + "Custom components and plugins", |
| 71 | + "Framework API access", |
| 72 | + "Integrate with any backend" |
| 73 | + ] |
| 74 | + } |
| 75 | +]; |
| 76 | + |
| 77 | +const problems = [ |
| 78 | + { |
| 79 | + title: "Vendor Lock-In", |
| 80 | + description: "Traditional email platforms like Mailchimp, Klaviyo, and Constant Contact require you to store all your email content, customer data, and templates on their servers. This creates dependency and limits your flexibility." |
| 81 | + }, |
| 82 | + { |
| 83 | + title: "Data Security Risks", |
| 84 | + description: "Sending sensitive email content through third-party services means your data passes through external infrastructure. This raises compliance concerns and security risks." |
| 85 | + }, |
| 86 | + { |
| 87 | + title: "Limited Customization", |
| 88 | + description: "Closed platforms force you into their UI, workflows, and limitations. You can't fully customize the experience to match your brand or integrate with your existing systems." |
| 89 | + }, |
| 90 | + { |
| 91 | + title: "Scaling Constraints", |
| 92 | + description: "Third-party email services have usage limits, API rate limits, and infrastructure constraints that can limit your growth and increase costs as you scale." |
| 93 | + } |
| 94 | +]; |
| 95 | + |
| 96 | +export default function EmailSDKPage() { |
| 97 | + return ( |
| 98 | + <div className="min-h-screen flex flex-col bg-black text-white"> |
| 99 | + <HeaderStandalone /> |
| 100 | + <main className="flex-1"> |
| 101 | + {/* Hero Section */} |
| 102 | + <section className="relative py-20 px-8 max-sm:px-4 bg-gradient-to-b from-black via-black to-gray-900"> |
| 103 | + <div className="max-w-5xl mx-auto text-center"> |
| 104 | + <h1 className="text-5xl md:text-6xl font-bold mb-6 text-white"> |
| 105 | + Build Secure Email Editors |
| 106 | + <br /> |
| 107 | + <span className="text-violet-400">Without Vendor Lock-In</span> |
| 108 | + </h1> |
| 109 | + <h2 className="text-xl md:text-2xl text-gray-300 font-light mb-8 max-w-3xl mx-auto"> |
| 110 | + Keep your email data in-house. Scale without limits. Customize everything. |
| 111 | + The Grapes Studio SDK gives you enterprise-grade email editing without sharing sensitive data with third parties. |
| 112 | + </h2> |
| 113 | + <div className="flex flex-col sm:flex-row gap-4 justify-center items-center mt-12"> |
| 114 | + <a |
| 115 | + href={urls.getSdkLicensesUrl({ ref: "emailHeroCta" })} |
| 116 | + className="inline-block px-8 py-4 bg-violet-600 text-white font-semibold rounded-lg hover:bg-violet-700 transition-colors duration-200 text-lg" |
| 117 | + > |
| 118 | + Get Started for Free |
| 119 | + </a> |
| 120 | + <a |
| 121 | + href={urls.getGettingStartedDocsUrl()} |
| 122 | + className="inline-block px-8 py-4 border-2 border-gray-600 text-gray-100 font-semibold rounded-lg hover:border-gray-500 hover:bg-gray-900 transition-colors duration-200 text-lg" |
| 123 | + > |
| 124 | + View Documentation |
| 125 | + </a> |
| 126 | + </div> |
| 127 | + <div className="mt-16 max-w-6xl mx-auto"> |
| 128 | + <img |
| 129 | + src="/assets/images/newsletterplain.webp" |
| 130 | + alt="Grapes Studio SDK Email Editor" |
| 131 | + className="w-full rounded-lg shadow-2xl" |
| 132 | + /> |
| 133 | + </div> |
| 134 | + </div> |
| 135 | + </section> |
| 136 | + |
| 137 | + {/* Customer Banner */} |
| 138 | + <section className="py-16 px-8 max-sm:px-4 bg-gray-900/50 border-y border-gray-700"> |
| 139 | + <div className="max-w-6xl mx-auto"> |
| 140 | + <div className="text-center mb-12"> |
| 141 | + <h2 className="text-2xl md:text-3xl font-semibold text-gray-300 mb-2"> |
| 142 | + POWERING SOLUTIONS FOR |
| 143 | + </h2> |
| 144 | + <hr className="w-24 h-0.5 bg-violet-500 mx-auto" /> |
| 145 | + </div> |
| 146 | + <div className="flex flex-wrap items-center justify-center gap-8 md:gap-12"> |
| 147 | + {customers.map(({ src, alt, className }) => ( |
| 148 | + <div |
| 149 | + key={alt} |
| 150 | + className="flex items-center justify-center h-12 md:h-16 opacity-70 hover:opacity-100 transition-opacity" |
| 151 | + > |
| 152 | + <img |
| 153 | + src={src} |
| 154 | + alt={alt} |
| 155 | + onError={(e) => { |
| 156 | + const target = e.target as HTMLImageElement; |
| 157 | + target.style.display = 'none'; |
| 158 | + const parent = target.parentElement; |
| 159 | + if (parent) { |
| 160 | + parent.innerHTML = `<div class="text-gray-400 text-sm font-semibold">${alt}</div>`; |
| 161 | + } |
| 162 | + }} |
| 163 | + className={cn("max-h-full max-w-[120px] object-contain", className)} |
| 164 | + /> |
| 165 | + </div> |
| 166 | + ))} |
| 167 | + </div> |
| 168 | + </div> |
| 169 | + </section> |
| 170 | + |
| 171 | + {/* Use Case Section */} |
| 172 | + <section className="py-20 px-8 max-sm:px-4 bg-black"> |
| 173 | + <div className="max-w-5xl mx-auto"> |
| 174 | + <div className="text-center mb-16"> |
| 175 | + <h2 className="text-4xl md:text-5xl font-bold mb-4 text-white"> |
| 176 | + Trusted by Enterprise Leaders |
| 177 | + </h2> |
| 178 | + <p className="text-xl text-gray-400 max-w-3xl mx-auto"> |
| 179 | + Companies like ByteDance use the Studio SDK |
| 180 | + for internal email creation to maintain complete control over their data. |
| 181 | + </p> |
| 182 | + </div> |
| 183 | + <div className="bg-gray-900/50 rounded-2xl p-8 md:p-12 border border-gray-800"> |
| 184 | + <h3 className="text-2xl font-bold text-white mb-4"> |
| 185 | + ByteDance: Internal Email Creation Without Compromise |
| 186 | + </h3> |
| 187 | + <p className="text-gray-300 leading-relaxed"> |
| 188 | + ByteDance chose the Grapes Studio SDK for their internal email creation workflow |
| 189 | + because it allows them to keep sensitive data completely in-house. Instead of routing |
| 190 | + email content through third-party services that require database access, their teams |
| 191 | + can create professional emails directly within their own infrastructure. They handle |
| 192 | + email delivery through their own backend systems, maintaining full control over the |
| 193 | + entire email pipeline while avoiding the security risks that come with third-party integrations. |
| 194 | + </p> |
| 195 | + </div> |
| 196 | + </div> |
| 197 | + </section> |
| 198 | + |
| 199 | + {/* Problems Section */} |
| 200 | + <section className="py-20 px-8 max-sm:px-4 bg-gray-900/30"> |
| 201 | + <div className="max-w-6xl mx-auto"> |
| 202 | + <div className="text-center mb-16"> |
| 203 | + <h2 className="text-4xl md:text-5xl font-bold mb-4 text-white"> |
| 204 | + The Problem with Traditional Email Platforms |
| 205 | + </h2> |
| 206 | + <p className="text-xl text-gray-400 max-w-3xl mx-auto"> |
| 207 | + Mailchimp, Klaviyo, and other email service providers require you to share |
| 208 | + your data and lock you into their ecosystem. |
| 209 | + </p> |
| 210 | + </div> |
| 211 | + <div className="grid md:grid-cols-2 gap-6"> |
| 212 | + {problems.map((problem, index) => ( |
| 213 | + <div |
| 214 | + key={index} |
| 215 | + className="bg-gray-900/50 rounded-xl p-6 border border-gray-800 hover:border-gray-700 transition-colors" |
| 216 | + > |
| 217 | + <h3 className="text-xl font-bold text-white mb-3"> |
| 218 | + {problem.title} |
| 219 | + </h3> |
| 220 | + <p className="text-gray-400 leading-relaxed"> |
| 221 | + {problem.description} |
| 222 | + </p> |
| 223 | + </div> |
| 224 | + ))} |
| 225 | + </div> |
| 226 | + </div> |
| 227 | + </section> |
| 228 | + |
| 229 | + {/* Benefits Section */} |
| 230 | + <section className="py-20 px-8 max-sm:px-4 bg-black"> |
| 231 | + <div className="max-w-6xl mx-auto"> |
| 232 | + <div className="text-center mb-16"> |
| 233 | + <h2 className="text-4xl md:text-5xl font-bold mb-4 text-white"> |
| 234 | + Why Choose the Studio SDK for Email? |
| 235 | + </h2> |
| 236 | + <p className="text-xl text-gray-400 max-w-3xl mx-auto"> |
| 237 | + Three core benefits that make the SDK ideal for enterprise email creation |
| 238 | + </p> |
| 239 | + </div> |
| 240 | + <div className="grid md:grid-cols-3 gap-8"> |
| 241 | + {benefits.map((benefit, index) => ( |
| 242 | + <div |
| 243 | + key={index} |
| 244 | + className="bg-gradient-to-br from-gray-900/50 to-gray-800/30 rounded-xl p-8 border border-gray-800" |
| 245 | + > |
| 246 | + <h3 className="text-2xl font-bold text-white mb-4"> |
| 247 | + {benefit.title} |
| 248 | + </h3> |
| 249 | + <p className="text-gray-300 mb-6 leading-relaxed"> |
| 250 | + {benefit.description} |
| 251 | + </p> |
| 252 | + <ul className="space-y-2"> |
| 253 | + {benefit.details.map((detail, detailIndex) => ( |
| 254 | + <li key={detailIndex} className="flex items-start gap-2 text-gray-400"> |
| 255 | + <span className="text-violet-400 mt-1">✓</span> |
| 256 | + <span>{detail}</span> |
| 257 | + </li> |
| 258 | + ))} |
| 259 | + </ul> |
| 260 | + </div> |
| 261 | + ))} |
| 262 | + </div> |
| 263 | + </div> |
| 264 | + </section> |
| 265 | + |
| 266 | + {/* How It Works Section */} |
| 267 | + <section className="py-20 px-8 max-sm:px-4 bg-gray-900/30"> |
| 268 | + <div className="max-w-5xl mx-auto"> |
| 269 | + <h2 className="text-4xl md:text-5xl font-bold text-center mb-16 text-white"> |
| 270 | + How It Works |
| 271 | + </h2> |
| 272 | + <div className="grid md:grid-cols-3 gap-8"> |
| 273 | + {/* Step 1 */} |
| 274 | + <div className="text-center"> |
| 275 | + <div className="w-16 h-16 rounded-full bg-violet-600 flex items-center justify-center mx-auto mb-6 text-2xl font-bold"> |
| 276 | + 1 |
| 277 | + </div> |
| 278 | + <h3 className="text-xl font-semibold mb-4 text-white"> |
| 279 | + Embed the SDK |
| 280 | + </h3> |
| 281 | + <p className="text-gray-400"> |
| 282 | + Integrate the Studio SDK into your application. It runs entirely on the front-end, |
| 283 | + so all email creation happens in your users' browsers. |
| 284 | + </p> |
| 285 | + </div> |
| 286 | + |
| 287 | + {/* Step 2 */} |
| 288 | + <div className="text-center"> |
| 289 | + <div className="w-16 h-16 rounded-full bg-violet-600 flex items-center justify-center mx-auto mb-6 text-2xl font-bold"> |
| 290 | + 2 |
| 291 | + </div> |
| 292 | + <h3 className="text-xl font-semibold mb-4 text-white"> |
| 293 | + Customize & Brand |
| 294 | + </h3> |
| 295 | + <p className="text-gray-400"> |
| 296 | + Customize the editor UI to match your brand. Add custom components, integrate with |
| 297 | + your data sources, and configure workflows. |
| 298 | + </p> |
| 299 | + </div> |
| 300 | + |
| 301 | + {/* Step 3 */} |
| 302 | + <div className="text-center"> |
| 303 | + <div className="w-16 h-16 rounded-full bg-violet-600 flex items-center justify-center mx-auto mb-6 text-2xl font-bold"> |
| 304 | + 3 |
| 305 | + </div> |
| 306 | + <h3 className="text-xl font-semibold mb-4 text-white"> |
| 307 | + Export & Send |
| 308 | + </h3> |
| 309 | + <p className="text-gray-400"> |
| 310 | + Export email HTML/MJML and send through your own backend. No third-party services. |
| 311 | + Complete control over delivery and data. |
| 312 | + </p> |
| 313 | + </div> |
| 314 | + </div> |
| 315 | + </div> |
| 316 | + </section> |
| 317 | + |
| 318 | + {/* Comparison Section */} |
| 319 | + <section className="py-20 px-8 max-sm:px-4 bg-black"> |
| 320 | + <div className="max-w-5xl mx-auto"> |
| 321 | + <h2 className="text-4xl md:text-5xl font-bold text-center mb-12 text-white"> |
| 322 | + Studio SDK vs. Traditional Email Platforms |
| 323 | + </h2> |
| 324 | + <div className="bg-gray-900/50 rounded-xl overflow-hidden border border-gray-800"> |
| 325 | + <div className="grid grid-cols-3 gap-4 p-6 bg-gray-800/50 border-b border-gray-700"> |
| 326 | + <div className="font-semibold text-gray-300">Feature</div> |
| 327 | + <div className="font-semibold text-gray-300 text-center">Mailchimp/Klaviyo</div> |
| 328 | + <div className="font-semibold text-violet-400 text-center">Studio SDK</div> |
| 329 | + </div> |
| 330 | + {[ |
| 331 | + { feature: "Data Storage", traditional: "On vendor servers", sdk: "Your infrastructure" }, |
| 332 | + { feature: "Database Access", traditional: "Required by vendor", sdk: "Not required" }, |
| 333 | + { feature: "Vendor Lock-In", traditional: "Yes", sdk: "No" }, |
| 334 | + { feature: "Customization", traditional: "Limited", sdk: "Complete" }, |
| 335 | + { feature: "Scaling Limits", traditional: "Usage-based limits", sdk: "Unlimited" }, |
| 336 | + { feature: "Backend Control", traditional: "Vendor-managed", sdk: "Your control" }, |
| 337 | + { feature: "Compliance", traditional: "Vendor-dependent", sdk: "Your control" }, |
| 338 | + { feature: "Cost at Scale", traditional: "Increases with usage", sdk: "Fixed infrastructure" }, |
| 339 | + ].map((row, index) => ( |
| 340 | + <div key={index} className="grid grid-cols-3 gap-4 p-6 border-b border-gray-800 last:border-b-0"> |
| 341 | + <div className="text-gray-300">{row.feature}</div> |
| 342 | + <div className="text-gray-500 text-center">{row.traditional}</div> |
| 343 | + <div className="text-violet-400 text-center font-medium">{row.sdk}</div> |
| 344 | + </div> |
| 345 | + ))} |
| 346 | + </div> |
| 347 | + </div> |
| 348 | + </section> |
| 349 | + |
| 350 | + {/* CTA Section */} |
| 351 | + <section className="py-20 px-8 max-sm:px-4 bg-gradient-to-b from-gray-900 to-black"> |
| 352 | + <div className="max-w-3xl mx-auto text-center"> |
| 353 | + <h2 className="text-4xl md:text-5xl font-bold mb-6 text-white"> |
| 354 | + Ready to Build Secure Email Editors? |
| 355 | + </h2> |
| 356 | + <p className="text-xl text-gray-300 mb-8"> |
| 357 | + Join companies like ByteDance and Microsoft who trust the Studio SDK |
| 358 | + for enterprise-grade email creation without vendor lock-in. |
| 359 | + </p> |
| 360 | + <div className="flex flex-col sm:flex-row gap-4 justify-center items-center"> |
| 361 | + <a |
| 362 | + href={urls.getSdkLicensesUrl({ ref: "emailCta" })} |
| 363 | + className="inline-block px-8 py-4 bg-violet-600 text-white font-semibold rounded-lg hover:bg-violet-700 transition-colors duration-200 text-lg" |
| 364 | + > |
| 365 | + Get Started for Free |
| 366 | + </a> |
| 367 | + <a |
| 368 | + href={urls.getContactUsUrl()} |
| 369 | + className="inline-block px-8 py-4 border-2 border-gray-600 text-gray-100 font-semibold rounded-lg hover:border-gray-500 hover:bg-gray-900 transition-colors duration-200 text-lg" |
| 370 | + > |
| 371 | + Contact Sales |
| 372 | + </a> |
| 373 | + </div> |
| 374 | + <p className="text-sm text-gray-500 mt-6"> |
| 375 | + No credit card required. Start building today. |
| 376 | + </p> |
| 377 | + </div> |
| 378 | + </section> |
| 379 | + </main> |
| 380 | + <FooterStandalone /> |
| 381 | + </div> |
| 382 | + ); |
| 383 | +} |
| 384 | + |
0 commit comments