1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="UTF-8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7
7<script> 8 (function() { 9 try { 10 let savedMode = localStorage.getItem('themeMode') || 'dark'; 11 // Enterprise portal: the admin's org theme wins over the personal one. 12 // EnterpriseThemeScope caches the last-known org mode here as JSON 13 // { email, mode }; honor it so a light org doesn't flash dark on reload. 14 // Exact-path test on purpose: /enterprise-onboarding etc. are public dark pages. 15 if (location.pathname === '/enterprise' || location.pathname.indexOf('/enterprise/') === 0 || location.pathname === '/mcp') { 16 try { 17 const cached = JSON.parse(localStorage.getItem('examai_enterprise_theme_mode') || 'null'); 18 if (cached && (cached.mode === 'light' || cached.mode === 'dark')) { 19 savedMode = cached.mode; 20 } 21 } catch (e) { /* malformed cache â fall back to the personal mode */ } 22 } 23 if (savedMode === 'dark') { 24 document.documentElement.classList.add('dark'); 25 document.documentElement.classList.add('dark-theme'); 26 } else { 27 document.documentElement.classList.remove('dark'); 28 document.documentElement.classList.add('light-theme'); 29 } 30 const savedTheme = localStorage.getItem('appTheme') || 'purple'; 31 document.documentElement.setAttribute('data-theme', savedTheme); 32 } catch (e) { 33 document.documentElement.classList.add('dark'); 34 document.documentElement.classList.add('dark-theme'); 35 } 36 })(); 37 </script>
37 38 39 <!-- Clickjacking protection: break out of any iframe on a different origin --> 40 <style id="anti-clickjack">body { display: none !important; }</style> 41
41<script> 42 (function () { 43 function reveal() { 44 var el = document.getElementById('anti-clickjack'); 45 if (el && el.parentNode) el.parentNode.removeChild(el); 46 } 47 48 // Allow embedding in Lovable's preview/editor and known dev hosts 49 var ALLOWED_PARENT_HOSTS = [ 50 'lovable.dev', 51 'lovableproject.com', 52 'lovable.app', 53 'localhost', 54 '127.0.0.1' 55 ]; 56 57 function parentIsAllowed() { 58 try { 59 var ref = document.referrer ? new URL(document.referrer).hostname : ''; 60 if (!ref) return false; 61 return ALLOWED_PARENT_HOSTS.some(function (h) { 62 return ref === h || ref.endsWith('.' + h); 63 }); 64 } catch (e) { 65 return false; 66 } 67 } 68 69 if (window.self === window.top) { 70 reveal(); 71 return; 72 } 73 74 if (parentIsAllowed()) { 75 // Trusted embedder (Lovable preview/editor) â show the page 76 reveal(); 77 return; 78 } 79 80 // Untrusted embedder â try to break out, but never leave the page hidden 81 try { 82 window.top.location = window.self.location; 83 } catch (e) { 84 reveal(); 85 } 86 })(); 87 </script>
87 88 <title>ExamAI - Transform Assessment with AI-Powered Grading</title> 89 <meta name="description" 90 content="Revolutionize education with AI-powered exam creation and grading. Save time on assessments while providing detailed student feedback and analytics."> 91 <meta name="keywords" 92 content="exam grading, AI grading, automated assessment, education technology, teacher tools, professor tools, online exams, paper exams, question generation" /> 93 <meta name="author" content="ExamAI" /> 94 <meta name="robots" content="index, follow" /> 95 96 <!-- Material Symbols Rounded for icons --> 97 <link rel="stylesheet" 98 href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,[email protected],100..700,0..1,-50..200&display=block" /> 99 <!-- Nunito font for the logo text --> 100 <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@700&display=swap" rel="stylesheet"> 101 <style> 102 .material-symbols-rounded { 103 font-variation-settings: 104 'FILL' 1, 105 'wght' 400, 106 'GRAD' 0, 107 'opsz' 48 108 } 109 110 /* Add Nunito font for the logo text */ 111 .font-nunito { 112 font-family: 'Nunito', sans-serif; 113 } 114 </style> 115 116 <!-- MediaPipe libraries for webcam face tracking (loaded from CDN to avoid bundler issues) --> 117
117<script src="https://cdn.jsdelivr.net/npm/@mediapipe/camera_utils/camera_utils.js" crossorigin="anonymous"></script>
117 118
118<script src="https://cdn.jsdelivr.net/npm/@mediapipe/drawing_utils/drawing_utils.js" crossorigin="anonymous"></script>
118 119
119<script src="https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh/face_mesh.js" crossorigin="anonymous"></script>
119 120 121 <!-- Canonical URL: managed dynamically by SEOHead component per page --> 122 <!-- Open Graph / Facebook --> 123 <meta property="og:type" content="website" /> 124 125 126 <meta property="og:image" content="/lovable-uploads/social.png"> 127 <meta property="og:site_name" content="ExamAI" /> 128 129 <!-- Twitter --> 130 <meta name="twitter:card" content="summary_large_image" /> 131 132 133 <meta name="twitter:image" content="/lovable-uploads/social.png"> 134 <meta name="twitter:site" content="@examai" /> 135 136 <link rel="icon" type="image/png" href="/lovable-uploads/6010b777-e74f-4d1f-8cb5-931cc92bfd7a.png"> 137 138 <!-- Allow autoplay for embedded media --> 139 <meta http-equiv="Feature-Policy" content="autoplay 'self' https://www.youtube.com"> 140 141 <!-- Structured Data - Organization --> 142
142<script type="application/ld+json"> 143 { 144 "@context": "https://schema.org", 145 "@type": "Organization", 146 "name": "ExamAI", 147 "url": "https://www.examai.ai", 148 "logo": "https://www.examai.ai/lovable-uploads/6010b777-e74f-4d1f-8cb5-931cc92bfd7a.png", 149 "description": "AI-powered exam creation and grading platform for educators.", 150 "sameAs": [ 151 "https://twitter.com/examai", 152 "https://www.linkedin.com/company/examai" 153 ] 154 } 155 </script>
155 156 157 <!-- Structured Data - WebSite --> 158
158<script type="application/ld+json"> 159 { 160 "@context": "https://schema.org", 161 "@type": "WebSite", 162 "name": "ExamAI", 163 "url": "https://www.examai.ai", 164 "potentialAction": { 165 "@type": "SearchAction", 166 "target": { 167 "@type": "EntryPoint", 168 "urlTemplate": "https://www.examai.ai/blogs?search={search_term_string}" 169 }, 170 "query-input": "required name=search_term_string" 171 } 172 } 173 </script>
173 174 175 <!-- Structured Data - SoftwareApplication --> 176
176<script type="application/ld+json"> 177 { 178 "@context": "https://schema.org", 179 "@type": "SoftwareApplication", 180 "name": "ExamAI", 181 "applicationCategory": "EducationalApplication", 182 "operatingSystem": "Web", 183 "offers": { 184 "@type": "Offer", 185 "price": "0", 186 "priceCurrency": "USD" 187 } 188 } 189 </script>
189 190 191 <!-- Structured Data - SiteNavigationElement (helps Google generate sitelinks) --> 192 <!-- B2B pivot 2026-08: JSON can't hold comments, so noting the change here. 193 "Features" entry url changed from https://www.examai.ai/features to https://www.examai.ai/features/enterprise. 194 "Pricing" entry url changed from https://www.examai.ai/pricing to https://www.examai.ai/enterprise-pricing-calculator. 195 Restore by reverting these two url values. --> 196
196<script type="application/ld+json"> 197 { 198 "@context": "https://schema.org", 199 "@type": "ItemList", 200 "itemListElement": [ 201 { 202 "@type": "SiteNavigationElement", 203 "position": 1, 204 "name": "Features", 205 "description": "AI-powered exam creation, grading, and analytics features", 206 "url": "https://www.examai.ai/features/enterprise" 207 }, 208 { 209 "@type": "SiteNavigationElement", 210 "position": 2, 211 "name": "Pricing", 212 "description": "Flexible pricing plans for educators and institutions", 213 "url": "https://www.examai.ai/enterprise-pricing-calculator" 214 }, 215 { 216 "@type": "SiteNavigationElement", 217 "position": 3, 218 "name": "How It Works", 219 "description": "Step-by-step guide to creating and grading exams with AI", 220 "url": "https://www.examai.ai/how-it-works" 221 }, 222 { 223 "@type": "SiteNavigationElement", 224 "position": 4, 225 "name": "Help Center", 226 "description": "FAQs and support for ExamAI users", 227 "url": "https://www.examai.ai/help" 228 }, 229 { 230 "@type": "SiteNavigationElement", 231 "position": 5, 232 "name": "Blog", 233 "description": "Education technology insights, tips, and updates", 234 "url": "https://www.examai.ai/blogs" 235 }, 236 { 237 "@type": "SiteNavigationElement", 238 "position": 6, 239 "name": "About", 240 "description": "Learn about ExamAI's mission to transform education", 241 "url": "https://www.examai.ai/about" 242 }, 243 { 244 "@type": "SiteNavigationElement", 245 "position": 7, 246 "name": "Contact", 247 "description": "Get in touch with the ExamAI team", 248 "url": "https://www.examai.ai/contact" 249 }, 250 { 251 "@type": "SiteNavigationElement", 252 "position": 8, 253 "name": "For Institutions", 254 "description": "Bring ExamAI to your university, school, or educational organization", 255 "url": "https://www.examai.ai/institutions" 256 }, 257 { 258 "@type": "SiteNavigationElement", 259 "position": 9, 260 "name": "Login", 261 "description": "Access your ExamAI account", 262 "url": "https://www.examai.ai/login" 263 } 264 ] 265 } 266 </script>
266 267 268 <!-- Microsoft Clarity Analytics --> 269
269<script type="text/javascript"> 270 (function (c, l, a, r, i, t, y) { 271 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments) }; 272 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i; 273 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 274 })(window, document, "clarity", "script", "pqfa88igg8"); 275 </script>
275 276 277 <!-- Apollo.io Website Tracker (production only) --> 278
278<script>if (window.location.hostname !== 'localhost') { 279 function initApollo() { 280 var n = Math.random().toString(36).substring(7), o = document.createElement("script"); 281 o.src = "https://assets.apollo.io/micro/website-tracker/tracker.iife.js?nocache=" + n, o.async = !0, o.defer = !0, 282 o.onload = function () { window.trackingFunctions.onLoad({ appId: "67acfa208329d80019d3c940" }) }, 283 document.head.appendChild(o) 284 } initApollo(); 285 }</script>
285 286 <meta property="og:title" content="ExamAI - Transform Assessment with AI-Powered Grading"> 287 <meta name="twitter:title" content="ExamAI - Transform Assessment with AI-Powered Grading"> 288 <meta property="og:description" 289 content="Revolutionize education with AI-powered exam creation and grading. Save time on assessments while providing detailed student feedback and analytics."> 290 <meta name="twitter:description" 291 content="Revolutionize education with AI-powered exam creation and grading. Save time on assessments while providing detailed student feedback and analytics."> 292 293 <!-- NOTE: hreflang tags were removed. Spanish blog posts are standalone content, 294 not translations of English pages. Having static hreflang in index.html caused 295 Google to flag them as "Duplicate without user-selected canonical" because 296 every page incorrectly claimed them as alternates. Language is now set 297 per-post via BlogSEO structured data inLanguage field. --> 298
298<script type="module" crossorigin src="/assets/index-ClmyXLyP.js"></script>
298 299 <link rel="stylesheet" crossorigin href="/assets/index-DzWnymcf.css">
300<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
300</head> 301 302<body> 303 <div id="root"></div> 304 <noscript> 305 <div style="padding: 40px; font-family: sans-serif; background: #0f1118; color: white; min-height: 100vh;"> 306 <h1>ExamAI - AI-Powered Assessment Platform</h1> 307 <p>Revolutionize education with AI-powered exam creation and grading. Save time on assessments while providing 308 detailed student feedback and analytics.</p> 309 <nav> 310 <h2>Main Pages</h2> 311 <ul> 312 <!-- B2B pivot 2026-08 â restore by removing this comment wrapper: 313 <li><a href="https://www.examai.ai/features">Features</a></li> 314 <li><a href="https://www.examai.ai/features/professors">For Professors</a></li> 315 <li><a href="https://www.examai.ai/features/students">For Students</a></li> 316 --> 317 <li><a href="https://www.examai.ai/features/enterprise">For Enterprise</a></li> 318 <!-- B2B pivot 2026-08 â restore by removing this comment wrapper: 319 <li><a href="https://www.examai.ai/pricing">Pricing</a></li> 320 --> 321 <li><a href="https://www.examai.ai/enterprise-pricing-calculator">Enterprise Pricing Calculator</a></li> 322 <li><a href="https://www.examai.ai/institutions">For Institutions</a></li> 323 <li><a href="https://www.examai.ai/how-it-works">How It Works</a></li> 324 <li><a href="https://www.examai.ai/about">About</a></li> 325 <li><a href="https://www.examai.ai/contact">Contact</a></li> 326 <li><a href="https://www.examai.ai/help">Help Center</a></li> 327 <li><a href="https://www.examai.ai/hiring">Careers</a></li> 328 <!-- B2B pivot 2026-08 â /signup now redirects to /institutions. Restore by uncommenting: 329 <li><a href="https://www.examai.ai/signup">Sign Up</a></li> 330 --> 331 <li><a href="https://www.examai.ai/institutions">For Institutions</a></li> 332 <li><a href="https://www.examai.ai/login">Login</a></li> 333 </ul> 334 <h2>Blog</h2> 335 <ul> 336 <li><a href="https://www.examai.ai/blogs">All Articles</a></li> 337 <li><a href="https://www.examai.ai/blogs/can-chatgpt-grade-exams-what-happens">Can ChatGPT Grade Exams?</a> 338 </li> 339 <li><a href="https://www.examai.ai/blogs/best-ai-grading-tools-teachers-2026">Best AI Grading Tools 2026</a> 340 </li> 341 <li><a href="https://www.examai.ai/blogs/grade-200-exams-under-2-hours">Grade 200 Exams in Under 2 Hours</a> 342 </li> 343 <li><a href="https://www.examai.ai/blogs/chatgpt-vs-ai-grading-tools-comparison">ChatGPT vs AI Grading 344 Tools</a></li> 345 <li><a href="https://www.examai.ai/blogs/create-ai-generated-exam-5-minutes-tutorial">Create AI Exam in 5 346 Minutes</a></li> 347 </ul> 348 <h2>Comparisons</h2> 349 <ul> 350 <li><a href="https://www.examai.ai/compare">Compare AI Grading Tools</a></li> 351 <li><a href="https://www.examai.ai/compare/examai-vs-chatgpt">ExamAI vs ChatGPT</a></li> 352 <li><a href="https://www.examai.ai/compare/examai-vs-gradescope">ExamAI vs Gradescope</a></li> 353 <li><a href="https://www.examai.ai/compare/examai-vs-gemini">ExamAI vs Gemini</a></li> 354 <li><a href="https://www.examai.ai/compare/best-ai-grading-tools">Best AI Grading Tools</a></li> 355 </ul> 356 <h2>Use Cases</h2> 357 <ul> 358 <li><a href="https://www.examai.ai/use-cases">All Use Cases</a></li> 359 <li><a href="https://www.examai.ai/use-cases/ai-grading-for-essays">AI Grading for Essays</a></li> 360 <li><a href="https://www.examai.ai/use-cases/ai-grading-for-math">AI Grading for Math</a></li> 361 <li><a href="https://www.examai.ai/use-cases/ai-grading-handwritten-exams">AI Grading Handwritten Exams</a> 362 </li> 363 <li><a href="https://www.examai.ai/use-cases/ai-exam-generator">AI Exam Generator</a></li> 364 <li><a href="https://www.examai.ai/use-cases/ai-grading-for-universities">AI Grading for Universities</a></li> 365 </ul> 366 </nav> 367 </div> 368 </noscript>
369 <!-- IMPORTANT: DO NOT REMOVE THIS SCRIPT TAG OR THIS VERY COMMENT! 370
370<script src="https://cdn.gpteng.co/gptengineer.js" type="module"></script>
370 --> 371</body> 372 373</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.