Domain Model
The Domain Is the Learning Environment
Software without a domain is just technology.
Technology without purpose.
Our domain is learning.
Not learning management. Not content delivery. Not social networking for students.
Learning.
The domain model captures everything we believe about how learning works.
It defines the concepts. The relationships. The rules. The boundaries.
It is the most important artefact in the entire system.
The Domain Defines the Platform
When someone asks what Maigie is, the answer lives in the domain model.
Not in the technology stack. Not in the feature list. Not in the marketing materials.
The domain model is the platform expressed in its purest form.
Every feature is a manifestation of domain concepts.
Every screen presents domain objects.
Every API exposes domain operations.
The domain is not derived from the platform.
The platform is derived from the domain.
Core Domain Concepts
Learner
The individual at the centre of everything.
A Learner has goals. Knowledge. Progress. Behaviour. Preferences. Relationships. History.
The Learner is not a user account.
It is a rich representation of a person’s learning journey.
Educator
Teachers. Tutors. Mentors. Coaches. Lecturers. Professors.
Anyone who guides learning.
An Educator has capabilities. Responsibilities. Relationships with learners. Insights into progress. Tools for support.
Educators are not administrators of the system.
They are participants in the learning environment.
Learning Space
The collaborative environment where people learn together.
A Learning Space has members. Culture. Objectives. Resources. Intelligence.
It is more than a group chat.
It is a living community with shared purpose.
Classroom
A focused learning experience within a Learning Space.
Every Classroom exists for a reason.
A course. A project. A revision group. A workshop. A research team.
Classrooms provide structure within the freedom of a Learning Space.
Course
The body of knowledge.
Documents. Videos. Lectures. Readings. Assessments. Exercises.
A Course is not disposable content.
It is curated knowledge that lives, evolves and improves.
Knowledge
What a learner understands.
Knowledge is not binary.
It grows. Decays. Strengthens. Connects.
The domain models knowledge as a living thing.
Progress
Movement toward mastery.
Progress is not completion percentage.
It is genuine improvement in understanding, retention and capability.
Memory
What the platform remembers about a learner’s journey.
Events. Interactions. Achievements. Struggles. Patterns. Preferences.
Memory enables intelligence.
Without memory, the platform forgets.
Relationship
Connections between every concept.
Learner to educator. Learner to knowledge. Learner to community. Knowledge to progress. Progress to behaviour.
Relationships are not metadata.
They are first-class domain concepts.
Institution
The organisation that creates the conditions for learning.
Universities. Schools. Companies. Training providers.
An Institution has structure. Policies. Visibility. Responsibility.
Learning Intelligence
The thinking capability that connects everything.
Not a separate product.
The intelligence of the environment itself.
Ownership and Responsibility
Every domain concept has a clear owner.
One team. One bounded context. One source of truth.
The Learner belongs to Personal Learning.
The Learning Space belongs to Collaborative Learning.
The Classroom belongs to Structured Learning.
Intelligence belongs to the Intelligence domain.
Ownership prevents ambiguity.
Ambiguity prevents progress.
Relationships Create Meaning
Isolated concepts are lifeless.
A Learner without Progress is just a profile.
Progress without Knowledge is just a number.
Knowledge without Memory is just a fact.
The relationships between concepts create the meaning of the platform.
Every new relationship we model creates new possibilities.
New intelligence. New insights. New value.
The domain model is not a list of objects.
It is a web of meaningful connections.
Behaviour Belongs to the Domain
Business rules live in the domain.
Not in the API layer. Not in the database. Not in the frontend.
When a Learner joins a Classroom, the domain decides what happens.
When Progress is recorded, the domain validates it.
When Intelligence makes a recommendation, the domain constrains it.
The domain is active.
It is not a passive data store waiting for instructions.
It knows the rules. It enforces them. It protects the integrity of the learning environment.
Preserve a Common Language
Engineers. Designers. Product managers. Educators.
Everyone should use the same words.
A Learner is always a Learner. Never a “user” in one context and a “student” in another.
A Learning Space is always a Learning Space. Never a “group” in code and a “space” in design.
Language creates shared understanding.
Shared understanding creates better products.
The domain language is the company language.
The Domain Evolves Carefully
Domains are not static.
Our understanding of learning deepens.
New concepts emerge. Existing concepts refine. Relationships strengthen.
But the domain evolves carefully.
Not recklessly.
Changes to the domain model ripple through everything.
Code. Design. Documentation. Communication. Intelligence.
Every change should be deliberate. Discussed. Understood.
The domain is too important to change casually.
The Domain Outlives Technology
Databases will be replaced.
Frameworks will be deprecated.
Programming languages will evolve.
AI models will be superseded.
The domain will remain.
Because the domain represents learning.
And learning will always matter.
Our job is to model it so clearly that any future technology can serve it.
The domain is permanent.
Everything else is temporary.