Everything a school runs on, in one place
The school side is built and pilot schools are running on it. Everything below works in a browser today. The iPhone app for parents is in beta testing as of August 2026, with Android to follow, and it adds check-in by scan or location on top of all of it.
Check-in and check-out you can stand behind
The record a licensing inspector, a custody attorney, or a frustrated parent might one day ask you to produce.
- Your choice of verification. Enable an on-site code scan, a location boundary around your building, or both. It is a per-school setting, not a platform-wide rule.
- Codes you control. Rotate the scan code whenever you want, and set how long it stays valid — up to a year.
- A PIN on every action. Auto-filled when a code was scanned, typed manually when only location was confirmed, and hashed the same way a password is.
- Authorized pickup list per child. Kept separate from who has an app account, because the right to collect a child and the right to see their feed are not the same thing.
- Front-desk fallback. Staff log entries for anyone present without a phone. Tagged as staff-entered, never disguised as something else.
- No remote check-out, ever. A parent cannot mark a child as collected by someone else from across town.
One list of what is actually waiting
The difference between a busy morning and a bad one is usually whether anybody knew what was sitting there.
- A needs-attention page. Families waiting to be approved, messages nobody has answered, immunization records out of date, and tuition past your grace period — gathered in one place with how long each has been waiting.
- A notification bell on every screen. Staff see the count wherever they are, so nothing depends on remembering to open a particular page.
- The same list in a morning email, for anyone who would rather read it with a coffee than sign in to find it.
- Announcements to every family at once — a closure, a change of hours, a reminder about hats — shown in the app and carried at the top of that evening’s summary.
- An audit log behind all of it. Who changed what, when, and from where. Not for daily use; for the day somebody asks.
Parents stop asking how the day went
Three layers, each scoped differently, so families get what they care about without drowning in notifications.
- The room feed. Any parent with a child in that room sees the room's full day — check-ins, teacher posts, photos, and category-tagged updates.
- The daily summary email. Narrower on purpose: only content where their own child was tagged. Sent automatically at your end-of-day time to every linked guardian.
- Immediate alerts, by category. Parents choose which categories notify them right away — meals, naps, mood, learning, potty — with separate push and email switches.
- Safety always gets through. Incident reports and emergency broadcasts ignore notification preferences entirely. Those are not updates a parent should be able to silence.
- Every guardian, not just one. Summaries and alerts reach each linked parent account, so co-parents stay in sync without forwarding anything.
Photos and updates that stay in the right room
Teachers post to their own classes. Nothing goes school-wide by accident.
- Class-scoped by default. A teacher sees and posts to their assigned rooms only — not the whole school, and never another location.
- Categories that mean something. Activity, food, medical, mood, potty, sleep, learning, performing art. The tag drives both the daily summary and whether it fires as an alert.
- Two-tier photo consent. Appearing in the room feed is part of enrolling. Using a child's photo on your website or social media is a separate, genuinely optional permission.
- Optional annual re-consent. Turn on a yearly re-confirmation of photo choices, or leave the original consent standing. Your call, per school.
- Photos stored off the main server, behind private storage with short-lived access links and location metadata stripped on upload.
- You can see who has looked. Every time the app opens a photograph it is recorded, and a child's file shows who viewed pictures of them and when. When a parent asks — and one day one will — the answer is on the screen rather than a promise about how carefully you store things.
The group chat, except you can see it
Every school already has one. It is on somebody's phone, you are not in it, and you hear about it late.
- A board per room, opt-in. Parents choose to take part; nobody is enrolled into a conversation they did not ask for.
- Only families with a child in that room can read or post, worked out fresh each time rather than frozen — so a child who moves rooms in September takes their parents with them.
- Your staff can see it, because a noticeboard nobody at the school can read is the problem you started with.
- Off by default, per school. If you would rather not host this at all, leave it switched off and it does not exist for your families.
- Still no private line between two parents. This is a room, not a messaging app, and it is deliberately not one.
The records your license depends on
Licensing paperwork is a different problem from data privacy, and it is usually the one that shows up unannounced.
- Incident and injury reports. Structured — what happened, witnesses, action taken, who filed it — and delivered to parents immediately regardless of their notification settings.
- Digital acknowledgment. Any one linked guardian can attest they read the report; the rest can still view it.
- Immunization records tracked per child, so a status question does not mean digging through a binder.
- Medication administration log. What was given, when, by whom, and under whose authorization.
- Live staff-to-child ratios. Check-in data already knows who is in the building, so each room's ratio is computed in real time and flags staff before a limit is crossed.
- Emergency broadcast. Evacuation, lockdown, closure, severe weather — pushed through every channel at once.
- Any past day's register, on demand. Pick a date and see who arrived, who collected them and at what time — with the verification behind each line, down to the method and the distance from your building. The question a licensing visit tends to open with, answered in about as long as it takes to choose the day.
- Publish a policy and know who has read it. Post a new version of your handbook or your privacy policy, mark the change material, and every family is asked to type their name to agree the next time they sign in on the website. Fix a typo instead and nobody is stopped — that is a decision you make, not one the software makes for you.
Tuition billing without the spreadsheet
Your rates, your rules, and a balance every family can actually see.
- A billing account per child with its own rate, credit balance, and payment history.
- Credits and discounts applied as their own line items, so a family can see exactly what changed and why.
- Card and bank payment through Stripe — a card, or an ACH debit straight from a checking account, which for a monthly tuition bill costs the school considerably less.
- Your Stripe account, not ours. Each school connects its own, so tuition lands in your bank on your schedule and we never hold your families' money.
- Refunds and disputes handled in the app, against the invoice they belong to, so the balance a parent sees and the balance you see stay the same number.
- Paper checks still work. Log a manual payment against a child's account and the balance stays accurate.
- Reminders before it is late — at invoice creation, three days before the due date, on the due date, and once your own grace period has passed.
- Card and bank details are never stored on our servers. Stripe tokenizes both; the numbers never touch our database.
- Reporting by family, by room, and school-wide, for your bookkeeping rather than ours.
- One bill per family, not per child. A family with two children enrolled gets a single invoice covering both, which is how they think about it anyway.
Who can see what, decided once
Most of what goes wrong with school software is somebody seeing a record that was never theirs.
- Your school's data is separated at the database layer, not by a filter somebody remembered to apply. No other school on the platform can reach your families, staff, billing or photos.
- Teachers see their own rooms. Administrators see the school. Nobody sees another school.
- Two-step sign-in for staff, required, with recovery codes for the morning somebody has left their phone at home.
- Parents approved by hand. Anyone can register; a real person at your school links them to a child before they see anything at all.
- An authorized pickup list separate from app accounts, because the right to collect a child and the right to read about their day are different permissions.
- A family can close their own account, from the app or the web, without asking anybody. Their personal details are erased. The attendance and incident records your state requires you to keep stay with you, for the period your license says — the two are different things, and treating them as one is how schools end up either breaking a promise or breaking a rule.
- When we look into your school to help, we can read but not write, and the page says so at the top. Your families' messages are never ours to answer.
A published answering time, and a way to hold us to it
Support that is measured is support you can plan around.
- A searchable how-to inside the app, written per kind of account — a teacher is not shown the administrator's pages, and neither is shown ours.
- A support ticket straight to us from inside the app, with a screenshot attached if that is faster than describing it. Every ticket gets a number.
- Staff tickets answered within 72 hours, family tickets within 7 days, published up front rather than buried in a contract.
- We measure whether we keep it — per reply owed, not per ticket, because answering quickly once and then going quiet is the thing a first-reply figure hides.
- Firstep notices reach your staff in the same place your school's own notices do, so planned work is not a surprise.
Built to run more than one school
Multi-campus support is in the architecture from the first line of code, not bolted on after the fact.
- Each campus stays its own island. Grouping locations under one owner never merges their family, child, or classroom data.
- Admin accounts can span campuses when you ask us to link them. Teachers stay tied to their own school.
- Bill separately or as one invoice. Combined billing pools the enrolled-child counts into a single calculation, which usually costs less than billing each site on its own.
What we are deliberately not building
There is no live chat — messaging is an inbox, so nobody expects an instant reply at 9pm. There is no public-facing page for your families' data; the app is authenticated end to end. There is no private line between two parents, only a room they both chose to join. And a parent can never check their own child out from somewhere else — either they are at your school and the app can tell, or a member of staff logs it at the desk for the person standing in front of them.
See whether it fits your school
Tell us your enrollment and how you handle sign-in today. If Firstep is not the right fit yet, we will say so.