1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/images/logo.png"/><link rel="preload" as="image" href="/icons/info.svg"/><link rel="preload" as="image" href="/footer/coko AGENCY favicon.png"/><link rel="modulepreload" href="/assets/entry.client-DQFzWzMJ.js"/><link rel="modulepreload" href="/assets/chunk-QMGIS6GS-DX0VMMAr.js"/><link rel="modulepreload" href="/assets/root-D2-SHmKp.js"/><link rel="modulepreload" href="/assets/puter-DiQITKgP.js"/><link rel="modulepreload" href="/assets/upload-DfIjBdyV.js"/><link rel="modulepreload" href="/assets/Navbar-B4kd3xnb.js"/><link rel="modulepreload" href="/assets/Footer-DN9olhLE.js"/><link rel="modulepreload" href="/assets/utils-CLdLQqWL.js"/><link rel="icon" href="/images/logo.png" type="image/png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="stylesheet" href="/assets/root-Caq_XoXg.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"/></head><body>
1<script src="https://js.puter.com/v2/"></script>
1<main class="bg-gradient-to-br from-cyan-50 via-teal-50 to-emerald-50 dark:from-slate-950 dark:via-slate-900 dark:to-cyan-950 bg-cover min-h-screen transition-colors"><nav class="navbar"><a class="flex items-center gap-2 sm:gap-3" href="/" data-discover="true"><img src="/images/logo.png" alt="ResumeAI Logo" class="h-8 w-auto sm:h-10"/><p class="text-xl sm:text-2xl md:text-3xl font-bold text-gradient logo-font">ResumeAI</p></a><div class="flex items-center gap-2 sm:gap-4"><a class="primary-button w-fit text-sm sm:text-base px-3 sm:px-4 py-2" href="/upload" data-discover="true"><span class="hidden sm:inline">Upload Resume</span><span class="sm:hidden">Upload</span></a></div></nav><section class="main-section"><div class="page-heading py-8 sm:py-12 md:py-16"><h1>Smart feedback for your dream job</h1><h2>Drop your resume for an ATS score and improvement tips</h2><form id="upload-form" class="flex flex-col gap-4 sm:gap-6 mt-6 sm:mt-8 w-full max-w-2xl"><div class="form-div"><label for="company-name">Company Name</label><input type="text" placeholder="Company Name" id="company-name" name="company-name"/></div><div class="form-div"><label for="job-title">Job Title</label><input type="text" placeholder="Job Title" id="job-title" name="job-title"/></div><div class="form-div"><label for="job-description">Job Description</label><textarea rows="5" name="job-description" placeholder="Job Description" id="job-description"></textarea></div><div class="form-div"><label for="uploader">Upload Resume</label><div class="w-full gradient-border"><div role="presentation" tabindex="0"><input accept="application/pdf,.pdf" type="file" style="border:0;clip:rect(0, 0, 0, 0);clip-path:inset(50%);height:1px;margin:0 -1px -1px 0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap" tabindex="-1"/><div class="space-y-4 cursor-pointer"><div><div class="mx-auto w-12 h-12 sm:w-16 sm:h-16 flex items-center justify-center mb-2"><img src="/icons/info.svg" alt="upload" class="w-12 h-12 sm:w-20 sm:h-20"/></div><p class="text-base sm:text-lg text-gray-500 dark:text-slate-300"><span class="font-semibold">Click to upload</span> or drag and drop</p><p class="text-base sm:text-lg text-gray-500 dark:text-slate-300">PDF (max <!-- -->20 MB<!-- -->)</p></div></div></div></div></div><button class="primary-button" type="submit">Analyze Resume</button></form></div></section><footer class="w-full py-6 sm:py-8 px-4 mt-12 sm:mt-16 md:mt-20 flex items-center justify-center border-t border-gray-200 dark:border-slate-800 bg-white dark:bg-slate-900 transition-colors"><div class="flex flex-col items-center gap-3 sm:gap-4"><p class="text-xs sm:text-sm text-gray-600 dark:text-slate-400 text-center">© <!-- -->2026<!-- --> ResumeAI. All rights reserved.</p><a href="https://cokoagency.com" target="_blank" rel="noopener noreferrer" class="inline-flex items-center space-x-2 bg-black border border-white rounded-full hover:bg-gray-800 transition-colors duration-300 px-3 py-1.5 "><span class="text-gray-300 font-medium text-xs">Powered by Coko</span><div class="w-4 h-4 bg-white rounded-full flex items-center justify-center"><img src="/footer/coko AGENCY favicon.png" alt="Coko Agency" class="w-3 h-3"/></div></a></div></footer></main>
1<script>((storageKey2, restoreKey) => { 2 if (!window.history.state || !window.history.state.key) { 3 let key = Math.random().toString(32).slice(2); 4 window.history.replaceState({ key }, ""); 5 } 6 try { 7 let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}"); 8 let storedY = positions[restoreKey || window.history.state.key]; 9 if (typeof storedY === "number") { 10 window.scrollTo(0, storedY); 11 } 12 } catch (error) { 13 console.error(error); 14 sessionStorage.removeItem(storageKey2); 15 } 16 })("react-router-scroll-positions", null)</script>
16<script>window.__reactRouterContext = {"basename":"/","future":{"unstable_middleware":false,"unstable_optimizeDeps":false,"unstable_splitRouteModules":false,"unstable_subResourceIntegrity":false,"unstable_viteEnvironmentApi":false},"routeDiscovery":{"mode":"lazy","manifestPath":"/__manifest"},"ssr":true,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
16<script type="module" async="">; 17import * as route0 from "/assets/root-D2-SHmKp.js"; 18import * as route1 from "/assets/upload-DfIjBdyV.js"; 19 window.__reactRouterManifest = { 20 "entry": { 21 "module": "/assets/entry.client-DQFzWzMJ.js", 22 "imports": [ 23 "/assets/chunk-QMGIS6GS-DX0VMMAr.js" 24 ], 25 "css": [] 26 }, 27 "routes": { 28 "root": { 29 "id": "root", 30 "path": "", 31 "hasAction": false, 32 "hasLoader": false, 33 "hasClientAction": false, 34 "hasClientLoader": false, 35 "hasClientMiddleware": false, 36 "hasErrorBoundary": true, 37 "module": "/assets/root-D2-SHmKp.js", 38 "imports": [ 39 "/assets/chunk-QMGIS6GS-DX0VMMAr.js", 40 "/assets/puter-DiQITKgP.js" 41 ], 42 "css": [ 43 "/assets/root-Caq_XoXg.css" 44 ] 45 }, 46 "routes/upload": { 47 "id": "routes/upload", 48 "parentId": "root", 49 "path": "/upload", 50 "hasAction": false, 51 "hasLoader": false, 52 "hasClientAction": false, 53 "hasClientLoader": false, 54 "hasClientMiddleware": false, 55 "hasErrorBoundary": false, 56 "module": "/assets/upload-DfIjBdyV.js", 57 "imports": [ 58 "/assets/chunk-QMGIS6GS-DX0VMMAr.js", 59 "/assets/Navbar-B4kd3xnb.js", 60 "/assets/Footer-DN9olhLE.js", 61 "/assets/utils-CLdLQqWL.js", 62 "/assets/puter-DiQITKgP.js" 63 ], 64 "css": [] 65 }, 66 "routes/home": { 67 "id": "routes/home", 68 "parentId": "root", 69 "index": true, 70 "hasAction": false, 71 "hasLoader": false, 72 "hasClientAction": false, 73 "hasClientLoader": false, 74 "hasClientMiddleware": false, 75 "hasErrorBoundary": false, 76 "module": "/assets/home-BP5yjhtA.js", 77 "imports": [ 78 "/assets/chunk-QMGIS6GS-DX0VMMAr.js", 79 "/assets/Navbar-B4kd3xnb.js", 80 "/assets/Footer-DN9olhLE.js", 81 "/assets/puter-DiQITKgP.js" 82 ], 83 "css": [] 84 } 85 }, 86 "url": "/assets/manifest-4cf06800.js", 87 "version": "4cf06800" 88}; 89 window.__reactRouterRouteModules = {"root":route0,"routes/upload":route1}; 90 91import("/assets/entry.client-DQFzWzMJ.js");</script>
91<!--$-->
91<script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{},\"actionData\",\"errors\"]\n");</script>
91<!--$-->
91<script>window.__reactRouterContext.streamController.close();</script>
91<!--/$--><!--/$--></body></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.