Driver Education

Custom driving school software in Baltimore: one school, two credentials, three deadlines

You think you run one business. Maryland thinks you run two, and it wrote the rules for each of them separately. A driving school that teaches the state program holds a drivers’ school license under Transportation Title 15 and a driver education school certification under Title 16, and almost every operational duty you have appears in both rulebooks with different numbers. Fire an instructor and you owe the MVA a report immediately, within five business days and within thirty days — three deadlines, three instruments, one event, all binding at once. Meanwhile the software sold into this trade meters staff seats, students and months. Maryland does not count any of those. It counts hours.

Custom driving school software in Baltimore: a driving school desk with an instructor mirror, a traffic cone, a car key and a blank clipboard, and at the center a completely blank cream card lying beside a plain unengraved brass badge
The short version. We priced the driving school software category on 27 August 2026, and it cannot agree on what it is selling you. Drive Scout publishes one clean number — $50 per user per month — and then attaches a five‑user minimum, which sets a floor of $3,000 a year regardless of how many students walk through the door. Drivers Ed Solutions charges $6.25 once per student, dropping to 2.5% of the sale below $250, plus a setup package at $600, $750 or $1,200 and $275 more for online payments. Drivofy runs $34 / $59 / $89 a month. DrivingSchoolSoftware.com serves a live home page and returns 404 on both /pricing and /prices. Those two published meters cross at 480 students a year, which works out to exactly one and a half training cars — so a one‑car school is structurally on the wrong side of the line and cannot get to the other side by selling harder. Then the arithmetic none of them do. Maryland caps a classroom cohort at 30 students and caps classroom teaching at 3 hours a day, so the thirty required classroom hours land in ten evenings, about two weeks. Those same thirty students need 180 credited behind‑the‑wheel hours, and because observation time counts for nothing, one car and one instructor need four and a half full weeks to clear them. The room fills 2.25 times faster than the car empties. And the state charges $225 a year to license the whole operation, which is one thirteenth of the cheapest published seat‑metered subscription in the category.

Five establishments, and the fifteen people inside them

There is a version of this article that opens with the global driver training market and a compound annual growth rate, and it would tell a Baltimore driving school precisely nothing. So here is the local picture instead, counted rather than estimated.

The Census Bureau’s County Business Patterns file for 2023 — still the most recent county‑level release — records driving schools under NAICS 611692. Across the ten Maryland counties that report a figure at all, there are 90 establishments with paid employees, employing 506 people against an annual payroll of $12.9 million. That is a small trade by any measure. The security guard companies we wrote about yesterday employ forty times as many people in this state.

Baltimore City has five of them. Between them they employ fifteen people and pay out $417,000 a year. Five establishments, three employees apiece, for a city of well over half a million residents, every one of whom has to pass through this exact process to get a license. Three of those five have fewer than five employees. It is the smallest establishment count we have found in any Baltimore trade we have examined this year, and the first thing to say about it is that the shortage is not a mystery: the fixed cost of being allowed to open is unusually high relative to the revenue a single classroom can produce, and we will get to exactly why.

The caveat about paid employees matters more here than almost anywhere. County Business Patterns counts establishments that run a payroll. A licensed instructor who owns their own school and teaches every hour themselves may not appear at all, and Maryland expressly contemplates that person: section 15‑803(a)(4)(i) lets an individual hold an instructor license by virtue of being the school licensee rather than an employee of one. So the real number of businesses is higher than five. What the file tells you accurately is how many have made the jump to being an employer, and that number is genuinely tiny.

Driving schools in Maryland, NAICS 611692, establishments with paid employees. Source: Census Bureau County Business Patterns 2023 county file, extracted 27 August 2026. Payroll per employee is our own division.
CountyEstablishmentsEmployeesAnnual payrollEmployees per establishmentPayroll per employee
Prince George’s2172$1,171,0003.4$16,264
Montgomery1892$3,808,0005.1$41,391
Anne Arundel1356$1,261,0004.3$22,518
Baltimore County1273$1,918,0006.1$26,274
Frederick652$1,692,0008.7$32,538
Howard569$1,156,00013.8$16,754
Baltimore City515$417,0003.0$27,800
Harford450$931,00012.5$18,620
Calvert316$280,0005.3$17,500
Carroll311$254,0003.7$23,091
Ten reporting counties90506$12,888,0005.6$25,470

Two things in that table are worth sitting with. The first is the pay gap inside a single metropolitan area. Prince George’s County has three more establishments than Montgomery County and pays out less than a third as much — $1.17 million against $3.81 million. Per employee that is $16,264 against $41,391, a factor of 2.5, twenty‑five miles apart. At Maryland’s 2023 large‑employer minimum wage of $13.25 an hour, Prince George’s payroll per employee buys about 1,227 hours, or fifty‑nine percent of a full‑time year. Montgomery’s buys about 3,124. Those are not the same job being done in two places. One county’s driving schools are staffed by people doing this as their whole living; the other’s are staffed by people doing it on Saturdays and Tuesday evenings.

The second is that Baltimore City sits almost exactly on the line. Payroll per employee of $27,800 is within $240 of one full‑time year at that same 2023 minimum wage. That does not mean everyone is paid the minimum. It means the total wage bill divided by the headcount lands where it would land if a small number of people worked a lot of part‑time hours at a decent hourly rate — which is what a driving school payroll actually looks like, because instruction happens on weekday evenings and weekends and almost nowhere else.

Hold that thought about evenings. It turns out to be a regulatory fact, not just a commercial one.

One school is two schools, and Maryland says so twice

Here is the thing that makes this trade genuinely different from every other Baltimore vertical we have looked at, and it is not a detail. It is the whole shape of the compliance problem.

Maryland regulates a driving school under two separate statutes at the same time, using two different words for the same building and two different words for the same person.

Under Transportation Article Title 15, Subtitle 7, your business is a drivers’ school and it is licensed. Section 15‑701(b)(1) defines that as “any person in the business of giving instruction in the driving of motor vehicles,” which is about as wide as a definition gets. Section 15‑702 makes operating one without a license unlawful. The operational detail lives in COMAR 11.23.01. Your instructors are driving instructors, licensed under Title 15 Subtitle 8.

Under Transportation Article Title 16, Subtitle 5 — the Maryland Driver Education Program Act — the same business is a driver education school and it is certified. Section 16‑501(e) defines it as “a school approved by the Administration to conduct driver education courses.” The operational detail lives in COMAR 11.23.02. The same humans are driver education instructors, and they are certified, not licensed.

