Previews

No matching results.

x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<div class="tw:p-6 tw:max-w-7xl tw:mx-auto tw:space-y-8">
<div class="callout">
<p class="tw:mb-1 tw:text-sm tw:font-mono">
<strong>SCHOOL INSIGHTS (4.3 · NEW):</strong> a new tab/panel on the provider profile, organised by the scan’s 10 criteria<br>
<strong>COMPOSES:</strong> stat-chip (Class size) · card · SourcedFact atom · progress (coverage · D5)
</p>
<p class="tw:mb-0 tw:text-sm">
Data-driven by criterion so future criteria slot in with no redesign. Gives first-class homes to SEND, Pastoral, Subject
strengths and Class size (none of which have a surface today). Sparse criteria degrade gracefully to a "not yet found"
state rather than hiding. Class size also joins the existing "At a glance" chips.
</p>
</div>
<div class="tw:border-t tw:pt-6">
<h2 class="h4 tw:mb-4">At a glance — Class size added</h2>
<div class="callout tw:mb-4">
<p class="tw:mb-0 tw:text-sm">New <strong>Class size</strong> stat-chip (D4/D1) sits beside the existing student-count chips.</p>
</div>
<div class="tw:grid tw:grid-cols-2 tw:md:grid-cols-4 tw:gap-3">
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-users" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">No. of Students</span><span class="stat-value">2,015 Total</span></span>
</div>
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-person" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">No. of Boys</span><span class="stat-value">1,013 (50.3%)</span></span>
</div>
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-person-dress" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">No. of Girls</span><span class="stat-value">1,002 (49.7%)</span></span>
</div>
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-users-viewfinder" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">Avg. class size</span><span class="stat-value">24</span></span>
</div>
</div>
</div>
<div class="tw:border-t tw:pt-6">
<h2 class="h4 tw:mb-1">School insights</h2>
<p class="tw:text-body-s tw:leading-body-s tw:text-neutral-700 tw:mb-1.5">Grounded facts across the criteria we scanned — each carries its source. Editorial content stays separate.</p>
<span class="tw:inline-flex tw:items-center tw:gap-1.5 tw:mb-4 tw:text-body-xs tw:leading-body-xs tw:text-neutral-700">
<i class="fa-light fa-clock-rotate-left" aria-hidden="true"></i>Last checked 16 Jul 2026
</span>
<div class="tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:gap-4">
<div class="card">
<div class="card-body">
<div class="tw:flex tw:items-center tw:justify-between tw:gap-2 tw:mb-2">
<h3 class="h5 tw:mb-0 tw:inline-flex tw:items-center tw:gap-2">
<i class="fa-light fa-hands-holding-child tw:text-primary" aria-hidden="true"></i>SEND
</h3>
</div>
<div class="tw:divide-y tw:divide-line-muted">
<div class="tw:py-3.5">
<p class="tw:mb-0 tw:text-body-s tw:leading-body-s tw:text-neutral-800">Runs a specialist SEND hub with named keyworkers and 1:1 tutoring.</p>
<blockquote class="tw:mt-2 tw:mb-0 tw:border-0 tw:border-l-4 tw:border-secondary-500 tw:bg-surface-muted tw:rounded-r-md tw:px-3 tw:py-2 tw:italic tw:text-body-s tw:leading-body-s tw:text-neutral-700">
“Every student on the SEND register is assigned a named keyworker who coordinates weekly 1:1 tutoring.”
</blockquote>
<div class="tw:flex tw:flex-wrap tw:items-center tw:gap-x-2.5 tw:gap-y-1 tw:mt-2 tw:text-body-xs tw:leading-body-xs tw:text-neutral-500">
<span class="tw:inline-flex tw:items-center tw:cursor-help" data-controller="tooltip" data-tooltip-content-value="Found by AI from the school’s own website">
<i class="fa-light fa-brain-circuit tw:text-link" aria-hidden="true"></i><span class="tw:sr-only">AI-sourced</span>
</span>
<span class="tw:inline-flex tw:items-center tw:gap-1 tw:text-green-700">
<i class="fa-solid fa-circle-check" aria-hidden="true"></i>Verified 16 Jul 2026
</span>
<span aria-hidden="true">·</span>
<a href="#" class="tw:inline-flex tw:items-center tw:gap-1 tw:text-neutral-500 tw:cursor-help tw:hover:text-link"
data-controller="tooltip" data-tooltip-content-value="greenford.ealing.sch.uk/send-information-report">
<i class="fa-light fa-link" aria-hidden="true"></i>Source
</a>
</div>
</div>
<div class="tw:py-3.5">
<p class="tw:mb-0 tw:text-body-s tw:leading-body-s tw:text-neutral-800">Exam-access arrangements are assessed in-house by a qualified SENDCo.</p>
<blockquote class="tw:mt-2 tw:mb-0 tw:border-0 tw:border-l-4 tw:border-secondary-500 tw:bg-surface-muted tw:rounded-r-md tw:px-3 tw:py-2 tw:italic tw:text-body-s tw:leading-body-s tw:text-neutral-700">
“Access arrangements are reviewed each term by our qualified SENDCo.”
</blockquote>
<div class="tw:flex tw:flex-wrap tw:items-center tw:gap-x-2.5 tw:gap-y-1 tw:mt-2 tw:text-body-xs tw:leading-body-xs tw:text-neutral-500">
<span class="tw:inline-flex tw:items-center tw:cursor-help" data-controller="tooltip" data-tooltip-content-value="Found by AI from the school’s own website">
<i class="fa-light fa-brain-circuit tw:text-link" aria-hidden="true"></i><span class="tw:sr-only">AI-sourced</span>
</span>
<span class="tw:inline-flex tw:items-center tw:gap-1 tw:text-green-700">
<i class="fa-solid fa-circle-check" aria-hidden="true"></i>Verified 16 Jul 2026
</span>
<span aria-hidden="true">·</span>
<a href="#" class="tw:inline-flex tw:items-center tw:gap-1 tw:text-neutral-500 tw:cursor-help tw:hover:text-link"
data-controller="tooltip" data-tooltip-content-value="greenford.ealing.sch.uk/send">
<i class="fa-light fa-link" aria-hidden="true"></i>Source
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="tw:flex tw:items-center tw:justify-between tw:gap-2 tw:mb-2">
<h3 class="h5 tw:mb-0 tw:inline-flex tw:items-center tw:gap-2">
<i class="fa-light fa-heart tw:text-primary" aria-hidden="true"></i>Pastoral
</h3>
</div>
<div class="tw:divide-y tw:divide-line-muted">
<div class="tw:py-3.5">
<p class="tw:mb-0 tw:text-body-s tw:leading-body-s tw:text-neutral-800">Vertical tutor groups keep the same tutor across the sixth form.</p>
<blockquote class="tw:mt-2 tw:mb-0 tw:border-0 tw:border-l-4 tw:border-secondary-500 tw:bg-surface-muted tw:rounded-r-md tw:px-3 tw:py-2 tw:italic tw:text-body-s tw:leading-body-s tw:text-neutral-700">
“Students keep the same form tutor throughout Years 12 and 13.”
</blockquote>
<div class="tw:flex tw:flex-wrap tw:items-center tw:gap-x-2.5 tw:gap-y-1 tw:mt-2 tw:text-body-xs tw:leading-body-xs tw:text-neutral-500">
<span class="tw:inline-flex tw:items-center tw:cursor-help" data-controller="tooltip" data-tooltip-content-value="Found by AI from the school’s own website">
<i class="fa-light fa-brain-circuit tw:text-link" aria-hidden="true"></i><span class="tw:sr-only">AI-sourced</span>
</span>
<span class="tw:inline-flex tw:items-center tw:gap-1 tw:text-green-700">
<i class="fa-solid fa-circle-check" aria-hidden="true"></i>Verified 16 Jul 2026
</span>
<span aria-hidden="true">·</span>
<a href="#" class="tw:inline-flex tw:items-center tw:gap-1 tw:text-neutral-500 tw:cursor-help tw:hover:text-link"
data-controller="tooltip" data-tooltip-content-value="greenford.ealing.sch.uk/pastoral">
<i class="fa-light fa-link" aria-hidden="true"></i>Source
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="tw:flex tw:items-center tw:justify-between tw:gap-2 tw:mb-2">
<h3 class="h5 tw:mb-0 tw:inline-flex tw:items-center tw:gap-2">
<i class="fa-light fa-award tw:text-primary" aria-hidden="true"></i>Subject strengths
</h3>
</div>
<div class="tw:divide-y tw:divide-line-muted">
<div class="tw:py-3.5">
<p class="tw:mb-0 tw:text-body-s tw:leading-body-s tw:text-neutral-800">Strongest A-level outcomes in Maths, Physics and Computer Science.</p>
<blockquote class="tw:mt-2 tw:mb-0 tw:border-0 tw:border-l-4 tw:border-secondary-500 tw:bg-surface-muted tw:rounded-r-md tw:px-3 tw:py-2 tw:italic tw:text-body-s tw:leading-body-s tw:text-neutral-700">
“Our STEM results are consistently among the strongest in the borough.”
</blockquote>
<div class="tw:flex tw:flex-wrap tw:items-center tw:gap-x-2.5 tw:gap-y-1 tw:mt-2 tw:text-body-xs tw:leading-body-xs tw:text-neutral-500">
<span class="tw:inline-flex tw:items-center tw:cursor-help" data-controller="tooltip" data-tooltip-content-value="Found by AI from the school’s own website">
<i class="fa-light fa-brain-circuit tw:text-link" aria-hidden="true"></i><span class="tw:sr-only">AI-sourced</span>
</span>
<span class="tw:inline-flex tw:items-center tw:gap-1 tw:text-green-700">
<i class="fa-solid fa-circle-check" aria-hidden="true"></i>Verified 16 Jul 2026
</span>
<span aria-hidden="true">·</span>
<a href="#" class="tw:inline-flex tw:items-center tw:gap-1 tw:text-neutral-500 tw:cursor-help tw:hover:text-link"
data-controller="tooltip" data-tooltip-content-value="greenford.ealing.sch.uk/results">
<i class="fa-light fa-link" aria-hidden="true"></i>Source
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="tw:flex tw:items-center tw:justify-between tw:gap-2 tw:mb-2">
<h3 class="h5 tw:mb-0 tw:inline-flex tw:items-center tw:gap-2">
<i class="fa-light fa-users-viewfinder tw:text-primary" aria-hidden="true"></i>Class size
</h3>
</div>
<div class="tw:divide-y tw:divide-line-muted">
<div class="tw:py-3.5">
<p class="tw:mb-0 tw:text-body-s tw:leading-body-s tw:text-neutral-800">Average sixth-form teaching group is 24; science practicals capped at 20.</p>
<div class="tw:flex tw:flex-wrap tw:items-center tw:gap-x-2.5 tw:gap-y-1 tw:mt-2 tw:text-body-xs tw:leading-body-xs tw:text-neutral-500">
<span class="tw:inline-flex tw:items-center tw:cursor-help" data-controller="tooltip" data-tooltip-content-value="Found by AI from the school’s own website">
<i class="fa-light fa-brain-circuit tw:text-link" aria-hidden="true"></i><span class="tw:sr-only">AI-sourced</span>
</span>
<span class="tw:inline-flex tw:items-center tw:gap-1">
<i class="fa-light fa-clock" aria-hidden="true"></i>Awaiting verification
</span>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="tw:flex tw:items-center tw:justify-between tw:gap-2 tw:mb-2">
<h3 class="h5 tw:mb-0 tw:inline-flex tw:items-center tw:gap-2">
<i class="fa-light fa-masks-theater tw:text-primary" aria-hidden="true"></i>Enrichment
</h3>
</div>
<div class="tw:text-center tw:py-6">
<i class="fa-light fa-magnifying-glass tw:text-neutral-700 tw:text-2xl tw:mb-2" aria-hidden="true"></i>
<p class="tw:mb-0 tw:text-body-s tw:leading-body-s tw:text-neutral-700">No enrichment facts found yet.</p>
<p class="tw:mb-0 tw:text-body-xs tw:leading-body-xs tw:text-neutral-700">We’ll surface them here as the scan grounds more sources.</p>
</div>
</div>
</div>
</div>
<div class="callout tw:mt-4">
<p class="tw:mb-0 tw:text-sm">D5 now surfaces as a single <strong>freshness stamp</strong> ("Last checked…") rather than a per-card "% coverage" bar — a trust signal parents can read, without false precision. Numeric completeness moves to the decision surfaces (Claim Your Profile · For MATs). "Class size" shows an <strong>unverified</strong> fact (quote withheld); "Enrichment" shows the empty state — the section never looks broken on a sparse school.</p>
</div>
</div>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<div class="tw:p-6 tw:max-w-7xl tw:mx-auto tw:space-y-8">
<div class="callout">
<p class="tw:mb-1 tw:text-sm tw:font-mono">
<strong>SCHOOL INSIGHTS (4.3 · NEW):</strong> a new tab/panel on the provider profile, organised by the scan’s 10 criteria<br>
<strong>COMPOSES:</strong> stat-chip (Class size) · card · SourcedFact atom · progress (coverage · D5)
</p>
<p class="tw:mb-0 tw:text-sm">
Data-driven by criterion so future criteria slot in with no redesign. Gives first-class homes to SEND, Pastoral, Subject
strengths and Class size (none of which have a surface today). Sparse criteria degrade gracefully to a "not yet found"
state rather than hiding. Class size also joins the existing "At a glance" chips.
</p>
</div>
<div class="tw:border-t tw:pt-6">
<h2 class="h4 tw:mb-4">At a glance — Class size added</h2>
<div class="callout tw:mb-4">
<p class="tw:mb-0 tw:text-sm">New <strong>Class size</strong> stat-chip (D4/D1) sits beside the existing student-count chips.</p>
</div>
<div class="tw:grid tw:grid-cols-2 tw:md:grid-cols-4 tw:gap-3">
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-users" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">No. of Students</span><span class="stat-value">2,015 Total</span></span>
</div>
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-person" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">No. of Boys</span><span class="stat-value">1,013 (50.3%)</span></span>
</div>
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-person-dress" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">No. of Girls</span><span class="stat-value">1,002 (49.7%)</span></span>
</div>
<div class="stat stat-chip">
<span class="stat-icon"><i class="fa-regular fa-users-viewfinder" aria-hidden="true"></i></span>
<span class="tw:flex tw:flex-col tw:gap-[2px]"><span class="stat-label">Avg. class size</span><span class="stat-value">24</span></span>
</div>
</div>
</div>
<div class="tw:border-t tw:pt-6">
<h2 class="h4 tw:mb-1">School insights</h2>
<p class="tw:text-body-s tw:leading-body-s tw:text-neutral-700 tw:mb-1.5">Grounded facts across the criteria we scanned — each carries its source. Editorial content stays separate.</p>
<span class="tw:inline-flex tw:items-center tw:gap-1.5 tw:mb-4 tw:text-body-xs tw:leading-body-xs tw:text-neutral-700">
<i class="fa-light fa-clock-rotate-left" aria-hidden="true"></i>Last checked 16 Jul 2026
</span>
<%
criteria = [
{ name: "SEND", icon: "fa-hands-holding-child", coverage: 165, pct: 92, wclass: "tw:w-[92%]", new_home: true,
facts: [
{ text: "Runs a specialist SEND hub with named keyworkers and 1:1 tutoring.", verified: true, at: "16 Jul 2026",
quote: "Every student on the SEND register is assigned a named keyworker who coordinates weekly 1:1 tutoring.",
url: "#", src: "greenford.ealing.sch.uk/send-information-report" },
{ text: "Exam-access arrangements are assessed in-house by a qualified SENDCo.", verified: true, at: "16 Jul 2026",
quote: "Access arrangements are reviewed each term by our qualified SENDCo.", url: "#", src: "greenford.ealing.sch.uk/send" },
] },
{ name: "Pastoral", icon: "fa-heart", coverage: 345, pct: 88, wclass: "tw:w-[88%]", new_home: true,
facts: [
{ text: "Vertical tutor groups keep the same tutor across the sixth form.", verified: true, at: "16 Jul 2026",
quote: "Students keep the same form tutor throughout Years 12 and 13.", url: "#", src: "greenford.ealing.sch.uk/pastoral" },
] },
{ name: "Subject strengths", icon: "fa-award", coverage: 28, pct: 41, wclass: "tw:w-[41%]", new_home: true,
facts: [
{ text: "Strongest A-level outcomes in Maths, Physics and Computer Science.", verified: true, at: "16 Jul 2026",
quote: "Our STEM results are consistently among the strongest in the borough.", url: "#", src: "greenford.ealing.sch.uk/results" },
] },
{ name: "Class size", icon: "fa-users-viewfinder", coverage: 12, pct: 34, wclass: "tw:w-[34%]", new_home: true,
facts: [
{ text: "Average sixth-form teaching group is 24; science practicals capped at 20.", verified: false, at: nil,
quote: "Science practical groups are capped at 20 for safety.", url: "#", src: nil },
] },
{ name: "Enrichment", icon: "fa-masks-theater", coverage: 0, pct: 0, new_home: false, facts: [] },
]
%>
<div class="tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:gap-4">
<% criteria.each do |c| %>
<div class="card">
<div class="card-body">
<div class="tw:flex tw:items-center tw:justify-between tw:gap-2 tw:mb-2">
<h3 class="h5 tw:mb-0 tw:inline-flex tw:items-center tw:gap-2">
<i class="fa-light <%= c[:icon] %> tw:text-primary" aria-hidden="true"></i><%= c[:name] %>
</h3>
</div>
<% if c[:facts].any? %>
<div class="tw:divide-y tw:divide-line-muted">
<% c[:facts].each do |f| %>
<%= render "projects/scan_data_preview/sourced_fact",
fact_text: f[:text], criterion: c[:name],
verified: f[:verified], verified_at: f[:at],
quote: f[:quote], source_url: f[:url], source_label: f[:src] %>
<% end %>
</div>
<% else %>
<div class="tw:text-center tw:py-6">
<i class="fa-light fa-magnifying-glass tw:text-neutral-700 tw:text-2xl tw:mb-2" aria-hidden="true"></i>
<p class="tw:mb-0 tw:text-body-s tw:leading-body-s tw:text-neutral-700">No <%= c[:name].downcase %> facts found yet.</p>
<p class="tw:mb-0 tw:text-body-xs tw:leading-body-xs tw:text-neutral-700">We’ll surface them here as the scan grounds more sources.</p>
</div>
<% end %>
</div>
</div>
<% end %>
</div>
<div class="callout tw:mt-4">
<p class="tw:mb-0 tw:text-sm">D5 now surfaces as a single <strong>freshness stamp</strong> ("Last checked…") rather than a per-card "% coverage" bar — a trust signal parents can read, without false precision. Numeric completeness moves to the decision surfaces (Claim Your Profile · For MATs). "Class size" shows an <strong>unverified</strong> fact (quote withheld); "Enrichment" shows the empty state — the section never looks broken on a sparse school.</p>
</div>
</div>
</div>