Widget Architecture: How Curriva's Editor Understands Educational Content
We built 70 widget types, not because we wanted to, but because educational content has structure that a blank document cannot represent. Here is how the system works and why each widget exists.
Written by Curriva Team
When you open Google Docs to write a lesson plan, you get a blank page and a blinking cursor. You can type anything. Format it any way. The document has no idea whether you are writing objectives, activities, or a grocery list.
That flexibility is a weakness for educational content. A lesson plan is not a freeform document. It has structure. Objectives are different from activities. Activities are different from assessments. Materials lists are different from schedules. When an editor understands this structure, it can do things a blank page cannot.
The Widget Inventory
Curriva currently has 70 widget types. Each one corresponds to a specific element of educational content that we identified by studying how educators actually create materials.
Here is a partial breakdown of why we needed this many:
Document Structure (8 widgets): Heading, subheading, section divider, table of contents, page break, table, list, definition. These handle the basic scaffolding of any educational document. A scheme of work needs section dividers between terms. A lesson plan needs headings to separate objectives from activities from assessment. A reference document needs a table of contents.
Text and Content (7 widgets): Rich text, callout, quote, note, key term, code block, markdown. Educational content includes a lot of different text types. A key term definition is semantically different from a paragraph of explanation. A callout highlighting a common misconception is different from a note about assessment criteria. The editor treats these differently because they serve different purposes.
Media (6 widgets): Image, audio, video, document embed, file upload, diagram. Nigerian educators work with diverse media. A science teacher embeds a diagram of the circulatory system. An English teacher includes an audio recording for a listening comprehension exercise. A history teacher uploads a primary source document.
Assessment (10 widgets): Multiple choice, true/false, fill-in-the-blank, short answer, essay, matching, ordering, calculation, practical, oral. Each assessment type has its own data model. A multiple choice question needs exactly four options and one correct answer. A matching exercise needs paired items. A calculation question needs the formula, the given values, and the expected answer. A practical needs materials, procedure, and evaluation criteria.
Curriculum Alignment (5 widgets): Learning objective, prerequisite, learning outcome, cross-curricular link, higher-order-thinking. These widgets connect content to the curriculum framework. When a teacher writes a learning objective, the widget knows it should be phrased as a measurable action. When they add a prerequisite, it links to a specific topic in the curriculum database.
Interactive (4 widgets): Quiz, poll, discussion prompt, collaborative workspace. These turn static content into active learning. A quiz widget generates questions from a question bank. A poll widget collects student responses. A discussion prompt creates a structured conversation space.
Resource Management (5 widgets): Citation, reference list, resource link, appendix, glossary. Academic integrity matters in education. These widgets help educators properly attribute sources, link to reference materials, and organize supplementary content.
Planning (8 widgets): Timeline, schedule, week plan, term plan, unit plan, lesson sequence, activity sequence, milestone tracker. Planning widgets handle the temporal dimension of education. A term plan maps topics to weeks. A lesson sequence shows how individual lessons build on each other. A milestone tracker marks key assessment dates.
How Widgets Interact
The real power is not in individual widgets but in how they connect. A learning objective widget can be linked to a specific assessment widget. The system knows that objective #3 in your lesson plan should be assessed by question #5 in your quiz. When you update the objective, the system flags that the assessment may need updating too.
A prerequisite widget can link to a topic in the curriculum database. When a teacher creates a lesson on quadratic equations, the prerequisite widget automatically suggests: "Students should have mastered linear equations, factorization, and indices." The teacher confirms or adjusts, but the heavy lifting of identifying prerequisites is done.
A timeline widget can pull from the curriculum database to suggest how many weeks to spend on each topic. If the NERDC curriculum allocates six weeks to "Introduction to Trigonometry" in SSS1 Mathematics, the timeline widget uses that as a starting point, not an arbitrary number.
Why 70 and Not 200
We could have built more widgets. The temptation is always there. But widget proliferation is a UX problem. Every additional widget is a decision the educator has to make. "Should I use a callout widget or a note widget? Is this a key term or a definition?"
We set a constraint: every widget must be distinct enough that an educator can immediately understand when to use it, and similar enough that the system can suggest alternatives. If two widgets serve nearly identical purposes, we merge them. If a widget is only useful in rare cases, we leave it out and let the generic text widget handle it.
Seventy is the number where we hit the sweet spot: enough structure to handle real educational content, not so many that the editor becomes overwhelming.
What This Means for Educators
The practical impact is that educators spend less time on structure and more time on content. When you drag a "Learning Objective" widget onto the canvas, you do not have to format it, number it, or decide how to phrase it. The widget prompts you with the verb-noun structure that makes objectives measurable. When you add an "Assessment" widget, you choose the type and the system handles the format.
This is not about making education easier. It is about making the tools respect the work educators do. Educational content has structure. Our editor recognizes that structure and works with it, not against it.
Further Reading
To understand the curriculum data that powers these widgets, see NERDC Curriculum by the Numbers. To understand how we optimized performance for low-bandwidth environments, read Building for Low-Bandwidth. For how resources flow across personal, institutional, and public layers, see Three Resource Layers.
Try the Curriva editor
Try the Curriva editorFrequently Asked Questions
How many widget types does Curriva have?
Why not just use a document editor like Google Docs for lesson plans?
Can widgets interact with each other?
Is the editor available on mobile devices?
Related Reading
The NERDC Curriculum by the Numbers: What 30 Subject Files Tell Us
We extracted and analyzed the complete NERDC curriculum. Here is what the data actually looks like: 30 subjects, 3 education levels, thousands of learning objectives, and a structure that most edtech tools completely ignore.
Building for Low-Bandwidth: The Technical Decisions Behind Curriva's Performance
45% of Nigerian internet users are on 3G. Our application had to work for them. Here are the specific technical decisions we made and the performance numbers that resulted.
Three Resource Layers: Personal, Institutional, and Public
Teaching materials do not exist in a vacuum. They belong to an individual, an institution, and a community. Curriva's architecture reflects this reality. Here is how the three layers work.