LMS development is the work of building the system that enrolls people, delivers activities, records attempts, and shows who finished. The Experience API specification published by the Advanced Distributed Learning Initiative quotes the Learning Systems Architecture Lab: a software package used to administer one or more courses to one or more learners. The same passage calls an LMS a web-based system that lets learners authenticate, register for courses, complete courses, and take assessments. A video library, a course shop, and an AI tutor are neighboring products. They are not this system.
Custom LMS software development is justified when the enrollment rules, permissions, or integrations do not fit an existing product. An outdated interface, by itself, is a weak reason to start from an empty repository. A first release should finish one learning path. A scalable learning management system is one that survives the real peak, usually the hour everyone launches the same exam, not a slogan in a proposal.
This page is about building or selecting that system: roles, the process a first release must finish, content standards, the build-or-buy choice, and what belongs in an estimate. It is not a review of named LMS brands, and it is not a course-writing service. Search queries such as LMS course development often mean instructional design of one course. If that is the need, buying LMS development will not produce the lessons.
The same material is available as a podcast: Episode 62, LMS Development.
What is a Learning Management System (LMS)?
An LMS administers courses. It knows who may enter, which activity comes next, what an attempt scored, and whether the completion rule was met. The ADL text also separates that package from a Learning Record Store: a server that receives, stores, and provides access to learning records. The store is not the classroom. Reporting can sit beside the LMS. It should not be mistaken for enrollment and grading.
Teams looking for e-learning software development often mix four products. The LMS runs the path and the record. A video-based learning platform solves playback, captions, and delivery. An AI-powered learning platform adds a model workflow on top of content the organization already trusts. An educational SaaS platform is the commercial shell: accounts, plans, and tenancy. One company may need all four. One codebase should not pretend they are the same requirement.
Types of LMS platforms
The split is the process and the record, not the color of the dashboard. Forcing a compliance path into a course shop, or a public catalog into a closed employee system, produces a product that fights the operator.
Corporate LMS
Corporate use is assignment, a due date, and proof. A manager needs the completion status of their own team. They do not need permission to rewrite the course. The employee record usually already lives in an HR system, so the LMS should receive assignments from that system rather than become a second staff directory. The broader program, including who owns the curriculum, is a corporate training platform question. The connection to the employee record is an employee directory sync, not a new theme.
Academic LMS
A school needs terms, a grade scheme, and a system that stays up when a whole cohort opens the same exam. Student records often carry duties the institution, not the vendor, has to name. The software has to enforce the access rules they write down: who may see a grade, how long an attempt is kept, and what a parent or registrar may export. A glitch during finals is an operations problem, not a copy problem.
Commercial LMS platforms
When the learner pays, the LMS is also a checkout. Coupons, refunds, and instructor payouts belong here. One creator selling courses is usually an online course platform. Many independent instructors selling side by side is an edtech marketplace. Those products need a catalog and a payment record. They do not automatically need a compliance gradebook.

