Back to Blog

What Is Your Teacher Visibility Score?

How well does your leadership really understand what teachers experience? Take this 2-minute self-assessment and find out your Teacher Visibility Score.

by TeachSignal Team 18 Feb 2026 9 views
Teacher Wellbeing Teacher Retention School Leadership
What Is Your Teacher Visibility Score?

Most school leaders believe they know how their teachers are doing.

But believing and knowing are two very different things.

Teacher visibility is the degree to which leadership has genuine, real-time insight into how teachers experience their working conditions — not just performance metrics, but what's actually happening beneath the surface.

Low visibility doesn't mean bad leadership. It means the system isn't designed to surface what matters.

And what you can't see, you can't act on.

This quick self-assessment will help you gauge how visible your teachers' real experiences are to leadership right now. Answer honestly — the results are only for you.

<!-- Progress bar -->
<div class="mb-8 rounded-xl border border-slate-200 bg-white p-5 shadow-sm">
    <div class="flex items-center justify-between mb-2">
        <span class="text-sm font-medium text-slate-600">Progress</span>
        <span class="text-sm font-semibold text-slate-800" x-text="answeredCount + ' / ' + totalQuestions + ' answered'"></span>
    </div>
    <div class="h-2.5 w-full rounded-full bg-slate-100 overflow-hidden">
        <div class="h-full rounded-full bg-indigo-500 transition-all duration-300" :style="'width: ' + (answeredCount / totalQuestions * 100) + '%'"></div>
    </div>
    <div class="mt-2 text-right">
        <span class="text-xs text-slate-400">Running score: </span>
        <span class="text-sm font-bold text-indigo-600" x-text="score + ' / ' + maxScore"></span>
    </div>
</div>

<!-- Sections -->
<template x-for="(section, sIdx) in sections" :key="sIdx">
    <div class="mb-6 rounded-xl border border-slate-200 bg-white p-6 shadow-sm">
        <h3 class="text-lg font-bold text-slate-800 mb-4" x-text="section.title"></h3>
        <template x-for="(question, qIdx) in section.questions" :key="qIdx">
            <div class="mb-4 last:mb-0">
                <p class="text-sm font-medium text-slate-700 mb-2" x-text="question"></p>
                <div class="flex flex-wrap gap-2">
                    <template x-for="option in [{label: 'Yes', value: 2}, {label: 'Partially', value: 1}, {label: 'No', value: 0}]" :key="option.value">
                        <button
                            type="button"
                            class="rounded-lg border px-4 py-1.5 text-sm font-medium transition-all duration-150"
                            :class="getAnswer(sIdx, qIdx) === option.value
                                ? (option.value === 2 ? 'border-emerald-400 bg-emerald-50 text-emerald-700' : option.value === 1 ? 'border-amber-400 bg-amber-50 text-amber-700' : 'border-red-400 bg-red-50 text-red-700')
                                : 'border-slate-200 bg-slate-50 text-slate-600 hover:border-slate-300 hover:bg-slate-100'"
                            @click="setAnswer(sIdx, qIdx, option.value)"
                            x-text="option.label + ' (' + option.value + ')'">
                        </button>
                    </template>
                </div>
            </div>
        </template>
    </div>
</template>

<!-- Submit button -->
<div class="text-center mb-8" x-show="!showResults">
    <button
        type="button"
        class="rounded-xl px-8 py-3 text-base font-semibold text-white shadow-md transition-all duration-200"
        :class="allAnswered ? 'bg-indigo-600 hover:bg-indigo-700 cursor-pointer' : 'bg-slate-300 cursor-not-allowed'"
        :disabled="!allAnswered"
        @click="if (allAnswered) showResults = true">
        See Your Results
    </button>
    <p class="mt-2 text-xs text-slate-400" x-show="!allAnswered" x-text="'Answer all ' + totalQuestions + ' questions to see your results'"></p>
</div>