You might reasonably assume these are two names for one credential. They are not, and the statute goes out of its way to say so. Section 16‑501(c) defines a driver education instructor as someone certified by the Administration “whether or not the individual is required to be licensed under Title 15, Subtitle 8 of this article.” That clause only makes sense if the drafters could picture a certified instructor who holds no Title 15 license. The two credentials are independent by design.

And they police each other. Section 15‑710(a)(5) lets the MVA revoke your Title 15 license because you broke a Title 16 rule. Section 16‑506(a)(1)(ii) lets it revoke your Title 16 certification because you broke a Title 15 rule. The same is true for instructors: section 15‑807(a)(2) points at the Driver Education Program Act, and section 16‑506 points back at Subtitle 8. Each credential is a hostage to the other’s rulebook.

The same driving school, the same instructor, described twice by Maryland law. Sources: Md. Transportation Article Titles 15 and 16, COMAR 11.23.01, COMAR 11.23.02 and COMAR 11.11.05.05, read 27 August 2026.
Title 15 — the licenseTitle 16 — the certification
What the business is calledDrivers’ schoolDriver education school
What the credential is calledLicense (§15‑702)Certification (§16‑501(e))
What the person is calledDriving instructor (§15‑801(b))Driver education instructor (§16‑501(c))
Operational regulationsCOMAR 11.23.01COMAR 11.23.02
Term2 years (11.23.01.09A, .17A)2 years (11.23.02.11A, .19A)
Real renewal deadline14 days before expiry (11.23.01.09F, .17D)14 days before expiry (11.23.02.11E, .19E)
Fee, school$200 application + $150 per 2 yearsNot priced in COMAR 11.11.05.05
Fee, instructor$150 per 2 yearsNot priced in COMAR 11.11.05.05
Report a terminated instructorImmediately (§15‑803(c)); 30 days (11.23.01.07A(6))5 business days (11.23.02.08A(12))
Report a training vehicle change1 business day (11.23.01.22G)2 business days (11.23.02.33E)
Report a fatal crash in a training vehicleImmediately (11.23.01.08D)1 business day (11.23.02.09D)
Keep records for3 years (11.23.01.08A)At least 3 years (11.23.02.09A)
Annual report dueJanuary 31 (11.23.01.08E)January 31 (11.23.02.09E)
What the annual report countsStudents trained; name, soundex or license number, date of birthApplicants and enrollees; deaf and hard of hearing, 18+, remedial, dropped out, transferred
Vehicle age limitNot statedNot more than 8 model years (11.23.02.33F)
Revocable because you brokeTitle 15 or Title 16 (§15‑710(a)(5))Title 16 or Title 15 (§16‑506(a)(1))
Every row where the two columns disagree is a row where both duties apply to you simultaneously, because you hold both credentials. Maryland has not given you a choice of deadline. It has given you two deadlines and left you to work out that the correct implementation is the shorter one.

We want to be fair about what this is and is not. It is not sloppiness, exactly. The two chapters were adopted on the same day — 21 November 2008 — and they read like two teams writing adjacent rulebooks for overlapping populations, because that is what they are. COMAR 11.23.01 governs anyone who teaches driving for a fee, including schools that never touch the state teen program. COMAR 11.23.02 governs the state program specifically. If you only did the former, one set of numbers would apply and life would be simple.

But the overwhelming majority of Baltimore driving schools do both, because the thirty‑and‑six program is where the demand is. And for those schools, every divergence in that table is a live problem that has to be resolved in software, in a checklist, or in somebody’s head at ten o’clock at night.

The vendors, and the four different things they count

We check prices ourselves rather than quoting aggregators, because aggregator pricing for small verticals is wrong often enough to be dangerous. Every figure below was pulled from the vendor’s own live page on 27 August 2026, and every URL was checked for its actual HTTP status rather than assumed.

Drive Scout is the cleanest pricing page in the category and deserves credit for it. One number, stated plainly at the top: “Our price: $50 per user per month. That’s it. No complicated pricing tiers, no hidden fees, and no contracts. Free for your students to use.” Then, in the plan card immediately underneath, the qualifier: 5 user minimum. Semi‑annual and annual discounts exist and are not quantified on the page. So the honest description is not $50 a month. It is $250 a month, or $3,000 a year, as a floor — and that floor does not move when you have a quiet January.

Drivers Ed Solutions meters the opposite thing and publishes it just as clearly: “No hosting fee. No contracts. $6.25 one time per student fee.” The asterisk is the interesting part: “If services sold are less than $250, only a 2.5% fee will be charged,” with their own worked example of a $50 road test costing $1.25. Notice what that actually is. Two and a half percent of $250 is exactly $6.25. The rule is not a flat fee with an exception; it is a 2.5% commission capped at $6.25, and the $250 threshold is simply the point where the cap starts binding. Setup is separate and one‑off: $600 for a registration link against your existing site, $750 for a new site with database integration, $1,200 for that plus Facebook and Google Business setup, each also offered as $150 a month for four, five or eight months. Online payments add $275 of setup.

Drivofy meters months: $34, $59 and $89, with a thirty‑day free trial and no card required. Its page is worth reading for a reason that has nothing to do with the price. The browser title on drivofy.com/pricing reads “Selam Driving School — Maryland MVA Certified Driver’s Education,” and the page tells you it has been adopted by “5+ driving schools.” This is a Maryland driving school that built its own software and started selling it. We mean that as a compliment and as evidence: when a trade’s operators start shipping their own tools, it is usually because the ones on sale do not fit.

After that the category thins out fast. DrivingSchoolSoftware.com serves a live home page and returns 404 on /pricing and 404 on /prices — a product that has been reviewed on four aggregator sites with no published rate behind any of it. driving-school-software.com is the same story: home page 200, /pricing 404. SimplyDriving and DriverSchedule both serve live pages that carry no dollar figure anywhere on them.

And a separate category, which we have learned to report separately rather than lumping in with “publishes nothing”: five domains did not resolve at all from this machine — runthatschool.com, imarksystems.com, dsms.com, thedriversschool.com and mydrivingschool.io. A connection failure is not a pricing decision. It might be a dead product, a moved domain, or our network. It is worth one honest clause rather than a silent demotion.