Online Education Web Platform by Conceptzilla
Core LMS components
Six components have to agree, or the platform will show a finished course to the wrong person.
- Identity: a person, an organization, and a session that cannot be shared by pasting a password.
- Catalog and enrollment: self-enrollment, assignment, or both, with a start and an end.
- Content runtime: the player that launches an activity and returns a result.
- Gradebook: attempts, the score that counts, and who may change it.
- Completion record: the rule for finished, stored so a later edit of the quiz does not rewrite history.
- Reporting: the view for the instructor and the manager, fed by those records rather than by a separate spreadsheet.
Key Features of a Modern LMS Platform
A feature list that does not say who may act, and what finished means, will fail on the first real course. The features below are the ones a buyer should be able to demo with their own roles, not a catalog of settings.
Course Management
A course is a structure: modules, a prerequisite, a version, and a published state. Draft content must not appear to learners who already started. When an author changes a question after attempts exist, the old attempts keep the old question. That rule is more important than a drag-and-drop builder.
Video, files, and live sessions are delivery methods. Playback, captions, and bandwidth belong with a video-based learning platform when video is the product. The LMS still has to store that the person launched the activity and whether the completion rule was met.
User and Role Management
Role names are not a permission model. Four actions have to be separated: who enrolls, who authors, who grades, and who exports learner records. A person who needs one of those actions should not receive the other three by default.
| Role | May do | Must not do |
| Learner | Open assigned courses, submit attempts, see their own result | See another learner’s grade or edit the course |
| Instructor | Author and grade inside assigned courses | Change organization-wide roles or export every learner record |
| Teaching assistant | Grade and comment in assigned courses | Delete the course or change the grade scheme |
| Manager | See completion for their own team | Edit content or open another team’s records |
| Organization admin | Manage users, roles, integrations, and retention | Treat admin rights as a reason to author every course |
| Support | Use time-limited access with an audit record | Share a permanent password or skip the audit |
A product’s default roles are a starting point only after you read that product’s current documentation. This article does not reproduce a vendor’s permission matrix, and a custom build does not become compliant because the role is named Student or Teacher.
Progress Tracking and Analytics
Write the completion rule before anyone argues about dashboards. Useful rules are concrete: the page was opened, the file was submitted, the score is at or above a threshold, or an instructor signed off. Time on a page is a weak signal. It counts a distracted tab the same way it counts study.
The gradebook answers “who finished this course.” A separate analytics product answers questions across courses, cohorts, and years. That work is eLearning analytics software, and it is only as good as the events the LMS actually stores. If the attempt record is wrong, a richer chart will repeat the error.
Assessments and Certification
An assessment needs an attempt limit, a late rule, and a named person who may change a grade after submission. A certificate is a document the completion rule allows. It is not a graphic that appears because someone opened the last page. If the credential expires, the system needs a recertification path and a date, not a second copy of the same course with a new title.
Moving questions between tools is a different job from scoring them. The QTI standard from 1EdTech is a way to package and exchange assessment items, tests, usage data, and results. A package that another system can read is not, by itself, a gradebook. 1EdTech also runs supplier certification for QTI applications and content packages. Shipping a custom player does not confer that certification.
Multi-Platform Access
The same person, on a phone and on a desk browser, must see the same attempt. A second account, or a second score, is a defect. Offline use, push notifications, and a store listing are a later release, and they are a mobile learning platform project when the phone is the main classroom. eLearning mobile app development does not replace the completion record on the server.
What the first release includes
The first release proves one path. It does not prove that every future department will fit.
- One organization, not a marketplace of tenants.
- Learner, instructor, and organization admin, with the four actions separated.
- One course with modules and one prerequisite.
- One assessment with an attempt limit and a stored question version.
- A completion record that does not change when the quiz is edited later.
- One report for that cohort, visible to the instructor and to the admin.
Leave these out of the first release unless one of them is the actual product: a public catalog with payouts, offline apps, every content standard, white-label branding, and AI tutoring platform development. Adding them before the path works multiplies the test matrix and hides the defect you needed to see.

