How the platform fits together
Every capability in the platform, grouped in 13 areas: schedule and cover, subject allocation, municipality insights, PBL, the goal loop, pupil tools, school admin oversight, security and integrations.
Schedule & substitution
Week board (drag-and-drop)
Docendo-style board as the default Skema view — palette of absent teachers and free substitutes, day-stacked grid, single-week overrides only.
Absence → cover automation
Approved absence creates VIKAR-DÆKKES overrides per lesson up to 8 weeks ahead. Reversal cleans up and the matcher excludes the absent teacher.
Substitute matcher v2 with allocation boost
Candidates ranked 0–5 across qualifications, competence, standby and availability — with extra boost for teachers already tied to the subject or year team.
Schedule year rollover
Copy classes (grade +1), allocation, class hours, functions and option blocks to the next school year in one click — preview before applying.
Cover budget per absence
get_cover_cost_summary now ships a by_absence breakdown — see exactly what each absence costs in substitute cover.
Schedule publish audit
Hard-block + soft-ack gate before the schedule goes live — catches double bookings, long days, missing cover and room clashes, archived on the snapshot.
Municipality & school admin
Municipality read-only
Municipality admins see aggregated school insights via secure RPCs — no class or pupil data exposed.
Cross-domain platform isolation
Every account is locked to one platform. Login bounces to the correct domain automatically.
STIL wsaIMPORT v8
SOAP push of master data to Unilogin with auto-mode on six annual-wheel deadlines.
Annual-wheel reminders & daily digest
Per-deadline reminders for teachers and school leaders, plus municipality triggers for serious events and a daily digest.
One-click holiday seeding
Official public holidays and school breaks seeded per country in one click — editable per school.
Per-school Aula mirror queue
Messages, after-school and events mirror to Aula in mock mode by default; KOMBIT mTLS production is ready when the agreement lands.
Staff, work time & wellbeing
A20 work-time registration
A20 KL/LC categories, 1924/1680 norm, protected prep time, quarterly follow-up and paid/unpaid breaks in one register.
Lærernorm tab in Fagfordeling-Workbench
Aggregates schedule, subject distribution, absence and annual norm per staff member via a dedicated RPC.
Staff sub-roles & scopes
Substitute, pedagogue, TAP, consultant and leader with eight sensitive scopes, school + user overrides and audit logging.
Wellbeing-survey engine
Periodic DCUM/Bloomsights surveys with k-anonymity RPC and official 20- and 40-question instruments seeded.
National skills tests planner & STIL export
Plan national skills tests, view results and heatmaps, export to STIL-compatible CSV — Danish only.
SEN suite with PPR & consent
PPR referrals, accommodation register, consent log and audit — surfaced as a banner on assignments and exams.
Teacher day-to-day
Grading flow with audio & notes
SpeedGrader with keyboard navigation, notes anchored in the pupil's text, recorded audio feedback and automatic late flagging per policy.
Assignment bank & reuse
Share assignments across the school and deep-copy them — content, rubric, late policy and AI settings follow to a new class and deadline.
Curriculum 2026 resolver
Automatically switches between FM2014 and the 2026 curriculum per subject and year; locked onto the yearly plan.
Yearly plan ↔ Lesson prep link
Period chip on the hub, coverage badge on the plan, auto-prefilled prep and AI seeding from the yearly plan.
Lesson prep VARK groups
AI generates four VARK variants per core activity; one-click differentiate to all and group-aware student preview.
Gradebook on Danish 7-trin scale
Auto-feed from assignments, percent→7-trin conversion, RLS on entries, snapshot audit and internal CSV / STIL export.
Team mode in live quizzes
Kahoot-style quizzes with team mode, AI-generated questions and a shared class scoring round.
Content roles & collaborative workspace
content_admin / content_editor scoped per municipality, ownership on learning_content, sharing and correction suggestions.
Pupil & parent
The pupil's week
Assignments, quizzes, project milestones and feedback in one overview with next steps sorted by deadline.
AI illustrations in lesson content
Gemini 3.1 Flash produces relevant illustrations in batches of five with SHA-256 caching for reuse.
Reading coach with multi-chapter stories
Personalised VARK-aligned stories across multiple chapters — pupils continue at their own pace.
57-language TTS with pronunciation guidance
On-demand TTS in 57 languages via gpt-4o-mini-tts, with language-specific pronunciation guidance.
Text simplification & smart rendering
AI adapts reading level per pupil and parses interactive markers/diagrams adaptively.
Interactive exercises — 5 types
Full pipeline for five exercise types (drag-drop, sorting, matching, etc.) with validated JSON schemas.
Visual arts with SmartCanvas
Pupils draw directly in SmartCanvas and submit artwork as artefacts in the assignment flow.
Productivity & platform
AI assistant in the productivity suite
Contextual help inside Docs, Sheets and Slides with automatic language detection — without leaving the tool.
Teacher toggles for AI & spell-check
Teachers toggle AI assistance and spell-check per assignment — exam mode in two seconds.
Submission integrity — paste detection
Pastes are detected per session and surfaced to teacher and parent — without blocking the pupil.
Content library & Smart URL import
Drafts library with autosave, beforeunload flush and retry, plus Firecrawl-based multi-page URL import with audit log.
Auto-trial on child link
Database trigger grants a 30-day trial when a parent links a child — no Stripe round-trip needed.
EU hosting + S3 backup in Helsinki (FI)
App and file hosting at Hetzner in Falkenstein/Nuremberg (DE). Encrypted daily backup written to Hetzner Object Storage (S3-compatible) in Helsinki (FI) — DB + Storage files + edge function logs, 30-day retention. Raw data never leaves the EU.
Fagfordeling — from wish to yearly plan
Scenarios & negotiation
Named what-if snapshots, TR/co-determination rounds with per-staff threads, accept/reject and sign-off signature.
Teacher wishes & teacher self-view
Teachers see their own allocation and submit wishes (subject/class/hours/comment); admins respond in the Wishes tab.
Budget & finance
Salary rates per sub-role + per-staff overrides, budget cap per school year, KPIs (budget/spend/delta) and CSV export per teacher and subject.
Competence coverage
Linjefag, teaching competence, course, side subject or none — per teacher and subject. Surfaces uncovered allocations at school and municipality scope.
Year-vs-year history & diff
Each allocation compared with the prior year — new/removed/changed per teacher, year and subject with KPIs and CSV.
AI assistant + onboarding wizard
AI proposals to assign, rebalance or reduce — with teacher wishes and budget as context. 6-step wizard and validate RPC catch gaps before rollout.
Export, sign-off & schedule transfer
PDF (per teacher/class/subject + team overview), multi-sheet Excel and signed PDF archive. One click opens the schedule auto-filled from the allocation.
Substitute & yearly-plan bridge
The substitute matcher uses subject-distribution and year-team boosts; yearly plans can be seeded directly from the signed allocation.
Parent & pupil insight + meetings
Schools can publish the allocation to parents and pupils per class. The Meetings & minutes tab seeds agendas and collects open actions across meetings.
Municipality insights — read-only and audited
Schedule overview per school
KPI strip, sortable table, per-school drawer and substitute economy. Read-only via SECURITY DEFINER RPC — no class or pupil data.
Staff coverage forecast
Per school year: UVM requirement vs scheduled teaching, gap sorting, drilldown sheet with open allocations per subject and class.
Intake, after-school & class formation
Enrolments and withdrawals, SFO module changes, class-formation drafts and legacy imports in one overview with period filter and CSV.
School compliance
Compliance documents across schools via a single server-side join, sortable headers, status badges and CSV export.
§153 notifications
SLA monitoring, bulk acknowledge, municipality case reference + caseworker note, median response time and localised CSV.
Fagfordeling insight & payroll runs
Per-school view of hours, teachers, scenarios, sign-off, negotiation and completed payroll runs — all with scoped realtime and CSV.
PBL & goal loop
Curriculum goals & portfolio
Courses link to competence, skill and knowledge goals suggested per subject and grade; milestones, rubrics and portfolio export document the result.
Uggi in PBL
Socratic guide for teams, curator with next steps for the teacher and reflection partner for pupils — all through the teacher approval inbox.
Climate & SDG library
Products, wall templates, character traits and eight building blocks — curated assets for teacher PBL courses.
7-step course designer
Teachers design PBL courses in seven steps with team, meetings and a live audit panel for gaps and coverage.
Realtime project wall
Pupils collaborate on a shared wall with cards and attachments in realtime. Coordinator view bundles all teams for the teacher.
Dannelses-PBL — SDG, innovation wheel & Open School
Framework toggle, SDG tagging, phase view on cards, Open School partners and public wall sharing via token.
Goal loop municipality → pupil
Org goals, indicators and check-ins cascade from municipality through school, team and class to pupil — with roll-up RPC and quality-programme page.
Leader team, daily goals & coaches/TK/circles
Confidential leader-team kanban, daily class goals, coach/TK items and learning circles (4-meeting template) whose output mirrors into the knowledge-sharing hub.
Pupil day-to-day tools
Radio studio with multitrack timeline
Pupils produce podcasts and school radio in a real studio: mixing desk, jingle pads, timeline with fades, undo/redo and a CC music library.
Language tutor with 12-turn context
Tutor conversations per scenario and persona with built-in TTS, PII scrub and archive/rename/reopen per chat.
Maths whiteboard with step solving
Personal and class boards, KaTeX-style rendering, copy buttons and a graph mode when the answer is visual.
PE plans with weekly sets
Pupils get tailored 1–16-week training plans with feedback thread and AI proposals that respect age band.
Geography map study
Pins, AI fact enrichment, XP quiz and resize-safe projection — grade level drives prompts and guardrails.
Media subject & debate arena
Record, edit and script suggestions in media studies; debate arena with argument turns, caps and a sensitive-content guardrail.
Knowledge map & flashcards
Per-subject knowledge map with 'next step', spaced repetition via apply_flashcard_review RPC and realtime updates across devices.
Pupil: class life, archive & support
Class portfolios & class wall
Pupils browse classmates' portfolios (when shared) and comment in threads; the class wall accepts photos with pin/edit/delete and realtime.
Radio Studio with timeline
Multitrack timeline, mixing desk with ducking, headphone cue, On Air playout, quality checks and a podcast archive.
Session recordings & voice recordings
Replay help sessions with the chat log in an accordion; personal voice recordings with KPI strip and signed-URL refresh every 50 minutes.
My corrections & assignment hub
Text corrections in four status tabs with 'Mark all reviewed'; assignments in Active/Submitted/Graded/All with UpcomingBanner and calendar breadcrumb.
Files, images & template library
URL-synced tabs, kebab menu (View/Copy/Download/Delete), upload queue with progress and scope badges (Platform/School/Class) on templates.
Scratchpad & analog submissions
SmartCanvas scratchpad with 6 MB quota-aware persistence; photo/PDF/audio submissions auto-route to open assignments with an AI feedback draft.
Resilience check & my loans
CYRM-12-light quarterly check with BørneTelefonen / Childline resources; loans in Active/History/Damage with urgency chip and receipt PDF.
School admin oversight
AI tools & AI assignments
KPI strip, period/category/tool filter, top tools/users and 25 most recent calls per user. AI-assignments marked via the created_by_ai flag.
Assignments & calendar
Cluster page with status/class/teacher/period filters, AssignmentDetailDrawer with submission KPIs and a calendar with weekly + per-day totals.
Material wizard & lesson prep
Sheet drawer for source, extracted, ideas and exercises; lesson prep with goals/agenda/notes/itemCount and deep link.
Storygames & session recordings
KPIs and optimistic bulk delete on storygames; session recordings with reviewed-by template, player copy/download and 60-min expiry.
Magtanvendelse (BEK 1773/2021)
Folkeskole categories (avert, hold, exclusion, retention), leader attestation, audit timeline and jsPDF export.
Announcements, class wall & treatment plans
Announcements in Active/Scheduled/Archive/Read-stats; class wall with photos and infinite paging; treatment plans with goal check-ins and per-plan PDF.
Security, consent & integrations
AI-fetch chokepoint
Every edge function routes through aiFetch — 45 s timeout, retry on 408/425/429/5xx, and scrubPii blocks CPR/NI/EMAIL with 422 before the call.
AI prompt audit & store:false
ai_prompt_audit logs every AI prompt (super_admin all, school_admin own pupils). OpenAI runs with store:false and a hashed user id.
Under-13 children & parental consent
useChildAgeGate.requireAiPersonalisationConsent gates AI personalisation; child_data_consents covers six consent types.
Pseudonymised super-admin & break-glass
Super-admin sees a default-pseudonymised pupil directory; break-glass access requires a reason and is logged to sensitive_access_log.
Public API & HMAC webhooks
Per-school API keys (sk_live_), four read endpoints and HMAC-signed webhooks on four events — developer portal at /developers.
STIL wsaIMPORT v8 + KOMBIT channel
SOAP push of master data to Unilogin with ContactPerson via the KOMBIT/CPR channel — foster carers and officially linked persons reach the XML without a Lovable account.