Driving school software, checked on the vendors’ own pages, 27 August 2026. HTTP status codes are ours. Annualized floor assumes the vendor’s stated minimum and no discount.
ProductWhat it metersPublished priceMinimumAnnualized floorPricing URL status
Drive ScoutUser accounts$50 per user per month5 users$3,000200, price on page
Drivers Ed SolutionsStudents, once each$6.25 per student, or 2.5% below $250None stated$6.25 × students200, price on page
Drivers Ed Solutions setupOne‑off package$600 / $750 / $1,200, plus $275 for paymentsOne‑off200, price on page
DrivofyCalendar months$34 / $59 / $89 per monthNone stated$408200, price on page
DrivingSchoolSoftware.comNot disclosedNone published404 on /pricing and /prices
driving-school-software.comNot disclosedNone published404 on /pricing
SimplyDrivingNot disclosedNo figure on the page200, no price
DriverScheduleNot disclosedNo figure on the page200, no price
Five further domainsDid not resolve

Four meters, then: user accounts, students, calendar months, and nothing at all. Before we say anything critical about that, one fact in the table’s favor: Drivofy’s $408 a year is genuinely inexpensive, and for a two‑person school that mostly needs bookings and reminders, it is very hard to argue with. Not every business needs a system built for it. A good deal of our job is telling people that.

The meter nobody sells is the hour

Now the part that matters more than the price, which is what the price is attached to.

Take Drive Scout’s five‑user minimum and hold it next to the census figure from the top of this article. The average Baltimore City driving school employs three people. The minimum is five. So the average city school buys two seats it cannot staff — $50 a month each, $1,200 a year, which is forty percent of its entire software bill spent on chairs that do not exist. That is not a criticism of the product, which is well built and reasonably priced for a school of eight. It is an observation that the smallest and most numerous operator in this trade is below the floor of the category’s clearest offer.

Now take the other meter. The two published models cross where $3,000 divided by $6.25 equals 480 students a year. Below 480 enrollments, per‑student is cheaper; above it, the flat seat fee wins. So the natural question for any school is: which side of 480 am I on, and can I get to the other side?

For most of them, the answer is no, and the reason is a car.

Maryland requires six hours of behind‑the‑wheel instruction per student, in Transportation section 16‑505(b)(2) and again in COMAR 11.23.02.34A. Two regulations then govern how fast a car can produce those hours. COMAR 11.23.02.34J caps a single student’s session at two hours, so six hours is at minimum three separate bookings per student. And COMAR 11.23.02.34M is the one that decides the economics: “Time spent observing an instructor or another student completing a behind‑the‑wheel instruction may not be counted as part of the minimum 6 hours.”

Read that again with a spreadsheet in mind. COMAR 11.23.02.34L lets you put up to two observers in the car alongside the student who is driving. Putting three students in a car for two hours does not produce six credited hours. It produces two — only the person behind the wheel is accruing them. A training vehicle generates at most one credited hour per hour it is on the road, whatever its occupancy. There is no seat‑sharing efficiency to find here. The car is a one‑lane pipe and the regulation welded it shut.

So: 480 students a year at six credited hours each is 2,880 road hours. A car and instructor working a genuinely full forty‑hour road week, fifty weeks minus a fortnight of holiday, delivers 1,920 hours a year, and that figure is a ceiling that assumes no gaps, no travel between pickups, no cancellations and no no‑shows. 2,880 divided by 1,920 is 1.5.

The crossover between the two commonest pricing meters in this category sits at exactly one and a half training cars. A one‑car school cannot reach it by selling harder, because the constraint is not demand. It is a regulation that says the passenger seat counts for nothing.

Work the single‑car case all the way through. One car, 1,920 road hours a year at the theoretical ceiling, divided by six hours a student, is 320 students — and that is the absolute maximum, not a forecast. At $6.25 each that is $2,000 a year on the per‑student meter, against a $3,000 floor on the per‑seat one. The seat meter costs a one‑car school fifty percent more, and no amount of growth fixes it, because the growth is not available.

And here is the figure we keep coming back to. Under COMAR 11.11.05.05, a two‑instructor school pays Maryland $150 for the school license and $300 for two instructor licenses, every two years$225 a year for the legal right to exist. The cheapest seat‑metered subscription in the category is $3,000. The software costs thirteen times what the regulator does.

The part no national platform models

Everything above is arithmetic you could do with a calculator and a pricing page. This section is the other kind: the rules that are specific to Maryland, specific to this trade, and almost entirely absent from software built to be sold in fifty states.

Three instruments, one fired instructor, three deadlines

An instructor leaves on a Friday. Not dramatically — they took a job at a dealership. You now owe the MVA a report, and three separate instruments tell you when.

Transportation section 15‑803(c) says that where a school has certified an instructor’s employment on their license application, the school “immediately shall notify the Administration of any termination of employment of the driving instructor.” No number. Immediately.

COMAR 11.23.01.07A(6) tells a licensed drivers’ school to report “within 30 days any changes in the information supplied in the latest application or renewal form, including information on any training vehicles or information on any instructors terminated or no longer employed by the school.” Thirty days, and it names the exact event.

COMAR 11.23.02.08A(12) tells a certified driver education school to report “within 5 business days any changes in the information supplied in the latest application or renewal form including changes in: (a) Training vehicles; and (b) Newly employed or terminated instructors.” Five business days, and it names the event too.

These are not alternatives. A school running the state program holds both credentials, so all three provisions are live on the same Friday afternoon. The statute is specific and says immediately; the regulations are general change‑reporting duties that happen to enumerate the same fact; and the ordinary reading is that the statute controls and the prudent answer is the shortest clock. We think that is right. But notice what it means for anyone building the system: you cannot store this as a field. There is no integer that represents “immediately, or five business days, or thirty days, depending which rulebook the reader has open.” What you can build is a rule that fires the moment the employment record changes and does not wait for anybody.

Which is the general lesson of this whole subtitle, and worth saying once plainly: where two instruments give the same event two deadlines, the software should implement the minimum and the business should be told why. The cost of being early is nothing. The cost of being late is a renewal blocker.

The car is reported faster than the person

Once you start collecting these, a pattern shows up that is genuinely odd. Maryland wants to hear about your vehicles faster than it wants to hear about your staff.

Add or remove a training vehicle and COMAR 11.23.01.22G gives you one business day to notify the Administration in writing with the vehicle’s year, make, tag number and VIN. COMAR 11.23.02.33E gives you two. Send in the annual state inspection certificate and both chapters agree on one business day — 11.23.01.22D and 11.23.02.33D — while the original goes in the office file.

