Skip to content
Projects

Cert Studio

Live usable

I prepare for the Claude Code certifications with my own practice app: 240 original questions, mocks by domain weight and every trap explained.

A static practice app for the CCAR-F and CCDV-F certifications: mocks that spread questions by each domain's official weight, a timer, a scaled 100–1000 score and every wrong option tagged with the kind of trap it represents. Progress lives only in the browser. An unofficial study aid: all 240 questions are original and none reproduces a real exam item.

Technology

  • Frontend
  • AI & agents

Sector

  • Dev tools

Problem

The certification guides list domains and weights, but no way to practise that respects those weights or explains why a wrong option looks right. I wanted to measure myself with my own questions, spread like the real exam, with no accounts and no server.

Approach

One HTML page and three data files: the browser does all the work. A mock spreads the questions across the domains by their official weight using the largest-remainder method, runs against a timer and returns a scaled 100–1000 score with a pass at 720, the per-domain result and the traps you fell into. Every wrong option in the bank carries a trap tag, and the validator rejects one without it.

Review mode serves first what you have not seen and what you missed, and comes back to what you got right at growing intervals (simplified SM-2). Progress is kept in local storage and exports to JSON; with ?sample=1 everything lives in memory under a fixed seed, which is how the screenshots are recorded.

Limits: an unofficial study aid, not affiliated with the certification’s issuer; the real scale is not public and a weighted linear one is used here; the bank was reviewed by a model, not a human panel; progress does not travel between browsers. Code under Apache-2.0; content under CC BY 4.0.

Result

original questions in the bank
240
bank validator, 2026-10-15
end-to-end tests passing
25
Playwright, Windows, 2026-10-15

What I'd do next

  • Human review of a sample of the bank (today it was reviewed by a model).
  • Import a progress backup: today it can only be exported.

Architecture

Static study environment for the CCAR-F and CCDV-F certifications: mocks drawn by official weight, tagged traps and progress that never leaves the browser.

  • Visitor's browser
  • Hostinger
  • GitHub
  • PC Windows
  • Mac mini
clicsHTTPS<script><script>progresoen memoriaprint · JSONrequirerequireluegofile://TUScommitpersona · navegadorQuien estudiacualquier navegador modernoexterno · hosting estáticoHostingersubdominio cert.ichisieben.dev· .htaccessscript · bash + curldeploy-cert.shsubida TUS 1.0.0 · claves decorta vidaexterno · gitGitHubrepo público · un autornoreplypágina · HTML + JSindex.htmlvistas · router · motor de simulacro ·puntaje · repaso espaciadoscript · bashexport-public.shgit archive · filtro · auditoría porpatronesdatos · scriptblueprints.jsdominios · pesos · taskstatements · 10 trampasdatos · scriptquestions-*.js240 preguntas originalesherramienta · Nodevalidate-bank.mjsesquema · tareas · etiquetaspruebas · Playwrightapp.test.mjsChromium · file:// · 36 casosalmacén · navegadorlocalStorageccs:progress · ccs:cert ·ccs:themealmacén · memoriaModo muestra?sample=1 · semilla 42salida · archivoHoja de repaso y respaldowindow.print · Blob JSONC4 · nivel 2 (contenedores) · tráfico ambiente = llamadas reales · clic en una caja para el detallecaja punteada = existe fuera del proyecto · las líneas son llamadas reales del código
open in a new tab ↗

Flows you can replay

  1. Abrir la app
  2. Simulacro: peso → cronómetro → puntaje → trampas
  3. Cómo nace una pregunta
  4. Captura pública en modo muestra
  5. Publicar una versión
Part of the Claude Code Ecosystem →

Sibling projects

Learn how it was made → Certify