E-learning Education Web Platform by Conceptzilla
LMS Development Process
The sequence follows the learning path. A stack choice before the completion rule is known produces a prototype that cannot be graded.
Step 1. Product Strategy and Requirements
Write one course from enrollment to completion on a single page: who assigns it, what the learner does, what the instructor sees, and what “finished” means. If that page has gaps, the gaps are the requirements. A workshop that produces a feature wishlist is not a substitute.
Decide build, buy, or extend in the same step. Buy when an existing product already enrolls, grades, and exports the records you need. Extend when the gap is a tool or a report that the product’s integration method can host. Build when the process itself is the product and you accept ownership of the runtime, the migrations, and support. Products such as Moodle or Canvas are common starting points. Read their current documentation for roles, content packages, and export before you reject them. This article does not certify either product.
Step 2. UX/UI Design for Learning Platforms
Design the instructor’s grading queue and the manager’s team view before you polish the learner home. Those two screens are where the permission model becomes visible. A learner path that looks clear while the instructor cannot find an attempt will be rebuilt after launch. E-learning web design for this product is the design of those tasks, not a marketing page with a login button.
Step 3. Choosing the Technology Stack
There is no LMS stack. The runtime that launches content, the database that stores attempts, and the service that transcodes video can be different systems. The choice follows who will operate the platform, the peak you can name, and whether you must embed a third-party tool. A published case can show a stack that worked for that product. It is not a template for the next one.
Step 4. Platform Architecture
Keep the request that writes a grade separate from the request that streams a video. When everyone starts an exam, the gradebook should not wait on media. Store the question version with the attempt. Put an audit row on grade changes and on exports of learner records. Multi-tenant branding can wait until one organization finishes a course without a manual fix.
Step 5. Content Delivery and Integrations
“SCORM support” on a proposal is not a feature until the edition and the behavior are named. ADL’s SCORM-to-xAPI wrapper documents separate JavaScript API wrappers for SCORM 1.2 and SCORM 2004, and a mapping from SCORM data-model elements to xAPI statements. A wrapper that emits statements is not the same as a runtime that launches every package an authoring tool exports. The table below describes that wrapper. It is not a full SCORM data-model reference, and it is not a conformance promise.
| Standard | What it is for | What it does not do |
| SCORM 1.2 and SCORM 2004 | ADL documents a JavaScript API and a data model that can be mapped to xAPI statements | A checkbox labeled SCORM, or a statement export, is not a conformant runtime for every package |
| xAPI | ADL’s specification describes how to document learning experiences and exchange them. A Learning Record Store receives, stores, and provides access to those records | The store is not an LMS. The repository README identifies IEEE xAPI 2.0 as the current version; the definitions here are from the 1.0.3 text |
| cmi5 | The cmi5 specification defines runtime communication between an LMS and an assignable unit: import a course structure, assign it, launch the unit, write launch data to an LRS, and accept initialized and terminated statements | Other uses of xAPI are outside this profile. Implementing cmi5 is not a claim of certification |
| LTI 1.3 | 1EdTech’s LTI standard connects a tool to the learning environment without a separate login and passes user, enrollment, and role data. LTI 1.3 improves the authentication model. LTI Advantage adds teaching and learning services on that base | LTI is a standard, not a product, and it is not a content package |
| QTI | 1EdTech’s QTI standard packages questions and tests so another application can read them | A readable package is not a gradebook, and supplier certification is a separate program |
Confirm the xAPI version in the contract. The xAPI specification repository distinguishes the 1.0.3 text cited above from IEEE xAPI 2.0. Do not treat an older document as the rule for a new build without checking the version you will actually implement.
Integrations follow the same discipline. Single sign-on should use the identity provider the organization already runs. An HR sync should move assignments and completions, not duplicate the staff directory. A payment gateway belongs on a commercial catalog. A video meeting link is an integration, as in the CGMA case below, not proof that the LMS contains a classroom. eLearning web development for these connections starts from the other system’s documentation and a sample user, not from a logo on a slide.
Step 6. Testing and Quality Assurance
Test the path with each role. The learner submits. The assistant grades and cannot delete the course. The manager sees their team and not another team. The admin exports a record and the export is audited. Then change the quiz and confirm the old attempt still shows the old question. A visual pass of the home page does not cover this.
Step 7. Deployment and Scaling
Scale the peak you can name. Ask how many people launch the same activity in the same minute, and how large the media is. Average monthly users will not predict an exam hour. Deploy the first organization, watch the attempt write, and only then add a second tenant or a second standard.

