Product

MyPortal.
One system for
the whole school.

Twelve modules over a single pupil record, one permission model and one audit trail. Built on ASP.NET Core and Angular, hosted wherever your data belongs.

Modules

What is in the box.

Grouped here by the part of school life they serve. In the product they are one system — a behaviour incident is visible from the pupil record, and an absence explains a missing mark.

The school day

The things staff touch every hour. These are the screens we optimise hardest.

Attendance

Session and lesson registers, statutory codes, absence reasons and lateness — with the returns already shaped the way the DfE expects them.

Behaviour

Incidents, achievements, detentions and interventions logged in seconds, with a running picture of each pupil rather than a pile of disconnected notes.

Curriculum & timetabling

Subjects, courses, classes and the timetable itself — including a built-in timetabler rather than a separate product you export to.

The pupil record

One authoritative record per pupil, from application through to leaving.

Students

The full pupil record: contacts, addresses, medical, dietary, consents and enrolment history, all version-tracked.

SEND

Provisions, plans, reviews and needs recorded against the pupil, visible to exactly the people who should see them.

Admissions

Applications through to enrolment, with the transfer of a pupil’s record handled rather than re-keyed.

Documents

Attachments against any record, stored outside the database, access-controlled and audited like everything else.

Progress

Assessment and examinations, kept in step with everything else.

Assessment

Marksheets, grade sets and progress tracking that fit your assessment model instead of forcing you into somebody else’s.

Exams

Entries, seating, access arrangements and results, kept in step with the rest of the pupil record.

Reporting

Pupil profiles, reports home and the ad-hoc questions leadership asks on a Tuesday afternoon.

Running the school

The administrative spine — staff, roles, years and configuration.

Staff

Personnel records, contracts, absence, training and roles — the HR side of a school without a second system.

Administration

School configuration, academic years, roles and permissions — set up by your team, not by raising a ticket.

Who it is for

Three audiences, one database.

Staff, students and parents are served by the same system through role-based routing — not by three products that have to be reconciled every night.

Staff

Teachers, tutors, pastoral leads and administrators each get a view built around what their role actually does, with permissions to match.

Students

Timetable, assessment, behaviour points and documents, in a view appropriate to their age and to what the school chooses to share.

Parents and carers

Attendance, reports and school communication, without a separate app to buy and a separate database to keep in sync.

Architecture

Boring technology,
deliberately chosen.

Nothing here is exotic. A school system needs to still be maintainable in ten years, so we picked a stack your IT partner has already heard of.

Backend
ASP.NET Core 8
Frontend
Angular 20
Database
SQL Server
Identity
OAuth 2.0 / OIDC

API-first

Every module is exposed through a documented REST API. The Angular interface is simply the first consumer of it, which keeps the API honest.

Modular by construction

Modules are separate projects with their own services and contracts. Turning one off does not leave holes in the ones you kept.

Self-hostable

Deploy into your own infrastructure or let us host it in the UK. The same build either way — no cut-down on-premise edition.

Versioned schema

Database changes ship as ordered, repeatable migrations, so an upgrade is a predictable operation rather than an evening of nerves.

Migration

Leaving your current MIS
is the hard part. We own it.

Every school we speak to has been burned by a data migration, or has heard from someone who was. So we treat it as a project with a named owner and a rehearsal, not a checkbox.

  1. 01

    Extract

    We take a full export from your current MIS, including the historic data most vendors would rather you left behind.

  2. 02

    Map

    Your data is mapped onto MyPortal’s model and validated — mismatches surface now, not on the first day of term.

  3. 03

    Dry run

    A complete rehearsal migration into a private environment your team can log into and pick apart.

  4. 04

    Cut over

    A scheduled switch at a point in the calendar that suits the school, with the old system kept readable behind you.

Bring us your hardest question

Timetabling edge cases, a decade of historic attendance, a federation with shared staff — the awkward requirements are the interesting ones. Tell us yours.