A fatal crash involving a training vehicle is immediate under COMAR 11.23.01.08D and within one business day under COMAR 11.23.02.09D. That is the most serious event in the entire subtitle and the two chapters still do not agree on its clock.

Here is the full inventory. We have built one of these for every trade in this series, and this is the longest yet.

Every reporting and retention clock we could find for a Maryland driving school that holds both credentials. Sources: Md. Transportation Article Titles 15 and 16, COMAR 11.23.01 and 11.23.02, read 27 August 2026.
EventInstrumentDeadline
An instructor’s employment endsMd. Transp. §15‑803(c)Immediately
An instructor is hired or terminatedCOMAR 11.23.02.08A(12)(b)5 business days
Any change to application information, including terminationsCOMAR 11.23.01.07A(6)30 days
Any change to license informationMd. Transp. §15‑106(a)30 days
A training vehicle is added or removedCOMAR 11.23.01.22G1 business day
A training vehicle is added or removedCOMAR 11.23.02.33E2 business days
A training vehicle changesCOMAR 11.23.02.08A(12)(a)5 business days
Annual state inspection certificateCOMAR 11.23.01.22D, 11.23.02.33D1 business day
Fatal crash in a training vehicleCOMAR 11.23.01.08DImmediately
Fatal crash in a training vehicleCOMAR 11.23.02.09D1 business day, in writing
Records lost, mutilated or destroyedCOMAR 11.23.01.08C, 11.23.02.09CImmediately, in writing, with date and circumstances
A student completes the programCOMAR 11.23.02.37B(1), .09F1 business day, electronically
An error in a completion reportCOMAR 11.23.02.09H1 business day from MVA notifying you
Canceling or postponing more than 2 hours of a sessionCOMAR 11.23.02.08A(13)8 hours’ notice to the student
An instructor’s own information changesCOMAR 11.23.02.18H5 business days, by the instructor
Annual report, licensed schoolCOMAR 11.23.01.08EJanuary 31, electronically
Annual report, certified schoolCOMAR 11.23.02.09EJanuary 31
Renewal of any of the four credentials11.23.01.09F, .17D; 11.23.02.11E, .19E14 days before the printed expiry
Business records retention§15‑105(e), 11.23.01.08A, 11.23.02.09A3 years

Nineteen rows, and count the units: immediately, business days, calendar days, clock hours, a fixed calendar date, and years. Six different kinds of time in one subtitle, governing one small business. A generic scheduling product has a reminder feature. It does not have this.

Two rows in that table deserve singling out because they are unusual in kind rather than just in number.

The first is COMAR 11.23.01.08C and its twin 11.23.02.09C: if your records are “lost, mutilated, or destroyed,” you must notify the Administration immediately, in writing, and state the date and circumstances. Maryland has written a data‑loss disclosure duty into a driving school regulation. Your backup policy is not an IT preference here. It is the difference between a bad week and a written incident report to your regulator.

The second is COMAR 11.23.02.09H: when there is an error in a completion certification you have one business day to submit the correction — “within 1 business day of the notification of any errors.” The clock starts when the MVA tells you, not when you made the mistake. That is a deadline keyed to somebody else’s message arriving, which means the message has to arrive somewhere a human will see it on the day. If completion notices go to an inbox nobody has opened since the office manager left, the clock is running and the building is empty.

Four kinds of thirty

There is a number that runs through this subtitle like a thread, and it means something different every time.

The number thirty in Maryland driver education, and the four different things it counts.
Thirty of whatPer whatSource
30 hours of classroom instructionPer student, per courseMd. Transp. §16‑505(b)(2); COMAR 11.23.02.32A
30 students maximumPer course, unless MVA approves more in writingCOMAR 11.23.02.32E–F
30 hours taughtPer instructor, per rolling two years, to renewCOMAR 11.23.02.19C(1)
30 days to report a changePer eventCOMAR 11.23.01.07A(6); Md. Transp. §15‑106

The third one is the one that catches people, because it is the only one that is not obvious and the only one you have to attest to in writing. COMAR 11.23.02.19C requires a renewal application to carry “documentation attached signed by the certified school” stating that the instructor “has in the last 2 years taught a minimum of 30 hours of the program courses” and “has in the last 2 years satisfactorily completed a minimum of 8 hours or 4 hours each year of professional development approved by the Administration.”

So the school signs a statement about a number nobody is keeping. Thirty hours of program teaching, over a rolling twenty‑four‑month window, per instructor. If you have an instructor who mostly does road tests and covers the occasional class, or one who was out for six months, that number is a real question and the honest answer might be no — at which point they cannot renew, and under 11.23.02.19F they must reapply from scratch and demonstrate proficiency again.

The professional development counter has its own trap. Eight hours over two years sounds like a total you can catch up on. It is not: the regulation says “8 hours or 4 hours each year,” which reads as an annual floor, not just a biennial one. Eight hours crammed into month twenty‑three is a different thing from four and four.

Add it up for a small school with four instructors. You are tracking ten credential expiry dates — the school license, the school certification, and a license plus a certification for each of the four — each with an effective deadline fourteen days before the printed one. Plus four rolling thirty‑hour teaching counters over trailing twenty‑four months. Plus four professional development counters with an annual floor. Plus one more thing, which is the subject of the next section. That is twenty‑two moving values on a business with four teachers, and not one of them appears in any product we priced.

Four active points, and who finds out first

COMAR 11.23.02.18E(2) requires a certified instructor to maintain “a driving record with not more than four active points.”

This is a beautiful problem and a horrible one. It is a number that lives in a state database, changes without any involvement from you, and decays on its own as points age out. An instructor’s eligibility to be an instructor is therefore a time‑varying value computed by somebody else’s system, and your roster’s idea of it is a snapshot that starts going stale the moment you take it.

Now look at who is told what. Under COMAR 11.23.02.18G the instructor must report to the employing school any complaints or charges, any convictions, any reportable medical conditions and their professional development. Under 11.23.02.18H the instructor separately reports to the MVA within five business days. And under Transportation section 15‑804(b)(5), if criminal history information reaches the Central Repository after the original background check, the Repository sends a revised statement to the Administration — not to you.

The state has an automatic feed. You have a self‑reporting obligation imposed on the person with the least incentive to use it. Your roster’s eligible flag is not a fact about an instructor. It is a claim somebody made on a date, and the honest field name is not eligible but last_confirmed_on.

