Inspiration
A mother on r/homeschool wrote that what caught her off guard was the mental load of being responsible for all of it, all the time, and that there is no bell that ends her shift.
Quebec has 8,700 homeschooled children, up from 5,964 before the pandemic, and the number has held ever since. The ministry states outright that it provides neither teaching nor evaluation.
What it does
HomeSchoolOS runs a co-op where one instructor teaches four children at a time, which the Quebec Private Education Act exempts from any permit.
It builds the child's week, mixing the mandatory subjects with daily Quran, Arabic and Islamic studies in the same grid.
Children submit their work per block, attendance and duration come from an append-only event log, and the progress report the ministry requires is generated from those hours in one click.
Program blocks carry a PFEQ competency code and religious blocks carry a code that exists in no ministry program, so religious work is logged for the family and filtered out of the government document automatically.
It also tracks the eight legal deadlines, flags the one filed with the school service centre rather than the ministry because that is the one families miss, and handles Law 25 consent, retention and real deletion.
How we built it
Next.js 16 with the App Router, TypeScript, Tailwind v4, Prisma on SQLite, all server rendered with server actions.
The four student cap is a database transaction rather than a UI check, so it cannot be bypassed by accident.
Attendance, duration and progress are projections computed from session events, never typed into a form, which is what makes the generated report defensible.
The weekly schedule and the eight compliance deadlines are computed in code rather than stored, because a date copied into a database is a date somebody can get wrong.
Challenges we ran into
The hardest part was legal, not technical. There many legislations you have to respect when you are providing a solution to childrens.
The financial model told us the business was not viable three times, and each time the fix was a different structure rather than a different number.
We removed all interest bearing financing from the model, so the building is acquired through an anchor tenancy, a waqf style campaign, or cash from surpluses.
We cut live transcription with a day left because it needed a microphone and a network we could not guarantee on stage.
Accomplishments that we're proud of
The progress report is produced by the teaching hours themselves, and it exports to Word so the parent can edit it before filing.
Religious study is scheduled inside the school day and stays out of the government report by construction, not by a promise.
The model earns on every hour worked: $53 revenue against $35 cost for a teaching hour, $57 against $20 for supervision at eight children.
What we learned
That the five student exemption caps the room and not the business, which flipped the entire model.
That the credit for childcare expenses drops to under 14 years old in 2026, which is why the primary market and the only financeable market are the same one.
What's next for HomeSchoolOS
We want homeschooling to stop being a sacrifice a parent makes alone.
Every community already has the rooms, the people and the will. What is missing is the structure that turns them into a real school day.
The goal is a place in every neighbourhood where a child learns well, grows in their faith, and comes out with a record that opens every door.
Built With
- next.js
- node.js
- prisma
- react
- sqlite
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.