Live demo: zoooul.github.io/riasec · Repo: github.com/zoooul/riasec
Interactive Holland RIASEC questionnaire for coaching and career self-reflection — 228 questions, eight languages, local progress, printable PDF. Based on the herbwood coaching questionnaire (© 2018). Vanilla HTML/CSS/JS, no build step.
Features: Holland code · hexagon profile · score breakdown · coaching-ready PDF · Deutsch · English · فارسی · Español · Français · Türkçe · Українська · Русский · mobile-friendly · works offline
An interactive Holland RIASEC test for coaching and self-reflection. Eight languages, no installation, one question per screen. Open it in the browser or put the folder on any website.
This questionnaire does not pick “the one right job”. It makes vocational interests and abilities visible, so you can talk about them with a coach, a trusted person, or in your own career planning.
It is based on John L. Holland’s congruence theory: satisfaction, success and career stability tend to be higher when a person’s orientation matches the orientation of the work environment.
You receive a Holland code — the three strongest of six types — plus a profile you can take into a coaching session.
| Letter | Type |
|---|---|
| R | Realistic — practical, technical, hands-on |
| I | Investigative — analytical, scientific, problem-solving |
| A | Artistic — creative, expressive, independent |
| S | Social — helpful, cooperative, people-focused |
| E | Enterprising — persuasive, leadership, business |
| C | Conventional — structured, detail-oriented, organised |
Four parts, 228 steps, six types (R, I, A, S, E, C):
| Part | Items | Scale | What is counted |
|---|---|---|---|
| Activities | 11 × 6 = 66 | Like / Dislike | “Like” |
| Abilities | 11 × 6 = 66 | Yes / No | “Yes” |
| Occupations | 14 × 6 = 84 | Yes / No | “Yes” |
| Self-assessment | 12 traits (2 per type) | 1–7 | Sum of both traits |
Per type:
Total = Activities + Abilities + Occupations + Self-assessment
Maximum per type: 50. The Holland code is the three highest types (ties broken in R–I–A–S–E–C order).
- Choose a language (detected from the browser, or via the menu). Your choice is remembered.
- Answer one question per screen. Progress is saved locally — you can pause and continue later.
- Short breaks between parts; a clear instruction before self-assessment.
- Results: Holland code, hexagon profile, score table, top-type cards, and a PDF download with personalised interpretation.
No account, no server, no tracking beyond your own browser storage. Starting a new test while saved progress exists asks for confirmation first — Continue always resumes where you left off.
- Ready in a click — open
index.html, use the live demo, or drop the folder on your site. No login, no backend. - Built for phones and desktops — one question per screen, clear green/red answer buttons, no page scrolling while answering.
- Truly multilingual — Deutsch, English, فارسی, Español, Français, Türkçe, Українська, Русский, plus RTL. Add another language with a single file.
- Coaching-ready — transparent scoring, detailed PDF report with Holland-code interpretation, language you can share with clients.
- Yours to host — static files only. GitHub Pages, any web space, or a USB stick.
| Code | Language | File |
|---|---|---|
de |
Deutsch | js/locales/de.js |
en |
English | js/locales/en.js |
fa |
فارسی (Persian) | js/locales/fa.js |
es |
Español | js/locales/es.js |
fr |
Français | js/locales/fr.js |
tr |
Türkçe | js/locales/tr.js |
uk |
Українська (Ukrainian) | js/locales/uk.js |
ru |
Русский (Russian) | js/locales/ru.js |
The UI follows the browser language when possible and stores the last choice in localStorage. RTL layout is enabled automatically (e.g. Persian).
No build tool required:
- Copy
js/locales/_template.jstojs/locales/it.js(use the ISO 639-1 code). - Replace
'xx'with'it'and translate all strings. Keep type lettersR I A S E Cand the colour values. - Load the file in
index.htmlnext to the other locale scripts:
<script src="js/locales/it.js"></script>- Optional: add
'it'toLOCALE_ORDERinjs/i18n.jsso it appears in a specific place in the language menu.
The language dropdown is built from every locale that called registerLocale(). Do not include _template.js in index.html.
For right-to-left languages set meta.dir to 'rtl'.
Double-click index.html, or serve the folder:
python -m http.server 8080Then open http://localhost:8080. Progress is stored in the browser.
This is a static site. Copy the whole project folder onto your web space (Apache, nginx, IIS, S3, Netlify, GitHub Pages, …).
https://example.com/riasec/→ upload this repo into a/riasec/directory- GitHub Pages: Settings → Pages → Deploy from branch
main, folder/(root) → https://zoooul.github.io/riasec/
Paths are relative (css/, js/), so the app works in a subdirectory.
PDF export uses a local copy of jsPDF (js/lib/jspdf.umd.min.js) and works offline. Non-Latin scripts (Persian, Ukrainian, Russian and some others) may not render fully in the PDF because the built-in font is Helvetica. The on-screen questionnaire is complete in all languages.
riasec/
├── index.html
├── css/styles.css
├── js/
│ ├── i18n.js # language system
│ ├── locales/
│ │ ├── _template.js # copy this to add a language
│ │ ├── de.js
│ │ ├── en.js
│ │ ├── fa.js
│ │ ├── es.js
│ │ ├── fr.js
│ │ ├── tr.js
│ │ ├── uk.js
│ │ └── ru.js
│ ├── data.js
│ ├── scoring.js
│ ├── pdf-report.js
│ ├── lib/jspdf.umd.min.js
│ └── app.js
├── .gitignore
└── README.md
Vanilla HTML, CSS and JavaScript. No Node.js, no bundler.
- RIASEC model: John L. Holland
- Questionnaire content: © herbwood coaching, 2018
- This repository: interactive web implementation (frontend)
Ein interaktiver Holland-RIASEC-Test für Coaching und Selbstklärung. Acht Sprachen, keine Installation, eine Frage pro Bildschirm. Im Browser öffnen oder als Ordner auf jede Website legen.
Der Fragebogen bestimmt nicht „den einen richtigen Beruf“. Er macht berufliche Interessen und Fähigkeiten sichtbar, damit Sie sie mit einem Coach, Vertrauten oder in Ihrer eigenen Planung besprechen können.
Grundlage ist John L. Hollands Kongruenz-Theorie: Zufriedenheit, Erfolg und Stabilität der Karriere sind tendenziell höher, wenn die Orientierung der Person zur Orientierung des Arbeitsumfelds passt.
Sie erhalten einen Holland-Code — die drei stärksten von sechs Typen — plus ein Profil für das Coaching-Gespräch.
| Buchstabe | Typ |
|---|---|
| R | Realistisch — praktisch, technisch, handlungsorientiert |
| I | Forschend — analytisch, wissenschaftlich, problemlösend |
| A | Künstlerisch — kreativ, expressiv, unabhängig |
| S | Sozial — hilfsbereit, kooperativ, menschenbezogen |
| E | Unternehmerisch — überzeugend, führungsstark, geschäftlich |
| C | Traditionell — strukturiert, detailorientiert, organisiert |
Vier Teile, 228 Schritte, sechs Typen (R, I, A, S, E, C):
| Teil | Items | Skala | Gewertet |
|---|---|---|---|
| Tätigkeiten | 11 × 6 = 66 | Gern / Ungern | „Gern“ |
| Fähigkeiten | 11 × 6 = 66 | Ja / Nein | „Ja“ |
| Berufliche Sympathien | 14 × 6 = 84 | Ja / Nein | „Ja“ |
| Selbsteinschätzung | 12 Eigenschaften (2 pro Typ) | 1–7 | Summe beider Eigenschaften |
Pro Typ:
Gesamtwert = Tätigkeiten + Fähigkeiten + Berufe + Selbsteinschätzung
Maximum pro Typ: 50. Der Holland-Code sind die drei höchsten Typen (Gleichstand in der Reihenfolge R–I–A–S–E–C).
- Sprache wählen (Browsererkennung oder Menü). Die Wahl wird gespeichert.
- Eine Frage pro Bildschirm beantworten. Der Fortschritt bleibt lokal erhalten — Unterbrechen und später weitermachen ist möglich.
- Kurze Pausen zwischen den Teilen; eine klare Anleitung vor der Selbsteinschätzung.
- Auswertung: Holland-Code, Hexagon-Profil, Wertetabelle, Typkarten und PDF-Download mit personalisierter Interpretation.
Kein Konto, kein Server, keine Tracking-Daten außerhalb Ihres Browsers. Beim Neustart mit gespeichertem Fortschritt erscheint eine Rückfrage — Fortsetzen setzt immer dort fort, wo Sie aufgehört haben.
- Sofort startklar —
index.htmlöffnen, Live-Demo nutzen oder den Ordner auf die Website legen. Kein Login, kein Backend. - Für Handy und Desktop gebaut — eine Frage pro Bildschirm, klare grün/rote Antwortbuttons, kein Seitenscrollen während des Tests.
- Wirklich mehrsprachig — Deutsch, English, فارسی, Español, Français, Türkçe, Українська, Русский, plus RTL. Weitere Sprache mit einer Datei.
- Coaching-tauglich — nachvollziehbare Berechnung, ausführlicher PDF-Bericht mit Holland-Code-Interpretation, Sprache der Klientinnen und Klienten.
- Selbst hosten — nur statische Dateien. GitHub Pages, jeder Webspace oder ein USB-Stick.
| Code | Sprache | Datei |
|---|---|---|
de |
Deutsch | js/locales/de.js |
en |
English | js/locales/en.js |
fa |
فارسی (Persisch) | js/locales/fa.js |
es |
Español | js/locales/es.js |
fr |
Français | js/locales/fr.js |
tr |
Türkçe | js/locales/tr.js |
uk |
Українська (Ukrainisch) | js/locales/uk.js |
ru |
Русский (Russisch) | js/locales/ru.js |
Die Oberfläche folgt möglichst der Browsersprache und merkt sich die letzte Wahl in localStorage. RTL wird automatisch aktiv (z. B. Persisch).
Kein Build-Schritt nötig:
js/locales/_template.jsnachjs/locales/it.jskopieren (ISO-639-1-Code).'xx'durch'it'ersetzen und alle Texte übersetzen. BuchstabenR I A S E Cund die Farben beibehalten.- Die Datei in
index.htmlneben den anderen Locale-Scripts laden:
<script src="js/locales/it.js"></script>- Optional
'it'inLOCALE_ORDERinjs/i18n.jseintragen, damit die Sprache an einer bestimmten Stelle im Menü steht.
Das Sprachmenü entsteht aus jeder Datei, die registerLocale() aufruft. _template.js nicht in index.html einbinden.
Für Rechts-nach-links-Sprachen meta.dir auf 'rtl' setzen.
Doppelklick auf index.html oder Ordner bereitstellen:
python -m http.server 8080Danach http://localhost:8080 öffnen. Der Fortschritt liegt im Browser.
Statische Seite. Den gesamten Projektordner auf den Webspace kopieren (Apache, nginx, IIS, S3, Netlify, GitHub Pages, …).
https://example.com/riasec/→ Inhalt dieses Repos in ein Verzeichnis/riasec/legen- GitHub Pages: Settings → Pages → Deploy from branch
main, Ordner/(root) → https://zoooul.github.io/riasec/
Pfade sind relativ (css/, js/), die App läuft also auch in einem Unterordner.
PDF-Export nutzt eine lokale Kopie von jsPDF (js/lib/jspdf.umd.min.js) und funktioniert offline. Nicht-lateinische Schriften (Persisch, Ukrainisch, Russisch u. a.) können im PDF durch Helvetica eingeschränkt sein. Am Bildschirm ist der Fragebogen in allen Sprachen vollständig.
riasec/
├── index.html
├── css/styles.css
├── js/
│ ├── i18n.js # Sprachsystem
│ ├── locales/
│ │ ├── _template.js # Vorlage für neue Sprachen
│ │ ├── de.js
│ │ ├── en.js
│ │ ├── fa.js
│ │ ├── es.js
│ │ ├── fr.js
│ │ ├── tr.js
│ │ ├── uk.js
│ │ └── ru.js
│ ├── data.js
│ ├── scoring.js
│ ├── pdf-report.js
│ ├── lib/jspdf.umd.min.js
│ └── app.js
├── .gitignore
└── README.md
Reines HTML, CSS und JavaScript. Kein Node.js, kein Bundler.
- RIASEC-Modell: John L. Holland
- Fragebogen-Inhalt: © herbwood coaching, 2018
- Dieses Repository: interaktive Web-Umsetzung (Frontend)