<!-- Results panel -->
<div x-show="showResults" x-transition.duration.500ms class="rounded-xl border-2 p-6 shadow-lg" :class="tierColor">

    <!-- Score badge -->
    <div class="text-center mb-6">
        <span class="inline-flex items-center rounded-full border px-5 py-2 text-lg font-bold" :class="tierColor" x-text="tierLabel"></span>
        <p class="mt-3 text-3xl font-extrabold text-slate-800" x-text="score + ' / ' + maxScore"></p>
        <div class="mx-auto mt-3 h-3 w-64 max-w-full rounded-full bg-slate-200 overflow-hidden">
            <div class="h-full rounded-full transition-all duration-700" :class="tierBarColor" :style="'width: ' + (score / maxScore * 100) + '%'"></div>
        </div>
    </div>

    <!-- Green tier -->
    <template x-if="tier === 'green'">
        <div>
            <h4 class="text-lg font-bold text-emerald-800 mb-2">Strong Visibility (30–36)</h4>
            <p class="text-sm text-slate-700 mb-3">Your school has strong systems for understanding what teachers experience. You are likely catching issues early, acting on feedback, and building a culture where teachers feel seen.</p>
            <p class="text-sm text-slate-700"><strong>Keep going.</strong> Visibility is not a one-time achievement — it requires ongoing commitment. Consider whether your systems are reaching <em>every</em> teacher, including those who are quieter, newer, or more isolated.</p>
        </div>
    </template>

    <!-- Amber tier -->
    <template x-if="tier === 'amber'">
        <div>
            <h4 class="text-lg font-bold text-amber-800 mb-2">Partial Visibility (18–29)</h4>
            <p class="text-sm text-slate-700 mb-3">You have some insight, but there are gaps. Some teachers are visible to you — others may not be. The risk here is that the teachers who need the most support are the ones you are least likely to hear from.</p>
            <p class="text-sm text-slate-700"><strong>Focus on the blind spots.</strong> Where are you relying on assumption instead of data? Where are you hearing from the same voices, while others stay silent? Partial visibility creates a false sense of security.</p>
        </div>
    </template>

    <!-- Red tier -->
    <template x-if="tier === 'red'">
        <div>
            <h4 class="text-lg font-bold text-red-800 mb-2">Low Visibility (0–17)</h4>
            <p class="text-sm text-slate-700 mb-3">There is a significant gap between what leadership sees and what teachers experience. This is not unusual — most schools operate with low visibility because the systems were never designed to surface it.</p>
            <p class="text-sm text-slate-700"><strong>This is your starting point, not your verdict.</strong> The fact that you are assessing this honestly is the first step. But without structured visibility, retention risks, burnout patterns, and disengagement will remain invisible until it is too late to act.</p>
        </div>
    </template>

    <!-- Hard Truth -->
    <div class="mt-6 rounded-lg bg-white/60 p-4">
        <h4 class="text-base font-bold text-slate-800 mb-2">The Hard Truth</h4>
        <p class="text-sm text-slate-700">Most schools score between 14 and 24. Not because leaders don't care — but because <strong>the system was never built for visibility.</strong></p>
        <p class="text-sm text-slate-700 mt-2">Schools are structured around performance, compliance, and outcomes — not around understanding what teachers actually experience day to day. And without that understanding, even the best-intentioned leadership is operating with incomplete information.</p>
    </div>

    <!-- Final Thought -->
    <div class="mt-4 rounded-lg bg-white/60 p-4">
        <h4 class="text-base font-bold text-slate-800 mb-2">Final Thought</h4>
        <p class="text-sm text-slate-700">You cannot improve what you cannot see.</p>
        <p class="text-sm text-slate-700 mt-2">And right now, the question is not whether your teachers are struggling. <strong>The question is whether you would know if they were.</strong></p>
    </div>

    <!-- CTA -->
    <div class="mt-6 text-center">
        <a href="/demo" class="inline-flex items-center rounded-xl bg-indigo-600 px-6 py-3 text-sm font-semibold text-white shadow-md hover:bg-indigo-700 transition-colors duration-200">
            Request a Demo — See What TeachSignal Reveals
        </a>
        <p class="mt-2 text-xs text-slate-500">The Teaching Conditions Index measures what this quiz only estimates.</p>
    </div>
</div>