That is not a compliance failure waiting to happen so much as a design instruction. If we build this for you, the instructor record does not have a green tick. It has a date, an age, and a nag that gets louder.

Eight in the evening is not eight in the evening

Driver education happens after school and after work. Maryland knows this and regulates the evening tightly. COMAR 11.23.02.32J says a school may not schedule classroom instruction “for more than 3 hours in one day,” nor “to start before 8 a.m. or after 8 p.m.,” nor “to end after 9:30 p.m.”

Three numbers, and the third one quietly cancels part of the second. A class that starts at the latest permitted time of 8:00 p.m. must stop at 9:30 p.m., which is ninety minutes — half of the three‑hour maximum. The eight o’clock start is lawful and it is also nearly useless if you were hoping to deliver a full block.

Work out the real latest start and a second regulation joins in. COMAR 11.23.02.32K requires “a minimum rest period of 15 minutes… at the end of each 90‑minute period of instruction,” and 11.23.02.32L says rest and meal time “may not be counted as classroom instructional time.” A full three‑hour block is two ninety‑minute periods, so it occupies more clock time than instructional time.

How much more depends on a reading. If the break required at the end of the second period is satisfied by the class simply ending and everyone going home, the block occupies 3 hours 15 minutes and the latest lawful start is 6:15 p.m. If you read the regulation strictly and hold the students for that second break, the block occupies 3 hours 30 minutes and the latest start is 6:00 p.m. We think the first reading is the sensible one, and we would not bet a license on it.

What a Maryland evening class can actually deliver. Rest periods per COMAR 11.23.02.32K are not instructional time under .32L; the 9:30 p.m. stop is .32J(3). Room time uses the reading in which the closing break is satisfied by dismissal.
Start timeInstructional hours deliveredRoom time neededEnds atLawful?Evenings needed for 30 hours
6:00 p.m.3:003:159:15 p.m.Yes10
6:15 p.m.3:003:159:30 p.m.Yes, exactly10
6:30 p.m.3:003:159:45 p.m.No — past the 9:30 stop
7:00 p.m.2:152:309:30 p.m.Yes14
8:00 p.m.1:301:309:30 p.m.Yes, and it is the latest start20

The last column is the commercial consequence. Between a 6:15 p.m. start and an 8:00 p.m. start there are ten extra evenings per cohort — the same thirty hours, spread across twice as many nights, in a room you are paying for and with an instructor you are paying by the session. If your classroom is shared with the business office, COMAR 11.23.01.20G and 11.23.02.32 both require the office to close to the public while class is in session, so those extra evenings also cost you phone coverage during the exact hours parents call.

The classroom fills in two weeks what the car empties in four and a half

This is the arithmetic we would want on the wall of every driving school in Maryland, and as far as we can tell nobody publishes it.

A cohort is capped at thirty students by COMAR 11.23.02.32E. Those thirty students need thirty classroom hours each, delivered together, at a maximum of three hours a day. That is ten evenings — call it two working weeks.

The same thirty students then need six behind‑the‑wheel hours each, individually. Thirty times six is 180 credited hours, and we established above that a car produces at most one credited hour per road hour no matter who else is sitting in it. One car and one instructor at a theoretical forty road hours a week need four and a half weeks.

One cohort of thirty students through a Maryland driver education program, at the regulatory maxima. Road hours per week is a ceiling that assumes no travel, gaps, cancellations or no-shows; real utilization is lower, which widens the gap rather than closing it.
PhaseWhat is requiredUnit that limits itHours for 30 studentsWeeks with one resource
Classroom30 hours per student, taught togetherSeats in the room, 30 max30 (shared)2.0
Behind‑the‑wheel6 hours per student, individually creditedRoad hours in one car180 (not shared)4.5
Cars and instructors needed to keep one classroom cycling continuously2.25
Cars and instructors you can actually buy3
Resulting idle capacity on the third car25%
The room and the car are two different businesses wearing one license. One is a broadcast — thirty people, thirty hours, done in a fortnight. The other is a queue — thirty people, one at a time, six hours each, and the passenger seat is worth nothing. Every scheduling product we priced treats them as the same calendar.

And there are three more constraints stacked on the queue. COMAR 11.23.02.34J caps a student’s session at two hours, so the 180 hours are at least ninety separate bookings. COMAR 11.23.02.34D requires the instructor to verify a valid learner’s permit before each session, which means a booking made six weeks out can become unlawful before it happens, through nothing you did. And COMAR 11.23.02.34I requires you to schedule so that the six hours can be completed within eighteen weeks, or longer at the student’s request — a per‑student deadline that starts on a different date for every student in the cohort.

Then COMAR 11.23.02.36 puts a pin in the whole thing. A student may miss twelve hours or less of classroom instruction and continue; more than twelve and they are out. Twelve of thirty is forty percent of the course, which is a genuinely generous absence budget — and every missed hour must be made up before you may submit the completion certification. Make‑up students sit in another cohort’s classroom under 11.23.02.32H(1), where they count against that room’s occupancy.

Which produces a conclusion that surprised us: a school running its cohorts at the thirty‑student cap has nowhere to put its own make‑ups. The cap is on bodies in the room, and a make‑up student is a body. To absorb the previous cohort’s absences you have to under‑enroll the next one, by roughly however many hours of absence you expect. Nobody sells a booking system that knows this.

An identifier the state built out of a name

COMAR 11.23.01.08E requires the annual January report to include, for every student trained, “each student’s name, soundex or license number, and date of birth.”

Soundex is a phonetic hash. It was patented in 1918 and 1922 by Robert Russell and Margaret Odell, and it is famous for being the indexing scheme the National Archives used on the US census. It maps a surname to a letter and three digits by throwing away vowels and collapsing similar consonants, which is exactly why it works for finding records typed by different clerks — and exactly why it is a poor primary key. Smith and Smyth produce the same code. By construction it is lossy and collision‑prone.

Maryland derived driver numbers this way historically: a letter followed by twelve digits, computed from the licensee’s name and date of birth. The MVA’s own Interactive Driver and Vehicle Records user guide, dated March 2021, still specifies the driver license number field as A999999999999, thirteen characters.

Think about what an identifier derived from a name and a birthdate actually is. It is not stable — a student who changes their surname changes their key. It is not unique — two people sharing a name and a birthday share a number. And a live 2026 regulation asks you to report the key and both of the inputs it was computed from, in the same row: name, soundex, date of birth. For a student on the derived scheme, two of those three columns are redundant. For a student on a later randomly assigned number, they are independent.

