LMS App Starter · Industry version
Onboarding paths, role-based assignments, and manager visibility — internal training that runs itself, in code your company owns.
Internal training fails quietly: the security module nobody finished, the new hire three weeks in without the basics, the manager who can't see either. This starter generates an LMS built for assignment rather than browsing — training finds the employee, deadlines have teeth, and managers see the truth.
01 · The problem
Course-selling platforms are built for volunteers — learners who chose the course and paid to be there. Corporate training is assigned: the engineer must finish secure-coding basics by day thirty, and support hires get a different path than sales hires. An LMS with no assignment model leaves 'who must take what by when' in a spreadsheet next to the tool that was supposed to replace it.
Roles change and content expires, and generic platforms notice neither. A promotion into management should trigger the manager-essentials path automatically; the data-handling course rewritten in March should pull everyone's stale completion back to due. Without rules connecting people to requirements, training coverage decays invisibly between annual audits.
And nobody accountable can see the state. A team lead needs their team's overdue list, HR needs completion rates by department, and a compliance reviewer needs proof that everyone who touched production finished the incident-response course. A learner-centric platform shows each person their own progress and answers none of the questions the org actually asks.
02 · Data model
Everything in the base LMS starter —
coursesmoduleslessonsenrollmentsquizzesinstructorscertificates— plus the entities this industry actually runs on:
| table | what it holds |
|---|---|
learning_paths | Ordered course sequences tied to roles — the onboarding path, the manager path — assigned as one unit with one deadline structure. |
training_assignments | A person, a course or path, a due date, and a status — the row that makes training an obligation instead of a suggestion. |
teams | Org structure for reporting — members, a manager, and rollups of completion and overdue counts per team. |
03 · Screens
Rules map roles to requirements: joining engineering assigns the engineering path, a promotion adds the manager path, a course update re-opens completions older than its revision. Training coverage becomes something the system maintains, not something HR remembers.
Each manager sees their own team: who's on track, who's overdue, who's blocked mid-path. Escalation is built in — overdue items nudge the learner first, then appear in the manager's Monday view. The org chart is the reporting structure, literally.
Every assignment carries a due date, and progress views sort by risk rather than recency — a half-finished course due Friday outranks an untouched one due next quarter. Completion reports export per team and per course for the audits that ask.
04 · In practice
A new backend engineer's account is created; the engineering onboarding path assigns itself with staggered deadlines — tooling first week, architecture second, security by day thirty. Their manager watches the path fill in without asking anyone for a status.
Legal rewrites the data-handling course after a policy change. Publishing the revision re-opens every completion older than it, with a fresh thirty-day deadline. Coverage drops on the dashboard, then climbs back — and this time the audit trail shows the re-certification.
A customer's security questionnaire asks whether staff complete annual security training. The answer is a filtered export — course, team, completion dates, the overdue three — pulled in minutes from tables you own, not requested from a vendor's support queue.
Yes — assignment rules map roles and teams to courses and paths, run on join and on role change, and re-open completions when content is revised. The rules are code in your repository, so your org's exceptions are expressible.
Their own team's state: on-track, overdue, and stuck learners, per course and per path, with escalation surfacing what needs a conversation. Above them, department and org rollups aggregate the same data for HR and compliance.
Both are standard integrations against your own codebase — provision accounts and role data from your HR source of record, and authenticate through your identity provider. No per-connector fee, because there's no vendor between you and the code.
It isn't — that's the point. The app is generated source code you own and host; five hundred new employees are five hundred database rows. Per-seat LMS pricing is the line item this starter deletes.
Dual7 App Starters
Onboarding paths, role-based assignments, and manager visibility — internal training that runs itself, in code your company owns. Describe your version to start — the output is a project you own.