Education is the industry where the user is rarely the buyer, and the buyer is rarely the regulator who can shut you down. That asymmetry shapes every architectural decision. I build edtech platforms that win on three fronts simultaneously: students and teachers actually want to use them, district IT can deploy them without a six-month security review, and the privacy posture survives a state attorney general's questionnaire. My approach starts with rostering and identity, because that's where most edtech projects either succeed quietly or fail loudly.
LTI 1.3, OneRoster, Clever, and ClassLink are the four integrations that decide whether your product is deployable at scale. LTI 1.3 with Deep Linking and Names and Roles Provisioning is the floor for any tool that lives inside an LMS like Canvas, Schoology, or Brightspace. Rostering through Clever and ClassLink is what makes single-sign-on work for 50,000-student districts on day one. I build these integrations with a strict separation between authentication, authorization, and rostering, because conflating them is how teams end up with the same student appearing in three classes they shouldn't see.
Privacy in education is not a posture, it's a contract. FERPA gives parents and students rights over education records, COPPA restricts data collection from under-13 users, and state laws like California's SOPIPA and New York's Education Law 2-d impose stricter overlays. I design platforms where PII is minimized at the schema level, retention policies are enforced in code, and any cross-tenant analytics flows through differential-privacy or aggregation gates. The DPA template you sign with a 100,000-student district will be reviewed by a procurement attorney, and it had better match what the system actually does.
Accessibility is where edtech earns or loses its right to operate. WCAG 2.2 AA is the legal floor in most public education contexts, and Section 508 applies to anything sold to federal or federally funded programs. I build with accessible primitives by default (Radix, Reach UI, native semantics), test with real screen-reader users, and treat keyboard navigation and color contrast as launch blockers, not v2 work. Performance matters too: a slow-loading quiz on a Chromebook over school WiFi is an accessibility issue, not a perf issue.
AI in education is the most exciting and the most fraught application of LLMs I work on. Tutoring agents that meet students where they are can be transformative, but they can also confidently teach wrong math or generate culturally insensitive content. I ship AI tutoring with retrieval grounded in vetted curriculum, an evaluation harness graded by educators, and explicit teacher-in-the-loop review for any output that goes into a gradebook. The bar is higher than consumer AI, and it should be. See a recent edtech build or start a project if your platform needs to ship before the next school year.