PageSourceSearch

https://careersy.ai/assets/discoverability-status-DhA0j42h.js

js careersy.ai collected 2026-10-05 13:49:07 UTC 10,463 bytes, 11 lines download raw bytes

1import{c as C}from"./Footer-Bla5xmDa.js";import{r as u,j as e}from"./chunk-BV7QT456-CqsSJlPS.js";import{u as I,R as A,c as a,k as R,l as i,n as d,D as N,z as x,y as p,o as h,x as F,m as E}from"./app-mock-BmXvXrWC.js";/**
2 * @license lucide-react v0.474.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const P=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 18V6",key:"zqpxq5"}]],Y=C("CircleDollarSign",P);/**
7 * @license lucide-react v0.474.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const L=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],B=C("Presentation",L),w=82,k=["Kubernetes","Terraform","on-call","observability","GraphQL","incident review"],m=[["Keyword Match",74,"Six of the ad’s weighted terms are missing. Kubernetes and Terraform are the two a scanner weights most."],["Skills Alignment",85],["Experience Relevance",92],["Education & Certifications",78],["Formatting & ATS Readability",84],["Recruiter Readability",88]],j=[250,1e3,450,550,650,220,220,220,220,220,500],y=5,_=y+m.length;function K(t,o,r=900){const[n,s]=u.useState(t);return u.useEffect(()=>{if(!o)return;let l=0,c=0;s(0);const f=b=>{c||(c=b);const g=Math.min(1,(b-c)/r);s(Math.round(t*(1-Math.pow(1-g,3)))),g<1&&(l=requestAnimationFrame(f))};return l=requestAnimationFrame(f),()=>cancelAnimationFrame(l)},[o,t,r]),o?n:t}function M({phase:t,playing:o=!1}){const r=K(w,t===1);return e.jsxs(A,{children:[e.jsx(a,{at:1,phase:t,children:e.jsx(R,{title:e.jsxs(e.Fragment,{children:["ATS Score · ",e.jsx("span",{className:"tabular-nums",children:r})," of 100"]}),pill:t>=2?"Strong match for this ad":void 0,sub:t>=2?`Your CV scored ${w} of 100 against this ad. Six keywords this ad asks for are not on your CV.`:void 0})}),e.jsx(a,{at:3,phase:t,children:e.jsx(i,{tone:"read",title:"The coach’s read",hint:"How your CV reads against this one ad, in the report’s own words.",children:e.jsx(d,{children:"Strong match. The work the ad asks for is the work on file. The gap is the platform tooling the ad names and your CV never does, and that is the kind a scanner filters on before a person reads a line."})})}),e.jsx(a,{at:4,phase:t,children:e.jsxs(i,{tone:"evidence",title:"Missing keywords",count:k.length,hint:"The ad’s own words that your CV does not use yet. Add the ones that are true of you, in the ad’s wording.",children:[e.jsx("div",{className:"flex flex-wrap gap-1.5",children:k.map((n,s)=>e.jsx(N,{style:o?{animation:"haw-in 220ms cubic-bezier(0.19,1,0.22,1) both",animationDelay:`${s*60}ms`}:void 0,children:n},n))}),e.jsx("div",{className:"border-l-2 pl-2.5",style:{borderColor:"rgba(107,106,46,0.35)"},children:e.jsx(x,{label:"Kubernetes",children:"Ran [what you ran] on Kubernetes across [how many services]. Add it only where it is true of you."})})]})}),e.jsx(a,{at:y,phase:t,children:e.jsx(i,{tone:"action",title:"Score breakdown",count:m.length,hint:"The score comes from these parts. The lowest row is where to start.",children:e.jsx("div",{className:"space-y-1.5",children:m.map(([n,s,l],c)=>e.jsx(a,{at:y+c,phase:t,children:e.jsx(x,{label:`${n} · ${s} of 100`,children:l})},n))})})}),e.jsx(a,{at:_,phase:t,children:e.jsxs(i,{tone:"action",title:"Fix this first",count:4,hint:"Work down these in order. Each one is a change you can make to the CV today.",children:[e.jsx(p,{n:1,title:"Add Kubernetes and Terraform to the platform line, in the ad’s words",children:e.jsx(d,{children:"Your last role ran on both. The CV says “cloud infrastructure”, which a scanner does not count. Name them where they are true."})}),e.jsx(p,{n:2,title:"Name the on-call rotation you ran",children:e.jsx(d,{children:"The ad lists it as a responsibility. Your incident work is on file; the phrase is not."})})]})})]})}function $({entered:t,lead:o=0}){const[r]=u.useState(()=>o>0?[o,...j]:j),{phase:n,playing:s}=I(t,r);return e.jsx(M,{phase:o>0?n-1:n,playing:s})}const v={needs:{label:"Needs work",style:{color:"#a0452b",borderColor:"rgba(160,69,43,0.35)",background:"rgba(160,69,43,0.08)"}},thin:{label:"Keyword thin",style:{color:"#a0452b",borderColor:"rgba(160,69,43,0.35)",background:"rgba(160,69,43,0.08)"}},strong:{label:"Strong",style:{color:"#2a6450",borderColor:"rgba(42,100,80,0.35)",background:"rgba(42,100,80,0.08)"}},proven:{label:"Proven",style:{color:"#2a6450",borderColor:"rgba(42,100,80,0.35)",background:"rgba(42,100,80,0.08)"}},cannot:{label:"Cannot check from a profile",style:{color:E,borderColor:"rgba(26,46,34,0.28)",background:"transparent"}}},S=[{title:"Found by recruiters and their AI tools",body:"Your current title, Senior Backend Engineer, is what recruiters search, so that role enters the pool cleanly. The problem is the headline: it opens with the stack (Go, Kubernetes, Postgres) rather than the market’s phrasing for the level you want, and “platform” appears nowhere in the first line. Location and skills are solid, so this is a wording fix, not a scope problem.",chips:["needs","thin"],words:"Senior Backend Engineer | Go, Kubernetes, Postgres | Payments"},{title:"Found by AI assistants such as ChatGPT, Gemini and Grok",body:"Recruiters and AI sourcing tools do not look for you by name. They search for a role: a title, a location, the skills an ad asks for. Then they read whoever comes back. That is the search this report is built around. Someone typing your name into an assistant is a different question, and the one thing here not checked.",chips:["cannot"]},{title:"Proving fit",body:"This is your real strength. The experience section binds team size, platform scale and outcomes to specific roles: 16 engineers across two squads, a platform serving 900+ internal users. These are bounded, role-anchored facts, exactly what a sourcing tool needs to rank you above someone who only lists skills.",chips:["strong","proven"],words:"Scaled the platform team from 8 to 16 engineers while owning the roadmap for 900+ internal users."},{title:"Inside LinkedIn",body:"This read is from your CV, not your live LinkedIn, so it cannot see whether Open to Work is on, whether you share a resume with recruiters, or when you last updated the profile. Those levers only move things inside LinkedIn Recruiter. Add your LinkedIn export in your profile and the next report reads the real thing.",chips:["cannot"]},{title:"Say it directly",body:"You state Australian citizen, the one screening fact handled well, since work rights are a common early filter for Sydney roles. Not on the page: n
11otice period, salary expectation, or what is motivating a move. No profile edit surfaces those. Say them to a recruiter or in your outreach.",chips:["needs","proven"],words:"Sydney, NSW | Australian citizen"}],T=[{label:"Your LinkedIn headline",text:"Staff-level Backend Engineer | Payments Platform, Distributed Systems | Go, Kubernetes, Postgres | Led 16 Engineers, 900+ User Platform",copy:"Copy your headline"},{label:"A bullet in your LinkedIn experience",text:"Scaled the payments platform team from 8 to 16 engineers across two squads, owning the roadmap for a platform used by 900+ internal users.",copy:"Copy bullet 1"}],D=[{title:"Inside LinkedIn Recruiter: settings a recruiter filters on",count:6,tone:"action"},{title:"What the ads ask for, checked against you",count:7,tone:"evidence"},{title:"Words these ads use that yours does not",count:8,tone:"evidence"},{title:"Lines a recruiter would quote",tone:"notes"},{title:"Live roles this read is measured against",count:12,tone:"note"},{title:"The smallest change that moves this",tone:"action"}],V={action:"#D9E3EB",evidence:"#EDE8CC",notes:"#EAD8E0",note:"#E4E4E1"};function W({children:t}){return e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md border px-2 py-1 text-[11px] font-medium",style:{fontFamily:"var(--font-jakarta)",color:h,borderColor:"rgba(26,46,34,0.2)",background:"#FFFFFF"},children:[e.jsx(F,{className:"size-3",strokeWidth:1.75}),t]})}function G({title:t,count:o,tone:r}){return e.jsxs("div",{className:"flex items-center justify-between rounded-xl px-3.5 py-2.5",style:{background:V[r]},children:[e.jsx("p",{className:"text-[13px] font-bold leading-snug",style:{fontFamily:"var(--font-lora)",color:h},children:t}),e.jsxs("span",{className:"font-mono-label shrink-0 pl-3 text-[11px]",style:{color:E},children:[o!==void 0?`${o} `:"","⌄"]})]})}function H(){return e.jsxs(A,{children:[e.jsx(R,{title:"Staff Engineer, platform",pill:"AI Discoverability",sub:"You are a well-evidenced platform engineer, and the thing holding you back is discovery: your headline leads with a stack rather than the words recruiters filter on. Once someone reads you, the evidence is convincing; the risk is that fewer of the right people ever open the page."}),e.jsx(i,{tone:"read",title:"Where you stand",count:S.length,hint:"We have not searched the web for your name. Graded from your CV, not from your live LinkedIn profile. 2 rows here cannot be judged from a profile alone, and each one tells you what it would need.",children:e.jsx("div",{className:"space-y-3",children:S.map(t=>e.jsxs("div",{children:[e.jsx("p",{className:"text-[13px] font-semibold leading-snug",style:{fontFamily:"var(--font-jakarta)",color:h},children:t.title}),e.jsx(d,{className:"mt-1",children:t.body}),e.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:t.chips.map(o=>e.jsx(N,{tone:"meta",style:v[o].style,children:v[o].label},o))}),t.words&&e.jsxs("p",{className:"mt-1.5 text-[12.5px] leading-snug",style:{fontFamily:"var(--font-jakarta)",color:"rgba(26,46,34,0.85)"},children:[e.jsx("span",{className:"font-semibold",style:{color:h},children:"Read from your own words: "}),t.words]})]},t.title))})}),e.jsx(i,{tone:"action",title:"Rewrites you can paste in",count:T.length,hint:"Each one is built only from facts you already gave us. Copy it and paste it where the card says.",children:T.map((t,o)=>e.jsxs(p,{n:o+1,title:t.label,children:[e.jsx(d,{children:t.text}),e.jsx("div",{className:"pt-1",children:e.jsx(W,{children:t.copy})})]},t.label))}),e.jsx("div",{className:"space-y-2",children:D.map(t=>e.jsx(G,{...t},t.title))})]})}export{$ as A,Y as C,H as D,B as P,W as a,G as b,j as c,M as d};

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.