One report format, two different data models, depending on when your student happened to get their permit. The field is a union type and the regulation says so out loud with the word “or.” If your student table has one column called license_number and a validator that expects one shape, it is wrong for somebody.

We would not normally spend three paragraphs on a data type. We are spending them here because this is the single clearest example we have found in eleven months of writing these articles of a regulator specifying a schema — and of a schema outliving the assumptions it was built on. If you are choosing a system, ask what it does with a student whose name changed between enrollment and completion. The answer tells you a great deal.

The renewal date that is fourteen days before the renewal date

All four credentials run two years. All four expire, on the date printed on them, if the renewal application was not received at least two calendar weeks earlier. That rule appears four times — 11.23.01.09F for the school license, 11.23.01.17D for the instructor license, 11.23.02.11E for the school certification, 11.23.02.19E for the instructor certification — each citing State Government Article section 10‑226.

Miss it and you have not renewed late. Under 11.23.01.09G and its three siblings you reapply, meeting every original requirement, which for a school means the office and every classroom go back through MVA inspection under 11.23.01.20B and 11.23.01.21A, and for an instructor means demonstrating proficiency again.

There is a quieter trap in the same regulations. All four require pending charges and complaints to be resolved “while the current license is in force” or “while the existing school certification remains in force.” So an open complaint is a renewal blocker whose window closes with the credential itself. A complaint filed eleven days before expiry is a complaint you may not have time to resolve, and COMAR 11.23.01.24 lets the Administration turn up unannounced to audit at any point in between.

The submit button belongs to a person, not to the school

Two provisions here, and together they make a point about access control that we have never seen written into a regulation before.

COMAR 11.23.02.06C(6) requires a school certification application to include “a list of the designated individuals to be authorized by the Administration to transmit program completion certification information to the Administration.” The right to file a completion is not granted to the business. It is granted to named humans, by the regulator. Your permissions model has an external owner.

And COMAR 11.23.02.08A(9) requires the school both to transmit completion within one business day and to “inform the student that the student’s driving record will not be updated by the Administration for at least 3 business days after the student completes the program.”

Read that as a customer‑service instruction and it is mundane. Read it as a systems instruction and it is remarkable: Maryland requires you to disclose the latency of Maryland’s own queue. You have one business day to push; the state takes at least three to land it; and the duty to explain the gap to a sixteen‑year‑old who wants to book a road test on Saturday is yours. That is a support burden created by an integration you do not control, and it is the kind of thing that shows up as angry phone calls rather than as a line item.

One class, one language

Baltimore is a multilingual city, and this is the regulation that decides how a driving school serves it. COMAR 11.23.01.07A(8) requires a licensed school to “ensure that each class is conducted in only one language, excluding sign language.” COMAR 11.23.02.08C goes further for the state program: all courses in English unless MVA has authorized another language in writing; each class in one language, with sign language usable alongside; and, in a course taught in another spoken language, the school must ensure “that each student enrolled in that course can understand, speak, and read the alternate language.”

That third clause is a per‑student attribute with a compliance consequence attached, and it is an assertion the school has to be willing to stand behind. It also means language is not a preference field on a student record. It is a partition: a class has a language, a student belongs in a class whose language they can read, and a make‑up student cannot simply be dropped into whichever cohort has a free chair on Tuesday. If you run a Spanish evening section and an English one, your make‑up capacity is not one pool. It is two, and they are not interchangeable.

The checkout Maryland wrote for you

Everything above is about running the school. This section is about selling the course, which for most driving schools is still a phone call and a card reader, and which is the single easiest thing to fix.

Zero percent out, three percent in

Maryland taxes services only where the legislature has listed them. Tax‑General section 11‑101(m) enumerates fifteen taxable services, and we read all fifteen on 27 August 2026. They run from fabrication and commercial laundering through credit reporting, security services and pay‑per‑view television. Instruction is not among them. Tuition for a thirty‑and‑six driver education course carries no Maryland sales and use tax, and neither does a road test package or a set of make‑up hours.

The software is a different story. Items (14) and (15) of that same list — “a data or information technology service described under NAICS Sector 518, 519, or 5415” and “a system software or application software publishing service described under NAICS Sector 5132” — were added at a 3% rate effective 1 July 2025.

So the state taxes what you sell at zero and what you buy from a studio like ours at three percent. On a $12,000 custom app that is $360. On a $3,000‑a‑year subscription it is $90 every year, forever. We would rather you read that here than find it on an invoice, and it is a genuine point in favor of a one‑time build over a perpetual rental: the tax is charged once instead of annually.

The hardship policy that is a regulation, not a kindness

Here is something we did not expect to find. COMAR 11.23.02.08B(5) requires a certified school to maintain at all times “a payment or assistance policy that will permit students with verifiable financial hardships to participate in the program courses,” and 11.23.02.06C(4) requires the written policy to be filed with the certification application in the first place.

Maryland has made a payment plan a condition of your license. Most schools we have looked at handle this the way you would expect — informally, over the phone, generously, and invisibly. That is decent and it is also a missed opportunity, because a hardship policy you have already written and already filed with the state is a hardship policy you can put on your website as a payment option at checkout. Installments are not a discount. They are a conversion mechanism that this trade is required to have anyway.

Two more provisions belong in the checkout rather than in a filing cabinet. COMAR 11.23.02.08A(14) requires a prorated refund to a student who withdraws or transfers — which means you must be able to say, at any moment, what fraction of the program a given student has consumed. And COMAR 11.23.02.38A says that fraction is two numbers, not one: a Classroom Student Record and Completion Form DE‑003A and a Behind‑the‑Wheel Student Record and Completion Form DE‑003B, each signed by an authorized school official. A student who has finished all thirty classroom hours and two of six road hours is 100% and 33% at the same time. There is no single progress bar for this student, and a refund calculation that pretends otherwise is wrong in one direction or the other.

Finally, COMAR 11.23.02.36F expressly permits a school to “charge a student an additional fee for remedial and additional instruction,” and 11.23.01.20D(3) requires your fees for courses and for remedial or additional training to be posted in the business office along with your refund procedure and the complaint procedure. Maryland is telling you to publish a price list. Publishing it on a page people can actually reach is not a compliance burden; it is the storefront the regulator already assumed you had.

What custom software actually costs

