Self-assessment

How do you actually work?

Are you a thinker or a talker? Do you learn by doing or by attending the class? Fifteen quick spectrums across how you think, how you learn, and how you work — place yourself on each and get back a profile of where you fit. There are no right answers — your answers stay in your browser, and you can download your profile to keep.

01 — The questions

Place yourself on each spectrum.

For each one, tap the point that's most true of you — 1 leans fully left, 5 leans fully right, 3 is balanced. Be honest about how you actually work, not how you think you should.

0 / 15 answered
02 — Your profile

Where you fit.

A read on your working style, generated from your answers. It's a mirror, not a verdict — most people are a blend, and context shifts where you land.

Answer the spectrums above, then hit “See my profile” to generate your map and summary.

Your working style

Your spectrum map
03 — Go deeper

Self-awareness is a team sport.

Knowing your own style is useful. Knowing your team's — and where the gaps, overlaps, and friction points are — is where it gets valuable. We use exercises like this in coaching and upskilling work to help teams understand how they think, learn, and deliver together.

Talk to us about team coaching
`; } document.getElementById('download-btn').addEventListener('click', () => { const html = buildReportHTML(); const blob = new Blob([html], { type: 'text/html' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); const stamp = new Date().toISOString().slice(0, 10); a.href = url; a.download = `working-style-profile-${stamp}.html`; document.body.appendChild(a); a.click(); a.remove(); setTimeout(() => URL.revokeObjectURL(url), 1000); }); document.getElementById('share-btn').addEventListener('click', async () => { const link = location.origin + location.pathname + '#p=' + encodeAnswers(); try { await navigator.clipboard.writeText(link); shareNote.textContent = 'Link copied to clipboard.'; } catch (e) { shareNote.textContent = link; } }); // ---- Load saved / shared answers on init ---- (function init() { let loaded = false; const hash = location.hash.match(/[#&]p=([0-5]{1,15})/); if (hash) loaded = applyAnswerCode(hash[1]); if (!loaded) { try { loaded = applyAnswerCode(localStorage.getItem(STORAGE_KEY) || ''); } catch (e) { /* ignore */ } } if (loaded) { reflectSelections(); renderProfile(); } })(); updateProgress(); // ---- Section nav: keep header offset in sync + highlight active section ---- const topChrome = document.querySelector('.top-chrome'); const setChromeHeight = () => document.documentElement.style.setProperty('--chrome-h', topChrome.offsetHeight + 'px'); if (window.ResizeObserver) { new ResizeObserver(setChromeHeight).observe(topChrome); } else { window.addEventListener('resize', setChromeHeight); } setChromeHeight(); const sectionLinks = [...document.querySelectorAll('.section-link')]; const sectionTargets = sectionLinks.map(link => document.getElementById(link.dataset.target)); let spyScheduled = false; function updateActiveSection() { spyScheduled = false; const offset = topChrome.offsetHeight + 24; let activeIndex = 0; sectionTargets.forEach((section, i) => { if (section && section.getBoundingClientRect().top - offset <= 0) activeIndex = i; }); if (window.innerHeight + window.scrollY >= document.body.scrollHeight - 2) { activeIndex = sectionTargets.length - 1; } sectionLinks.forEach((link, i) => { const isActive = i === activeIndex; link.classList.toggle('active', isActive); if (isActive) link.setAttribute('aria-current', 'location'); else link.removeAttribute('aria-current'); }); } function scheduleSpy() { if (spyScheduled) return; spyScheduled = true; requestAnimationFrame(updateActiveSection); } window.addEventListener('scroll', scheduleSpy, { passive: true }); window.addEventListener('resize', scheduleSpy); updateActiveSection();