For small districts: one person does all of this, and the platform should assume that
In a district under 2,500 students, the communications platform is usually administered by somebody whose actual job is something else. Every recommendation below assumes nobody is coming to help.
| Enrolment | Annual at $3.50 | 36-month locked total | Per school month | Roughly equivalent to |
|---|---|---|---|---|
| 1,000 | $3,500 | $10,500 | $389 | Under half a day of substitute cover per month |
| 1,400 | $4,900 | $14,700 | $544 | One district laptop refresh a month |
| 1,800 | $6,300 | $18,900 | $700 | Less than one hour of a superintendent's time per week |
| 2,200 | $7,700 | $23,100 | $856 | A single day of consultant PD per year |
| 2,500 | $8,750 | $26,250 | $972 | , |
Nine-month school year used for the per-month figure. Normal SMS and email usage is included under a published pooled annual fair-use allowance, with transparent cost recovery only above it.
Week one, when you are the only person doing it
The realistic sequence, in order, with the parts that actually take time marked:
- Decide your system of record for contact data. Usually the SIS. This is a policy decision, not a technical one, and getting it wrong means staff corrections are silently overwritten on every roster sync. Half an hour of thinking, and it is the highest-leverage half hour in the project.
- Choose and verify the roster route. Kastr can read OneRoster 1.1 and 1.2 REST rosters and preview uploaded OneRoster CSV ZIP files. An organisation administrator configures the connection under Integrations, OneRoster. REST sync can run nightly after the first manual apply when the production worker is configured for that organisation. The custom JSON roster API and typed roster CSV import remain separate routes. A standards-based connection does not establish a vendor partnership or certification. A named district owner still needs to check scope, guardian coverage and sync health.
- Look at what arrived. Guardian coverage is where small districts find their real problem: how many students have at least one contactable adult with a valid phone number. Count it before you send anything.
- Start 10DLC registration. Brand and campaign registration takes two to six weeks and nothing you do can shorten it. Start it in week one or your go-live date is fiction.
- Send to yourself. Send-test-to-me delivers only to you, prefixed
[TEST]. Do this on every channel you plan to use. - Send one real message to a small audience. A single grade's families, built as a specific-people selection, before you attempt anything district-wide.
- Write down your quiet-hours and urgent-message policy. Two sentences. Who may flag a message as urgent, and what qualifies. Quiet hours default to 21:00–07:00 and the urgent flag sends outside them. Safety-critical alerts stay in your established emergency notification system.
That is a week of part-time work, not a project. What it is not is instantaneous, and any vendor telling you a district goes live in an afternoon is describing an account being created, not a district being reachable.
You get the same product as a district of 30,000
One tier, every feature, at every size. There is no small-district edition, no feature that unlocks at 5,000 students, and no module to add later. The API, the CLI, the audit chain, translation and the migration importer are all in the $3.50 rate.
That is unusual in this category and it is worth checking against whatever else you are evaluating. The most common structure elsewhere is an entry tier that looks cheap and excludes the things you will actually need, forms, e-signature, voice calls and automated notices, which appear one tier up. A published $3 headline that becomes $5 the moment you need a permission slip is a $5 product. To be exact about our side: Kastr has no voice calls at any price, and automated notice rules can be saved but nothing sends them yet.
The one thing you should check against your own numbers: landlines. On platforms that place calls, a small district's telephony spend is dominated by voice rather than SMS, because voice minutes cost more than text segments and failed texts fail over to voice. Kastr has no voice channel at all, so a family reachable only on a landline cannot be reached through Kastr. If a meaningful share of your families are on landlines, count them first and decide how you will reach them.
Where a district under 1,000 students should look instead
The published bands start at 1,000 students. Below that the per-student arithmetic stops being the right shape, a 400-student district paying $1,400 a year is not a viable customer for a vendor that has to support it, and any vendor pretending otherwise is either subsidising you from somewhere or planning to make the difference up at renewal.
If you are under about 1,000 students, be honest with yourself about what you actually need. A single school with 380 students and one office manager frequently needs a reliable SMS and voice broadcast tool and nothing else, and there are cheaper products that do exactly that. The features that justify a full platform, multi-school hierarchy, role governance, an API, audit chains, are answers to problems you may not have.
Talk to us anyway if you want to; we would rather tell you that you do not need this than sell it to you. That is easier for us to say than for most vendors, because we do not have a quota yet.
What will hurt in a small district specifically
- Choose and verify the roster route. Kastr can read OneRoster 1.1 and 1.2 REST rosters and preview uploaded OneRoster CSV ZIP files. An organisation administrator configures the connection under Integrations, OneRoster. REST sync can run nightly after the first manual apply when the production worker is configured for that organisation. The custom JSON roster API and typed roster CSV import remain separate routes. A standards-based connection does not establish a vendor partnership or certification. A named district owner still needs to check scope, guardian coverage and sync health.
- No SSO. Magic link only. In a small district this is often a non-issue, there is no identity provider to integrate with, but if you have standardised on Google Workspace for staff, expect grumbling.
- No grade targeting. You can send to the district, a school, a class, specific people or a saved group, but a grade has to be built as a specific-people selection, which can be saved for reuse.
- We are independently operated. Limited operating history, no SOC 2, no references. A small district with no technical redundancy is exactly the sort of district that should weight that heavily.
Questions people actually ask
What does this cost for a district of 1,400 students?
$4,900 a year, at the published $3.50 per-student rate, fixed for 36 months by contract, $14,700 across the initial term. That includes every feature and unlimited staff accounts. Normal SMS and email usage is included under a published pooled annual fair-use allowance, with transparent cost recovery only above it.
How long does setup take if I am the only person doing it?
About a week of part-time work for the platform side, and two to six weeks of waiting for 10DLC brand and campaign registration before real SMS moves at volume. The roster feed is the variable: half a day if somebody in your district has scheduled an export before, a couple of days if not. Start the registration first, because it is the only part you cannot compress.
Do we get fewer features at a smaller size?
No. One tier, everything included, at every enrolment. There is no small-district edition and nothing unlocks at a higher band. The price per student changes at 5,000 and 15,000 students; the product does not.
We are under 1,000 students. Should we buy this?
Probably not, and we would rather say so. The published bands start at 1,000 students, and below that a simpler SMS-and-voice broadcast tool usually covers what you actually need. The things that justify a full platform, hierarchy, role governance, an API, audit chains, solve problems a single-building district often does not have.
What if our SIS cannot export a roster on a schedule?
Then that is your project, not the messaging platform's, and it is worth solving regardless of which vendor you pick. A manual CSV upload works to get started, but a roster nobody refreshes goes stale within a term and stale contact data is the single largest cause of families who never hear from you.
One price. Every feature. Locked for three years.
$3.50 per student per year under 5,000 students. No tiers or add-on modules. Normal messaging is included under a published fair-use allowance, with transparent cost recovery only above it.