Online Education Website UI UX Design by Shakuro
Cost of LMS Development
An estimate is a list of work, not a number copied from another company’s press release. This page does not publish a price. Two proposals can be compared only when they include the same roles, the same completion rule, the same standards, the migration of existing records, and the work after launch.
Key cost factors
| Estimate line | Work to include | What to bring |
| Roles and exceptions | Permission matrix and an audit of exports | Named roles, and one person who must not see a grade |
| Learning path | Enrollment, prerequisites, attempts, completion, recertification | One real course and the rule for finished |
| Content standards | Named edition and launch behavior, or an explicit decision to use your own player only | Sample packages, or a written statement that the first release has none |
| Integrations | Identity, HR, payments, video, or an LTI tool | The other system’s documentation and a sample user |
| Peak | Concurrent launches and media storage, separated from the grade write | A measured or expected peak, not a slogan |
| After launch | Hosting, support, content changes, and a regression test of the path | Who owns the content and who owns the software |
Example scenarios
A narrow scenario is one organization, one course path, three roles, no public catalog, and no content standard beyond your own player. The estimate covers the path, the permission tests, and a place to host it.
A wide scenario adds a second organization, single sign-on, an HR sync, one named content standard with sample packages, and migration of old completion records. The extra cost is that extra work, not a different rate card. If the wide scenario is what you need on day one, say so. If you need the narrow path first, do not pay for the wide one in the same release.
Build, buy, or extend
Compare the same scope across a product license, a plugin or LTI integration, and a custom build. Include migration of courses and completion history, the right to export both, and who answers when a package fails to launch. A lower implementation quote that excludes support and content operations is not a lower cost. It is a missing line.
Bring one course, the roles, the completion rule, and any system the LMS must talk to. Discuss an LMS scope with Shakuro before you commit to a custom build or to a product you have not tried with your own course.

Online Education Website Design by Shakuro
Common Challenges in LMS Development
The failures we plan for are a permission that is too wide, a completion rule that rewrites history, a content package that does not launch, and a grade write that waits on video. Each one needs an owner before release.
Scaling for large user bases
The dangerous hour is the simultaneous launch, not the size of the user table. Separate media from the attempt write, and test that hour with the number of people you expect. A cache in front of a page that must record an attempt will hide the failure until the exam.
Maintaining engagement and retention
An LMS can remove friction: a clear next activity, a saved attempt, a certificate that matches the rule. It cannot make a dull course interesting. If learners leave, check the content and the assignment policy before you add badges. A completion percentage is not proof that anyone learned the material.
Content delivery performance
Large video and a slow package launch are different problems. Video needs a delivery network and a player that can resume. A SCORM or cmi5 launch needs a runtime that returns in time for the learner to start. Putting both through the same application server is how an exam hour becomes an outage.
Customizing LMS for different industries
Industry fit is the record and the process. A clinic may need a named supervisor to sign off. A retailer may need a due date tied to a shift. A school may need a term and a grade scheme. Those are rules in the path. A new visual theme does not create them. Do not copy another industry’s completion rule because the screens looked similar.

Online Education Web Platform Design by Conceptzilla
Our Experience in SaaS and EdTech Development
Published cases show education-platform delivery and a rebuild off a ready-made CMS. They do not show a certified LMS, a SCORM runtime, or an LTI tool consumer. We do not treat them as proof that every feature on this page shipped in a client product.
Real-World Proof: Case Studies
For Proko, the published case describes an art-education platform rebuilt from a limited WordPress site. The case says the team implemented social interactions, including comments, follow, and tagging, plus analytics that track progress and offer personalized feedback and course recommendations. The published stack includes Angular 7, TypeScript, NgRx, Angular Universal, Ruby on Rails, PostgreSQL, Redis, Elasticsearch, Amazon S3, and CloudFront. That is course-platform delivery. It is not a standards conformance claim.

