School Choice and Enrollment Lottery Software: Custom Build vs Off the Shelf
A single district running magnet or transfer lotteries should buy. SchoolMint or PowerSchool Enrollment will handle the application and registration, and at that scale the match is not the hard part. Look seriously at Avela before commissioning anything.
On this page
A single district running magnet or transfer lotteries should buy. SchoolMint or PowerSchool Enrollment will handle the application and registration, and at that scale the match is not the hard part. Look seriously at Avela before commissioning anything. Build only when charters and district schools must be matched in one run, or when you have to publish a seed a third party can verify.
What the off the shelf products actually do well
Three products cover most of this market properly, and we would rather point you at them than sell you a build you do not need.
SchoolMint is strong on the family facing side: application capture across languages, communication, document collection and registration. If your matching logic is straightforward sibling and boundary priority, it will run your season and cost a fraction of anything custom. PowerSchool Enrollment is genuinely good at registration forms and the handoff into the student information system, which is the part districts underestimate. Avela was built specifically for unified enrolment and matching, and it is the most credible packaged option if your rules fit its model. If they do, you will save a year and considerable money, and that is the recommendation we make most often in this category.
Infinite Campus and other student information systems ship online registration modules that are fine for straightforward within district enrolment.
Buy also if your governance is simple. One board, one set of schools, no charter participation, no consent decree, no unusual seat types. Under that description the software is a form, a list and a random number, and the interesting risk is operational rather than algorithmic.
And buy if you have no one who can explain your own priority rules in a single sitting. Custom software does not create policy clarity. It exposes the absence of it, expensively, six weeks before results go out.
Where they stop: the parts that exist because your board said so
Results go out on a Friday in March. Within an hour a parent whose child was placed at their sixth choice calls a board member. By Monday a reporter asks how the algorithm works. Within a month someone files a records request for the seed and the run log, and if your answer is that the vendor ran it, you have a political problem no feature list solves.
That is the structural difference. An enrolment lottery is not an application system with a random number generator at the end. It is a public decision procedure allocating scarce seats and, with them, per pupil funding, and it must be explainable, reproducible and defensible to people who are angry and entitled to an answer. Most software fails quietly. This fails on local news.
Two specifics break packaged tools. First, priority tiers are local policy and policy changes in March. Sibling priority, but does a sibling in a feeder school count, and what happens when the sibling's own placement is undecided in the same run. Geographic priority, but by walk zone polygon, attendance boundary, or the neighbourhood definition the board adopted last year that matches neither. Weighted lottery for educationally disadvantaged students, which federal Charter Schools Program rules permit charters to run but which must be implemented exactly as adopted. Then a board amends a tier six weeks before the run because a council member heard from constituents, and a configured product means a vendor ticket, a release window and hope.
Second, verifiability. The pattern that ends the accusation is publishing a commitment to the random seed before the run, for instance a cryptographic hash of the seed and the input file, then releasing the seed and anonymised input afterwards so anyone can reproduce the assignment. That turns a trust problem into an arithmetic problem. If your current vendor cannot produce a rerunnable record, you do not have an audit trail. You have an assurance.
The arithmetic: per applicant pricing versus a build at your volume
Use your own quote. Enrolment platforms here price on some mix of enrolled students, applications received and participating schools, and the number to compare is the fully loaded annual figure including the seasonal support you actually consume in March.
An illustrative shape. Suppose a platform quotes $4 per enrolled student per year with a floor. A district of 8,000 students pays around $32,000 a year and should keep paying it. A citywide unified system covering 55,000 students across district and charter sectors pays somewhere near $220,000 a year, before the change requests that arrive whenever policy moves.
Put the build beside it over five years. A full platform at $200,000 to $450,000 with year two at 15 to 20 percent annually meets that line somewhere around 25,000 to 35,000 participating students, or roughly 12,000 to 18,000 applications a season depending where your quote sits.
The number that actually decides it is different again, and it is the change request. Count how many policy amendments your board passed in the last three years that required a vendor to alter matching behaviour, then count the weeks each took and what it cost. If policy moves on a political calendar and your software moves on a release calendar, the mismatch itself is the expense, and it does not appear anywhere on the renewal invoice.
What a custom build actually costs
From Digital Heroes delivery experience, a first release covering the common application in multiple languages, priority rules with effective dates, a student proposing deferred acceptance match with published verifiable seeds, and results release runs $80,000 to $180,000 in 14 to 20 weeks. A full platform adding cascading waitlists with offer windows, parcel level address validation, residency and document review, appeals, late applicant handling, mid year transfers and student information system integration across sectors runs $200,000 to $450,000 phased over 6 to 12 months.
Data migration is 10 to 25 percent, and the interesting part is not historical applications. It is establishing a stable student identifier across sectors, because charters and district schools use different identifier schemes and without a reconciliation you will be merging duplicates by hand in September.
Year two runs 15 to 20 percent of build cost annually, and here it is largely policy work: encoding amended tiers, adding a sector, adding a language.
What drives the number up: how many sectors participate, since district plus charter plus a state voucher programme means several governance bodies and several student information systems. The number of languages, since translating a legally consequential application is professional work rather than a plugin. Programme seat complexity, because dual language and special education seat capacities interact with general capacity. And the immovable deadline, since an enrolment season does not slip, which means schedule risk is bought down with a narrow first release rather than argued away.
The four situations where building wins
Regulatory fit. Rights under the McKinney-Vento Homeless Assistance Act make a hard address gate inappropriate, so the system needs a path for families who cannot produce documents. The Interstate Compact on Educational Opportunity for Military Children may add its own timing and priority rules in your state. Both are painful to retrofit into a matching pipeline and neither is a configuration checkbox.
Scale economics. Per student pricing across a citywide system with tens of thousands of applicants prices the participation you are trying to grow, and unified enrolment succeeds by adding sectors.
A workflow that is your advantage. Public verifiability is the one worth owning. Committing to a seed before the run, versioning the input snapshot and the rule set, and being able to rerun and get an identical assignment protects your staff from an accusation that would otherwise be deniable rather than checkable.
Integration sprawl. The city geographic information system holding parcel data, district attendance boundaries, several student information systems across sectors, a translation workflow and a document review queue is five directions at once. Address resolution is where this bites: geocoding to a street interpolation rather than a parcel silently places a family on the wrong side of a line, and the appeal arrives with a lease attached.
How to decide in a week
Ask one question of your current arrangement and take it seriously: could you, today, without contacting your vendor, reproduce last year's match and get the identical assignment.
Try it. You need the input snapshot as it stood at the run, the rule set as it stood at the run, the seed, and a way to execute the same procedure. If any of those four is missing, you have your answer, and you have it in a day rather than a procurement cycle. That is also the exact list a records request will ask for, so the exercise is useful even if you decide to buy.
Run a second check the same week. Write out your priority tiers as your board adopted them, in order, with every fallback and edge case, on one page. Then hand that page to two staff members with ten real applicant files and see whether they assign the same tiers independently. Disagreement means the rules were never fully expressed anywhere, which is a policy problem you can fix now and cannot fix in March.
Then commission a paid discovery phase. Digital Heroes writes a signed product requirements document before any code exists, covering the priority model, the match specification, the seed commitment procedure, the waitlist rules and acceptance criteria, and the specification is yours whether you build with us, build elsewhere or stay with SchoolMint. It is what keeps a fixed quote fixed.
We are the wrong firm for you if you want enrolment policy consulting, community engagement facilitation or staff seconded into your enrolment office through the season. We build the system and your board keeps the policy. Digital Heroes operates as an India LLP, a US LLC and a UK LTD so intellectual property assigns under your own law, and you meet the named engineers before signing. More than 2,000 delivered projects, over fifty specialists, our own products ShopScore, HeroCheckout and Section Vault, verifiable on Clutch, Trustpilot, Fiverr Vetted Pro and our D-U-N-S listing.
Book a 30-minute call with Digital Heroes and get a written plan and a fixed quote within 48 hours.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- Across more than 5,400 IT projects studied by McKinsey and the University of Oxford BT Centre, large IT projects ran on average 45% over budget and 7% over schedule while delivering 56% less value than predicted. Source: McKinsey & Company / University of Oxford (BT Centre for Major Programme Management) (2012) →
- Almost half of all the activities people are paid almost $16 trillion in wages to do in the global economy have the potential to be automated by adapting currently demonstrated technologies. Source: McKinsey Global Institute (2017) →
- Gartner estimates RPA can eliminate up to 25,000 hours of avoidable rework caused by human errors in the finance function each year, equating to savings of roughly $878,000 for an organization with 40 full-time accounting staff (based on interviews with more than 150 corporate controllers and chief accounting officers). Source: Gartner (2019) →
- 88% of customers say good customer service makes them more likely to purchase from a brand again in the future, quantifying the direct revenue link between support quality and retention. Source: HubSpot (2024) →
Frequently asked questions
How much does a custom school enrollment lottery system cost?
A first release covering a multilingual common application, effective dated priority rules, a deferred acceptance match with verifiable seeds and results release runs $80,000 to $180,000 over 14 to 20 weeks in Digital Heroes delivery experience. A full platform adding cascading waitlists, parcel level address validation, appeals, mid year transfers and cross sector integration runs $200,000 to $450,000 across 6 to 12 months.
What algorithm should a unified enrollment lottery use?
Most systems use a student proposing deferred acceptance match from the Gale-Shapley family, because it gives families a property worth defending in public: listing your true preference order cannot hurt you. That is why cities moved away from first choice first schemes that punished ambition. The detail your board must still decide is whether one tiebreak number applies at every school or each school draws its own.
Who owns the code and the run records if a city hires an agency?
The public body should, in writing, before kickoff, including the repository, the infrastructure accounts and every run log. For a government agency this is not only commercial hygiene, it is what lets you answer a records request without asking a vendor for permission. At Digital Heroes the client owns all of it from the first commit and can hand the system to another firm at any point.
How do you prove a school lottery was not rigged?
Commit publicly to the random seed before the run, for example by publishing a cryptographic hash of the seed together with a hash of the input file. After results, release the seed and the anonymised input so any third party can rerun the match and reproduce the assignment exactly. That converts an accusation from something you deny into something anyone can check for themselves.
What is the difference between an enrollment system and a matching engine?
An enrollment system captures applications, collects documents, communicates with families and registers accepted students. A matching engine takes applicant preferences, priority tiers, tiebreaks and seat capacities and produces assignments under a stated procedure. Several products do the first well and treat the second as a lightweight feature, which is fine until your priority rules stop fitting the configuration screen.
Can one system match district schools and charter schools together?
Technically yes, and the obstacle is governance rather than software. A single run needs an agreement covering which schools participate, whose priority rules apply where, how seats are reported and who publishes results. It also needs a stable student identifier across sectors, because charters and district schools use different schemes and reconciling duplicates by hand in September is the usual consequence of skipping that.
How should waitlists work after the match?
As an automatic cascade with rules, not a static list with a manual offer button. A seat opens, everyone below moves up, an acceptance vacates a held seat elsewhere and that cascades too. Offers need defined windows with automatic decline at expiry, a stated policy on whether position is preserved or forfeited, and an append only log of every offer, response and movement from March through October.
How do you handle families experiencing homelessness in an enrollment system?
Design for it at the start rather than bolting it on. Rights under the McKinney-Vento Homeless Assistance Act make a hard address requirement inappropriate as a gate, so the application needs a route that does not force a family to produce documents they do not have, with a liaison able to attest and a path into geographic priority that does not depend on a verified parcel.
How long does it take to build enrollment lottery software?
Fourteen to twenty weeks for a first release covering application, priority rules, the match and results. The constraint that shapes everything is that an enrolment season does not slip, so scope narrowly and leave waitlist automation, appeals and mid year transfers to phase two. Starting a build four months before results are due is the single most common way a city ends up running the season on a spreadsheet.
What happens if our board changes a priority tier six weeks before the run?
With effective dated rules it is a configuration change plus a rehearsal: replay last year's applicants against the new policy and show the board what actually changes before adopting it. Without effective dating it is a vendor ticket, a release window and a hope, and last year's run becomes irreproducible because the rule set moved underneath it. That timing is why cities move to a build.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
Our developer disappeared mid-project. Can another team pick up the code?
Yes, this is a routine engagement, provided the code exists somewhere you can access, so your first move is securing the repository, hosting, and domain credentials today. A takeover starts with a one to two week paid code audit that ends in one of three verdicts: continue the build, keep the design but rebuild the weak parts, or start over. Digital Heroes has inherited enough projects to say plainly that sometimes the rebuild is cheaper than the rescue, and an honest agency will tell you which one you have before taking your money.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
Who can build a custom software system?
Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.
Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.
What makes Digital Heroes different from other software companies?
Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.
Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.
How can I check Digital Heroes is legitimate before getting in touch?
Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.
Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.
Related guides
Published · Last updated .