Activities grouped into units
Structure learning content as activities grouped into units and hierarchies. Each activity has a description, steps, skills and items.
Extend content models
Every content type is a Django model. Create blog posts, landing pages, case studies, or any custom structure by defining a Python class. Page types …
Surveys and contact forms
Editors create contact forms, surveys, and registration forms directly in the CMS. Add text, email, dropdown, checkbox, and file upload fields with validation. Submissions are …
Scratch, quizzes, math, GeoGebra
Drop in Scratch blocks, quiz questions, math equations, number lines, grids, GeoGebra graphs - all as editable StreamField blocks.
EN/CS/DE out of the box
Every snippet and page is translatable out of the box - manage EN/CS/DE/... with a shared translation_key per piece of content.
Navbar and footer as content
Site navbar and footer are content, not code. Compose from page chooser, document, or external-link blocks.
Block-based authoring, no code
Content authors compose pages from a library of reusable blocks - hero, cards, tables, embeds - without touching code.
Design/Make/Other skill tracking
Tag activities and units with skills (Design / Make / Other buckets). Track which skills each learner has earned.
Reusable components
Snippets are reusable content objects outside the page tree. Team members, testimonials, CTAs, navigation menus - anything that appears across multiple pages. They support StreamField …
Flexible page building
StreamField is the heart of Wagtail's content editing. Editors compose pages from blocks - text, images, videos, embeds, cards - in any order. No rigid …
Checker, alt text, dark mode
Built-in checker scans for missing alt text, empty headings, low contrast, missing form labels before publishing. Customizable for org-specific checks. Alt text tools encourage best …
Inline review and notifications
Comments attach to specific fields on a page. Reviewers highlight a paragraph and leave a note. Authors get email notifications, make edits, resolve comments - …
Review, history, and scheduling
Customizable workflows define who can draft, review, and publish. Multi-step approval chains with email notifications. Every edit creates a revision - comparison view shows exact …
Physical or digital item links
Link activities to physical or digital items (LEGO sets, software, services) so learners know what they need.
Python, Django, and Wagtail
100% open source under BSD license. No premium tiers, no vendor lock-in. Built on Python and Django - massive ecosystem of packages, tools, and deployment …
Cart to payment to fulfilment
Track orders from cart through payment to fulfilment, with admin views for staff and self-service history for buyers.
Groups, templates, memberships
Group learners into organizations and classes with self-serve templates and membership workflows.
Tiered quantity-aware pricing widget
Quantity-aware pricing widget for tiered packages with live client-side recalculation.
Products, categories, and catalogs
Pages for products, categories and catalogs with inline pricing, gallery images, rich descriptions.
Per-learner activity completion
Activity and unit completion per learner, with task-level progress bars on the activity page.
Percentage and flat-amount discounts
Percentage or flat-amount discounts, per-product or site-wide, with expiry and usage caps. Applied at add-to-cart time.
OIDC, Zitadel, and local accounts
Authentik OIDC or Zitadel for staff login; local accounts for guests. SPARROW_ENV badge shows dev/test/prod at a glance.
Session cart with line items
Session-backed cart with line items, discounts, cross-sell prompts and cart-level validation before checkout.
Plans with automatic billing windows
Monthly/quarterly/yearly subscription plans with automatic billing windows - ships current_period_start/end fields for every order.
Intuitive admin panel
The admin is designed for content teams. Sidebar gives quick access to pages, images, documents, snippets. Page explorer shows tree structure with drag-and-drop. Search works …
Any framework or headless
Use Django templates for server-rendered pages, or go headless with REST API or GraphQL to power React, Vue, Next.js. No generated markup to fight - …
Focal points and cropping
Focal points let editors mark the important area of an image. When cropped for different ratios - thumbnails, hero banners, social cards - the focal …
Upload once, render at any size
Upload once, render at any size. Collections let you group assets for galleries, downloads, or catalog thumbs.
Bootswatch themes and site presets
Swap Bootswatch themes on a whim; spin up a new site from a preset (blog, company, restaurant, portfolio) in one click.
GPT, Claude, or open LLMs
Integrates LLMs directly into editing. OpenAI GPT, Anthropic Claude, or self-hosted Ollama - pick your model. AI assists with alt text, titles, summaries, translation, and …
This website uses cookies and other tracking technologies for functional and analytical purposes. To improve your browsing experience on our site, we would also like to place tracking cookies.