We publish fixed prices, which is unusual in this business and which we did because quoting hourly makes the client pay for our uncertainty. Here is the honest mapping from our packages to this trade.

founderandai fixed prices, and what each one realistically buys a Baltimore driving school. Maryland’s 3% tax on software and IT services applies on top, once.
PackagePriceWhat it is for a driving schoolTypical timeline
Prototype Sprint$3,500One working slice, built to settle an argument. Usually the behind‑the‑wheel scheduler: real cars, real instructors, permit checks, the two‑hour session cap and the eighteen‑week window, with your actual last quarter loaded in.1–2 weeks
Online Storefrom $6,000Enrollment and checkout. Course dates with live seat counts against the thirty‑student cap, per‑language sections, deposits and installments off the hardship policy you already filed, road test and remedial add‑ons, and a parent orientation booking.2–4 weeks
Custom Appfrom $12,000The school system. Cohorts, classroom hours with the twelve‑hour absence budget, individually credited road hours, DE‑003A and DE‑003B as separate progress tracks, prorated refunds computed from both, and one‑business‑day completion filing.4–8 weeks
Operations Systemfrom $12,000Everything above plus the compliance spine: the nineteen‑row clock table as live rules, four credentials per person with fourteen‑day‑early renewals, rolling thirty‑hour teaching counters, professional development floors, fleet model‑year tracking and the January 31 reports generated rather than assembled.6–10 weeks

Set that against the subscription. A seat‑metered product at $3,000 a year is $12,000 over four years and you own nothing at the end of it. That comparison is real but it is also the least interesting reason to build. The interesting reason is that after four years of paying $12,000 you would still be keeping the thirty‑hour teaching counters in a spreadsheet, because no product in the category has them.

What we would actually build

If a Baltimore driving school called us tomorrow, this is the shape of the thing, and it is deliberately not a feature list.

Two credentials per entity, not one. The school row holds a license and a certification with separate issue dates, separate expiries and separate renewal tasks. Every instructor row holds the same pair. Ten credentials on a four‑instructor school, each with a task that fires fourteen days before the printed date, because that is the real deadline.

Two calendars that know they are different. The classroom calendar schedules cohorts against a room, a language and an occupancy cap that counts make‑up students. The road calendar schedules individual sessions against a car, an instructor, a two‑hour cap, a permit expiry and an eighteen‑week horizon. They share students and nothing else, and the system should be able to tell you at a glance that your next cohort has more road hours booked than your fleet can deliver before its eighteen weeks run out.

Hours as the unit of account, everywhere. Credited hours per student, separately for classroom and road. Hours taught per instructor on a rolling twenty‑four‑month window, because that is what somebody has to sign. Professional development hours with an annual floor. If a number is going to appear on a form you sign, the system should be the thing that computes it, not the thing you check it against.

One event log, many deadlines. An instructor termination, a vehicle added, a fatal crash, a records loss, a completion, a correction: each is an event that spawns the obligations that attach to it, at the shortest applicable deadline, with the citation attached so anyone can see why. When the two chapters disagree, the system takes the shorter one and says so.

Filing that is a first‑class feature. One‑business‑day completion submission, restricted to the individuals MVA has actually authorized, with the corrections clock starting on receipt of a notice rather than on somebody noticing. The January 31 reports — both of them, with their different field lists — generated from the data rather than reconstructed each January from a shoebox.

An identifier field that tells the truth. Name, date of birth, and a license identifier that accepts more than one shape, records which shape it is, and does not silently reject the student whose surname changed in March.

Build, buy, or both

We are a studio that builds custom software and we still think most small driving schools should buy something off the shelf, at least at first. The honest test is not size or budget. It is whether the thing you are renting counts what the state counts.

  • Keep the subscription if you run one classroom and one or two cars, your enrollment is well under 320 a year, and what you need is bookings, reminders and payments. Drivofy at $408 a year is less than two hours of our time and it will do that job. Buy a second car with the difference.
  • Add a custom storefront to a rented back office if your operations are fine but your enrollment still happens on the phone. This is the most common right answer we give, and it usually costs $6,000 once rather than a rebuild.
  • Build the operations system if you run multiple cohorts or multiple languages, employ four or more instructors, are chasing make‑up hours against the twelve‑hour budget, or have ever signed a renewal attestation about hours taught without being certain of the number.
  • Build sooner rather than later if you are opening a branch. Section 15‑105(c) requires a supplemental license for any additional location and COMAR 11.23.01.06 governs branch schools; the credential count and the clock count both go up before the revenue does.
  • Do not build to save money on a subscription. Build because there are numbers you are legally responsible for that nothing currently computes.

The store this trade should have

Five establishments serve Baltimore City. Every one of them is selling a product with a fixed curriculum, a fixed hour count, a legally required refund policy and a legally required hardship option — which is to say, a product that is unusually easy to sell online and unusually hard to sell badly.

What a good one looks like: course dates with live remaining seats counted against the thirty‑student cap; the language of each section stated plainly, because that is a partition and not a preference; deposits and installments drawn from the payment policy you already filed with the MVA; the road‑test and remedial fees posted with the same clarity 11.23.01.20D requires inside your office; a parent orientation slot bookable at the same time, since 11.23.02.08A(4) requires one at the start of every course; and one honest sentence explaining that a completion takes at least three business days to reach a driving record, because you are required to say it anyway.

None of that is clever. It is the storefront the regulations already describe, moved from a laminated sheet on an office wall to a page a parent can reach at nine at night, which is when parents actually do this.

Who we are

We are founderandai, a small studio in Baltimore run by people who were startup founders before they were consultants. We build web apps, online stores and operations systems at fixed prices, we work directly with the people writing the code, and the software is yours at the end — source, data and all.

We write one of these for a different Baltimore trade every few days. The research is the point: we read the actual statutes and the actual regulations, we check vendor prices on vendor websites rather than quoting aggregators, and when the arithmetic contradicts something we assumed, we print the arithmetic. If you want to argue with a number in this article, we would genuinely like to hear it.

Questions Baltimore driving schools actually ask

How much does driving school software cost in 2026?