Proko platform by Shakuro
CGMA is described on the case page as a virtual classroom platform. Work started in early 2018. The ready-made CMS could not carry further development, so the platform was rebuilt on Ruby on Rails, with a migration of existing data. The published integrations include Discord, Zoom, video management, and PayPal. The stated objectives were a more convenient educational process, better communication, and management of educational materials. Those are platform and integration facts. They are not a claim that the product launches SCORM, cmi5, or LTI.

CGMA platform by Shakuro
Why Work with an LMS Development Company
The useful partner is the one who can tell you to buy or extend, and who can still build the rule an existing product cannot express. Speed, a fashionable stack, and a long feature list are not that test.
Faster Development
Time is lost when a team discovers late that a CMS cannot store an attempt without rewriting history, or that a plugin cannot express the completion rule. A partner who has shipped education platforms should surface that in the first scope conversation. That is not a promise of a calendar date.
Scalable Architecture
Ask where the attempt is written, and what happens when the media service is slow. An architecture review that cannot answer those two questions is a diagram, not a plan for exam hour.
Custom Feature Development
Custom work should be the rule the product cannot express: a supervisor sign-off, a recertification date, a manager who sees one team. Rebuilding a gradebook that a current product already provides is a cost, not a feature. eLearning web development is the right conversation when that rule is real and an off-the-shelf path has been checked.
UX Expertise
The learner home is the easy screen. The grading queue, the failed attempt, and the export confirmation are the screens that get used under pressure. Design those, then test them with the people who will actually grade.
FAQ
How much does LMS development cost?
There is no honest single price. The estimate follows the roles, the completion rule, the named content standard, the integrations, the migration of old records, and who operates the system after launch. Bring one course and those constraints. Ask Shakuro to scope the estimate, then compare a product, an extension, and a custom build on the same list. A quote that skips support and content operations is incomplete, not cheap.
How long does LMS development take, and what team is needed?
Duration follows the path, not a template. One organization and one course, with no content-standard runtime and no migration, is a different project from three standards and a history of completion records. This page does not promise a month count. The team has to include someone who can decide the learning rules, someone who can design the instructor and learner tasks, someone who can build the record, and someone who can test the path with each role. A developer-only team will invent the completion rule in code.
Should I build a custom LMS or use Moodle or Canvas?
Use an existing product when its enrollment, permissions, content runtime, and export already match the process. Extend it when the gap is a tool or a report. Build when the process is the product and you will own the runtime. Moodle and Canvas are common comparisons. Read their current documentation before you reject them. This article does not certify either product, and it does not claim that a custom build is compatible with every package those products launch.
What should an MVP for LMS development include?
One organization; learner, instructor, and admin; one course with a prerequisite; one assessment with an attempt limit; a completion record that survives a later edit of the quiz; and one cohort report. Leave marketplace payouts, offline apps, every content standard, and an AI tutor out unless that item is the product you are selling.
Which technology stack is used for LMS platform development?
No single stack. The content runtime, the attempt store, and the media service can be separate. Published Shakuro education cases have used Ruby on Rails with PostgreSQL, and, on Proko, Angular. That is evidence of those projects, not a requirement for the next LMS. Choose from the peak, the package you must launch, and who will operate the system.
How do you scale an LMS for large user bases?
Name the peak minute, separate media from the grade write, and test that minute. Store question versions with attempts so a content deploy does not rewrite scores. Add tenants and extra standards after one organization can finish a course without a manual repair.
Final Thoughts
Before you ask for an estimate, write down five facts: who enrolls, who authors, who grades, and who exports; what finished means; which content standard and edition, if any; whether a current product already does this; and what happens to old completion records. If those five are missing, a proposal can only guess.
An LMS does not write the course, and a completion flag does not prove competence. It does keep the attempt, the permission, and the rule in one place so the organization can see what happened. When that record has to follow your process rather than a product’s default, write to Shakuro about the first release.
Related reading: corporate training platform, online course platform, video-based learning platform, eLearning analytics software.

