Education · Open Source Product

GegoK12: an MIT-licensed school ERP schools can actually own

A modular school management system built on Laravel, released open source, with dedicated mobile applications for parents, teachers and transport — used by institutions across several countries.

SECTOR
Education / EdTech
TYPE
GegoSoft product
LICENCE
MIT open source
DEPLOYED
50+ institutions
STATUS
Active development
SCREENSHOT 1 — Administration dashboard
The administration dashboard: enrolment counts, staff numbers, upcoming examinations and the school notice board on one screen.

Why we open-sourced a school ERP

School management software has a trust problem that has little to do with features. A school signs a multi-year contract, moves years of student records, fee history and examination data into a vendor's cloud, and then discovers the cost of leaving. Data export is partial. The schema is undocumented. Renewal pricing moves in one direction.

We released GegoK12 under the MIT licence to remove that argument entirely. A school can read the source, host it themselves, export its own database, hire any Laravel developer to modify it, and continue running the system if GegoSoft disappeared tomorrow. That is a stronger commitment than any contractual assurance we could offer.

The licence is the product decision. Everything else follows from it.

The commercial model sits above the core rather than inside it. The school management system is free and complete. Premium add-ons, mobile applications, hosting, migration and support are paid. Schools that want to self-host and manage it themselves can, and some do — which we consider a feature of the model, not leakage from it.

The design problem: five audiences, one dataset

A school ERP is not one application. The same underlying data has to be presented to five groups whose needs barely overlap.

Administrators

Need breadth and control: enrolment, staff, fees, examinations, inventory, reporting across the whole institution.

Teachers

Need speed on a narrow set of daily tasks: attendance, homework, lesson plans, marks entry — often between classes, on a phone.

Parents

Need one child's information and nothing else, with no training and no manual. Many will open the app only when something needs attention.

Students

Need homework, timetable, results and classroom communication in a form that fits how they already use a phone.

Transport staff

Need route and attendance information in the field, frequently on poor connectivity.

Building one responsive web application for all five produces something every group tolerates and none uses willingly. We split it: a full-featured Laravel web application for administration and staff, and separate Flutter applications for parents, teachers and transport, each shaped around what that group opens their phone to do.

SCREENSHOT 2 — Student record
A student record consolidates admission details, guardian information, fee history, attendance, discipline notes, library activity and transport assignment behind one profile.

What the platform covers

Every module below is in the open source core.

Student managementAdmission, profiles, guardians, documents, transfers.
Teacher managementStaff records, assignments, workload, leave.
Class managementClasses, sections, subject allocation, class teachers.
TimetablePeriod scheduling with teacher and room allocation.
AttendanceDaily and period-wise, with parent visibility.
Lesson plansCurriculum planning and teaching-progress tracking.
HomeworkAssignment, submission and parent notification.
ExaminationsExam scheduling, marks entry, grading, report cards.
Fee managementStructures, collection, receipts, dues tracking.
Classroom wallClass-level announcements and discussion.
Event calendarSchool calendar with stakeholder-specific visibility.
InventorySchool assets, stock and issue records.
Leave managementStudent and staff leave requests and approvals.
TasksInternal task assignment and follow-up.
Website CMSPublic school site managed from the same system.

Three mobile applications, three different jobs

PARENTS One child, at a glance

Attendance, homework, results, fees, notices and calendar for their children only. Multiple children under one login.

TEACHERS Daily tasks in under a minute

Attendance marking, homework assignment, classroom wall posts and timetable — built for use between periods.

TRANSPORT Route operations in the field

Route information, student boarding records and trip status for transport staff working away from a desk.

SCREENSHOT 3 — Parent and teacher mobile apps
Separate Flutter applications for parents and teachers, each scoped to what that group actually opens their phone to do.

Technology choices and why

An open source product is judged partly on how easily someone else can maintain it. That constrained the stack more than performance did.

FRAMEWORK

Laravel

The largest pool of hireable developers of any PHP framework. A school that wants to modify GegoK12 without us can find someone locally.

DATABASE

MySQL

Academic data is relational and stable. Schools already have staff or vendors who can back it up and read it.

INTERFACE

Livewire and Vue.js

Livewire keeps most administrative screens in PHP, lowering the barrier to contribution. Vue handles the genuinely interactive screens.

STYLING

Tailwind CSS

Utility classes make it practical for a school's own developer to restyle without unpicking a custom CSS architecture.

MOBILE

Flutter

Three applications across Android and iOS from shared codebases, maintained by a team that is primarily web-focused.

HOSTING

Nginx

Deployable on modest hardware. Some institutions run GegoK12 on their own servers, and it has to work there.

How the team maintains it

GegoK12 predates our adoption of AI-assisted development, so it offers a clear before-and-after. Our engineers now use Claude Code as standard daily tooling, and on a codebase this size the effect is most visible in the unglamorous work: framework upgrades, test coverage across older modules, refactoring, and building customisations for individual institutions.

Reviews and design decisions remain with the engineering team, and every change passes normal review before merge. What changed is throughput on maintenance work that used to compete with new development for the same hours.

Where it stands

GegoK12 remains under active development, with premium add-ons and institution-specific customisations built on the open source core.

Common questions

Is GegoK12 really free?

The school management system is released under the MIT licence, which means you can use, modify, host and redistribute it, including commercially. Premium add-ons, the mobile applications, hosting, data migration and support are paid services.

Can our school host it on our own server?

Yes. It runs on a standard Laravel, MySQL and Nginx stack on modest hardware. We also offer managed hosting for schools that would rather not run infrastructure.

Can it be customised for how our school works?

Yes, and you are not dependent on us to do it. The source is open, so any competent Laravel developer can modify it. We build customisations for institutions that prefer us to handle it.

Can we migrate from our current school management software?

Usually. It depends on what your existing vendor will export. We assess the available data before committing to a migration, so you know what carries over.

What happens to our data if we stop working with GegoSoft?

You keep it, along with a working system. The database is yours, the schema is open, and the application continues to run. This is the main reason we chose an open licence.

Does GegoK12 support multiple branches or campuses?

EDIT-ANSWER — confirm current multi-branch capability before publishing. Do not claim it if it is roadmap rather than shipped.

Looking at school management software?

Tell us how your school runs today and what your current system does badly. We will tell you whether GegoK12 fits, what it would take to migrate, and when you would be better served by something else.

Talk to us about GegoK12 See all case studies