Platform capabilities

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.