Somewhere between about $400 and $3,000 a year for a small school, and the category disagrees profoundly about what it is charging you for. Checked on 27 August 2026: Drive Scout publishes a flat $50 per user per month with a five‑user minimum, which puts its floor at $3,000 a year however many students you enroll, with unquantified semi‑annual and annual discounts. Drivers Ed Solutions publishes $6.25 once per student, reduced to 2.5% of the sale where services sold come to less than $250, plus a one‑off setup package at $600, $750 or $1,200 and $275 more for online payments. Drivofy publishes $34 / $59 / $89 a month with a thirty‑day trial. DrivingSchoolSoftware.com serves a live home page and returns 404 on both /pricing and /prices; driving-school-software.com returns 404 on /pricing. SimplyDriving and DriverSchedule serve live pages with no dollar figure. Five further domains did not resolve at all, which we report separately because a connection failure is not a pricing decision.

Do I need both a drivers’ school license and a driver education school certification in Maryland?

If you teach the state driver education program for a fee, yes, and they are two credentials under two different laws. The drivers’ school license comes from Transportation Title 15 Subtitle 7 and is detailed in COMAR 11.23.01. The driver education school certification comes from Title 16 Subtitle 5, the Maryland Driver Education Program Act, and is detailed in COMAR 11.23.02. Your instructors are doubled the same way: a driving instructor license under Title 15 Subtitle 8 and a driver education instructor certification under Title 16. Section 16‑501(c) makes the split explicit, defining a certified instructor as someone certified by the Administration “whether or not the individual is required to be licensed under Title 15, Subtitle 8.” Each credential runs its own two‑year clock from its own issue date, and each can be revoked for a failure under the other one’s rules.

How much does it cost to license a driving school in Maryland?

The state fees are small. Under COMAR 11.11.05.05: the drivers’ school license application fee is $200 and is nonrefundable; the drivers’ school or branch license including its two‑year renewal is $150; a driving instructor’s license including its two‑year renewal is $150; an apprentice instructor’s permit is $25; converting that permit to a full instructor’s license is another $25; a duplicate or corrected Title 15 license is $20. The published schedule prices the Title 15 license and is silent on the Title 16 certification. A two‑instructor school therefore pays roughly $750 in state fees to start and about $450 every two years$225 a year — to stay current. What is not small is what the credential obliges you to carry: a $40,000 surety bond under section 15‑705, workers’ compensation and unemployment insurance for all school employees, general liability across the office and every classroom, motor vehicle liability on every training vehicle, and an office and classroom that MVA has physically inspected and approved before use.

How many training vehicles does a Maryland driving school need?

COMAR 11.23.02.33C(1) says only “an adequate number… to allow each course participant to complete the course,” so the real answer is arithmetic. A cohort is capped at thirty students (11.23.02.32E). Each needs six behind‑the‑wheel hours, and 11.23.02.34M says observation time does not count, so a car produces at most one credited hour per road hour regardless of occupancy. Thirty students is 180 credited hours. One car and instructor at a theoretical forty road hours a week needs four and a half weeks, while the thirty classroom hours can be delivered in ten evenings. Keeping one classroom cycling continuously takes about 2.25 cars and 2.25 instructors, which in practice means three of each with the third running about a quarter idle. Every vehicle must also be titled and registered to the school, inspected annually, fitted with dual controls and instructor mirrors, and be no more than eight model years old (11.23.02.33F).

How quickly does a Maryland driving school have to report a change to the MVA?

It depends which instrument you read, and for several events more than one applies at once. A terminated instructor is reportable immediately under section 15‑803(c), within thirty days under COMAR 11.23.01.07A(6), and within five business days under COMAR 11.23.02.08A(12). Adding or removing a training vehicle is one business day under 11.23.01.22G, two under 11.23.02.33E and five under 11.23.02.08A(12)(a). A fatal crash in a training vehicle is immediate under 11.23.01.08D and one business day under 11.23.02.09D. A student’s completion is one business day, electronically, and a correction is one business day from MVA notifying you. Records lost, mutilated or destroyed must be reported immediately, in writing, with the date and circumstances. Because a school running the state program holds both credentials, both sets of duties bind at once and the safe implementation is always the shorter deadline.

Is driver education subject to Maryland sales tax?

The lesson is not. Maryland taxes services only where the legislature has enumerated them, and Tax‑General section 11‑101(m) lists fifteen taxable services. Instruction is not among them, so tuition for a thirty‑and‑six course attracts no Maryland sales and use tax. The software is different: items (14) and (15) of that same list, added at 3% effective 1 July 2025, cover data and IT services under NAICS 518, 519 and 5415 and system or application software publishing under NAICS 5132. So the state taxes what you sell at zero and what you buy from a studio like ours at three percent$360 on a $12,000 build, or $90 every year on a $3,000 subscription. We would rather print that than have you find it on the invoice.

How long does a Maryland driving school license last, and when do I actually have to renew?

Two years, and the real deadline is fourteen days before the date printed on it. COMAR 11.23.01.09A makes a school license valid for two years from issue, and 11.23.01.09F provides that it expires on its expiration date if the completed renewal application was not received at least two calendar weeks before that date, citing State Government Article section 10‑226. The identical rule appears in 11.23.01.17D for an instructor license, 11.23.02.11E for a school certification and 11.23.02.19E for an instructor certification. Missing it is not a late renewal: under 11.23.01.09G and its siblings you reapply from the beginning and meet every original requirement, which for a school sends the office and classrooms back through inspection and for an instructor means demonstrating proficiency again. All four also require pending charges and complaints to be resolved while the current credential is still in force, so an open complaint becomes a renewal blocker with a closing window.

Is custom software cheaper than a driving school platform?

Not in year one, often yes by year four, and price is the wrong axis for the decision. A seat‑metered product at $3,000 a year is $12,000 over four years, roughly what we charge once for a custom app you then own outright. The better question is whether the thing you are renting counts what Maryland counts. Every published product in this category meters staff seats, students or months. Maryland meters credited hours per student, bodies in a room, hours taught per instructor over a rolling twenty‑four months, model years on a vehicle, and business days from an event. If your school is small and stable and an off‑the‑shelf calendar serves it well, keep it and spend the money on a second car. If you are running multiple cohorts, chasing make‑up hours against a twelve‑hour absence budget, and signing renewal attestations about hour counts nobody is keeping, that gap is where a custom system pays for itself.

Start here

Can your next cohort finish its road hours in eighteen weeks?

Book a free 30‑minute call. Bring one term of enrollments and your instructor roster, and we’ll work out how many credited road hours your fleet can actually deliver, where your make‑up hours are colliding with your thirty‑student cap, and how many of your four credential clocks are inside their fourteen‑day window right now. Then we’ll tell you what we’d build, what you should keep renting, and the fixed price that goes with it.