JavaScript
ES modules, async/await, DOM, fetch, closures, prototypes, ESLint, tests.
Before starting, we run a 1-minute tech check — microphone, ambient noise, connection. If your setup isn't good enough, the test is fully refunded.
ES modules, async/await, DOM, fetch, closures, prototypes, ESLint, tests.
Before starting, we run a 1-minute tech check — microphone, ambient noise, connection. If your setup isn't good enough, the test is fully refunded.
Stop saying you know JavaScript — prove it in 15 minutes with an AI oral exam that digs into async/await, closures, ES modules, and your real debugging instincts.
The Plume JavaScript badge certifies your ability to reason about the language's core mechanics — lexical scope, closures, the prototype chain, and the event loop — and apply them in real-world scenarios. The 15-minute oral exam covers modern async patterns (async/await, Promise.all, Promise.allSettled, unhandled rejections), DOM manipulation, fetch with network error handling, native ES modules, and the tooling ecosystem: Vite, Webpack, ESLint, Prettier, Jest, and Vitest. The AI examiner asks precise questions, follows up on your answers, and probes your blind spots — it doesn't let vague answers slide.
Unlike a multiple-choice quiz or a LinkedIn skill endorsement, this badge is built on a recorded oral session. A second AI model (Claude Opus) reads the full transcript and produces a score from 0 to 100 with a proficiency level (Novice, Proficient, Advanced, or Expert) and a detailed breakdown. No halo bias, no social pressure: if you muddle the event loop and the call stack, or fumble the difference between Promise.race and Promise.any, the evaluation will catch it. And if you precisely explain why top-level await changes module initialization order, that gets captured too.
This badge is built for front-end and full-stack developers who want something concrete on their resume or GitHub profile, for freelancers pitching to technical clients, and for junior or mid-level engineers preparing for technical interviews. It's also a great fit for bootcamp graduates who want an objective external validation of their skills before they start applying.
Here are the concrete dimensions the AI examines during the 15-minute oral.
Command of async/await, Promise.all, Promise.allSettled, Promise.race, unhandled rejection handling, and a solid mental model of the microtask queue and the event loop in practice.
Deep understanding of closures, lexical scoping, hoisting, and the ability to articulate when a closure is the right choice over an ES2015 class in a concrete design pattern.
Clear distinction between prototypal inheritance and the class syntax, understanding the prototype chain, Object.create, and the nuances of the this keyword across different call contexts.
Efficient DOM manipulation, event delegation, fetch calls with network error handling (timeout, AbortController), JSON parsing, and client-side code structure and organization.
Hands-on use of native ES modules (import/export, top-level await), Vite or Webpack configuration, tree-shaking, and a clear understanding of the differences between CJS and ESM.
Real-project integration of ESLint, Prettier, TypeScript, and a testing suite (Jest, Vitest): configuration, rule sets, code coverage, and CI pipeline setup.
Ability to trace async bugs, memory leaks (closure references, undetached event listeners), and this binding issues back to their root cause using concrete debugging techniques.
Knowledge of ES2020+ additions: optional chaining (?.), nullish coalescing (??), the at() operator, Object.hasOwn, structuredClone, and an informed view on the Temporal proposal.
Final scoring is performed by Claude (Anthropic), which reads back the full transcript and applies this weighted criteria grid.
Accuracy and depth on key concepts: the event loop, closures, the prototype chain, this binding, and lexical scope. This is the non-negotiable technical foundation the badge is built on.
Ability to reason about async/await and Promise patterns in real scenarios, anticipate pitfalls (unhandled rejections, race conditions), and structure robust error handling consistently.
Practical knowledge of the ecosystem: bundlers (Vite, Webpack), linters (ESLint), formatters (Prettier), testing frameworks (Jest, Vitest), and TypeScript integration in a real workflow.
Ability to explain complex technical concepts with accurate vocabulary, concrete examples, and no hand-waving. The oral format reveals whether understanding is deep or surface-level.
Ability to identify when vanilla JavaScript isn't the right tool, weigh the trade-offs between vanilla JS, TypeScript, and a framework, and justify architectural decisions clearly.
A Plume session takes about 20 minutes, from tech check to badge delivery.
Before the session starts, you confirm your mic is working and audio is clear. The AI checks it can hear you properly and gives you a quick overview of what's coming.
The AI examiner invites you to introduce yourself briefly and walk through your most recent or most complex use of JavaScript — project context, technical choices, what you took away from it.
The AI fires targeted questions on async patterns, closures, DOM and fetch, ES modules, tooling, and recent language evolution. It follows up on your answers and probes your gaps — no rigid script, fully adaptive.
The examiner explores your declared boundaries: when do you reach for TypeScript over vanilla JS, when does a framework make sense, and how your relationship with the language has evolved.
Claude Opus reads the full transcript, assigns a score from 0 to 100 with your proficiency level (Novice to Expert), and generates a detailed report. Your badge and shareable URL are ready immediately.
Your score out of 100 translates into a level a recruiter can grasp at a glance.
You use JavaScript procedurally with querySelector and addEventListener, but struggle to explain the event loop, closures, or the difference between var, let, and const. You often rely on tutorials and copy-paste async code without fully understanding what's happening under the hood.
You work with async/await and Promises daily, structure code with ES modules, and use ESLint and Prettier in your projects. You understand closures and this in common cases, but edge cases — this inside callbacks, memory leaks, the microtask queue — still trip you up occasionally.
You're fluent with the prototype chain, complex async patterns (Promise.allSettled, AbortController, streams), and you configure Vite or Webpack with TypeScript and a full test suite. You proactively spot memory leaks, race conditions, and scope issues, and you pick between a closure, a class, or a module based on the right criteria.
You reason precisely about the event loop, the microtask queue, and the garbage collector. You design large-scale modular JavaScript architectures, track TC39 proposals (Temporal, Records & Tuples), and can mentor junior developers on language subtleties while justifying every architectural decision with clarity.
No degree or years of experience required to take the badge. Here are the profiles it makes the most sense for.
Cut through the noise of dozens of resumes with 'JavaScript' checked off. A scored oral evaluation with a shareable URL says more to a technical recruiter than a LinkedIn skill endorsement ever could.
You've coded hard during your bootcamp, but you don't have production projects yet. The badge gives you credible external proof of your JavaScript level before your first technical interview.
Tech-savvy clients want independent validation of your JavaScript expertise before handing you a front-end or Node.js project. The badge gives a clear, verifiable signal that closes the conversation.
You want to know exactly where you stand relative to Advanced or Expert, pinpoint your gaps (async patterns, closures, testing), and get a detailed report to structure your growth plan.
You've been learning JavaScript in class but want something more concrete and credible than an academic grade to put on your resume and stand out when applying for internships or junior roles.
Where and how your JavaScript badge will help you day to day.
You're applying for a React or Vue.js role and attach your Advanced JavaScript badge to your resume. The recruiter clicks through to the transcript and sees you clearly explained Promise handling and event delegation.
A potential client is comparing you with another freelancer. You share your Expert badge URL and the detailed report. They see you handled questions on async/await, ES modules, and tooling — conversation closed.
You've got a technical interview at a scale-up in two weeks. You take the badge now to surface your weak spots — say, AbortController or the microtask queue — and focus your prep on exactly those areas.
You just finished an intensive program. Before sending out your first applications, you take the badge for an external evaluation. The report confirms your Proficient level and highlights the two areas to work on next.
You're gunning for a promotion from junior to mid-level developer on your team. You bring the Plume report to your annual review as a concrete argument, showing your command of async patterns and modern tooling.
You embed the badge URL directly in your GitHub README or Notion portfolio. Recruiters and open source contributors immediately see your certified level without needing to ask you screening questions.
A few minutes to check you have everything you need.
At the end of your session you don't just get a score — here's everything that awaits you.
You get a precise score and your official level (Novice, Proficient, Advanced, or Expert) on JavaScript fundamentals, produced by Claude Opus from a full read of your exam transcript.
A structured report explains your strengths and improvement areas across each dimension: async patterns, closures, DOM and fetch, tooling, and technical judgment. Concrete, not generic.
Your oral recording is stored securely and kept private. You can replay it to review how you explained JavaScript concepts and sharpen your communication for your next session.
Your JavaScript badge lives at a public URL you can drop in your resume, LinkedIn profile, GitHub README, or portfolio. Recruiters see your score, level, and exam date at a glance.
Discover related skills you can validate with Plume.
A 15-min oral exam with an AI, a shareable badge for your recruiters.
Choose this badge · €19.99