{"$schema":"https://soulcraft.com/schemas/kit/v2.json","id":"online-course","type":"soulcraft","role":"primary","status":"released","name":"Online Course","description":"Launch and manage an online course business with curriculum design, student enrollment, and progress tracking","longDescription":"A full-featured online course platform for entrepreneurs and educators building a teaching business. Design multi-lesson courses with structured curricula, track student enrollments and completion progress, publish course landing pages and blog content, and manage your student community. Because it runs as a full Svelte app backed by Brainy, you can extend it with AI-powered lesson generation, adaptive learning paths, discussion forums, or certificate issuance — all wired directly into your knowledge graph.","version":"1.0.0","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"🎓","tags":["education","courses","learning","e-learning","teaching","content-creator","online-business","curriculum"],"variables":[{"key":"businessName","label":"Business Name","description":"The name of your online course business, displayed in the header and meta tags","type":"string","required":true,"example":"Bright Path Academy"},{"key":"tagline","label":"Tagline","description":"A one-line description of your teaching mission, shown below the business name","type":"string","required":false,"example":"Master new skills with expert-led online courses","default":"Learn at your own pace"},{"key":"locationName","label":"Location Name","description":"The display name for your primary location or virtual campus","type":"string","required":false,"example":"Online Campus","default":"Online"},{"key":"locationSlug","label":"Location Slug","description":"URL-friendly identifier for your location, used in routing","type":"string","required":false,"example":"online-campus","default":"online"},{"key":"email","label":"Contact Email","description":"Support email address displayed in the footer and used for student enquiries","type":"email","required":true,"example":"hello@brightpathacademy.com"},{"key":"timezone","label":"Timezone","description":"IANA timezone identifier for scheduling live sessions and displaying dates","type":"string","required":false,"example":"America/New_York","default":"UTC"}],"shared":{"industry":"online-education","category":"education","glossary":{"curriculum":"The structured sequence of lessons within a course, ordered to build knowledge progressively from foundational concepts to advanced applications.","enrollment":"A student's registration in a specific course, tracking their start date, progress percentage, and completion status.","learning objective":"A specific, measurable outcome a student should achieve after completing a lesson or course — written in terms of what the learner can do.","drip content":"A delivery model where lessons are released on a schedule rather than all at once, maintaining student engagement over weeks.","completion rate":"The percentage of enrolled students who finish all lessons in a course — a key metric for course quality and student engagement.","course launch":"The coordinated release of a new course including landing page, email sequences, and promotional content."},"aiExpertise":["online course design and curriculum planning","lesson structure and learning objective writing","student engagement and retention strategies","course landing page copywriting","pricing strategy for digital education products","student progress analytics and completion optimisation","content marketing and blog writing for course creators"],"dataModelHints":["course","lesson","enrollment","student","progress","content_page","blog_post"],"dataModel":{"entities":[{"domain":"course","type":"Document","description":"A complete online course with title, description, learning objectives, difficulty level, and publication status. Contains an ordered collection of lessons.","products":{"workshop":{"view":"board","icon":"📚"},"academy":{"mapsTo":"knowledge-unit","assessable":true},"venue":{"mapsTo":"ContentPageMeta","pos":false}}},{"domain":"lesson","type":"Document","description":"A single lesson within a course containing instructional content, estimated duration, and ordering position. Linked to its parent course.","products":{"workshop":{"view":"board","icon":"📖"},"academy":{"mapsTo":"knowledge-unit","assessable":true},"venue":{"mapsTo":"ContentPageMeta","pos":false}}},{"domain":"enrollment","type":"Event","description":"A record of a student enrolling in a course, tracking enrollment date, progress percentage, and completion timestamp.","products":{"workshop":{"view":"board","icon":"🎫"},"venue":{"mapsTo":"BookingMeta","pos":false}}},{"domain":"student","type":"Person","description":"A learner who has enrolled in one or more courses. Tracks name, email, and join date.","products":{"workshop":{"view":"graph","icon":"👤"},"venue":{"mapsTo":"CustomerMeta","pos":false}}},{"domain":"progress","type":"Measurement","description":"A progress record tracking a student's completion of a specific lesson — whether they finished it, time spent, and any score achieved.","products":{"workshop":{"view":"stats","icon":"📊"}}},{"domain":"content_page","type":"Document","description":"A static content page for the course platform — About, FAQ, Terms, or custom landing pages.","products":{"workshop":{"view":"board","icon":"📄"},"venue":{"mapsTo":"ContentPageMeta","pos":false}}},{"domain":"blog_post","type":"Document","description":"A blog article used for content marketing, SEO, and establishing authority in the teaching domain.","products":{"workshop":{"view":"board","icon":"✍️"},"venue":{"mapsTo":"ContentPageMeta","pos":false}}}],"relationships":[{"from":"student","to":"enrollment","verb":"Creates","description":"Student creates an enrollment when they register for a course."},{"from":"enrollment","to":"course","verb":"References","description":"Enrollment links to the specific course the student registered for."},{"from":"course","to":"lesson","verb":"Contains","description":"Course contains an ordered sequence of lessons that make up its curriculum."},{"from":"progress","to":"lesson","verb":"References","description":"Progress record tracks completion of a specific lesson."},{"from":"progress","to":"student","verb":"References","description":"Progress record belongs to a specific student."}]},"suggestions":[{"label":"Create a course","prompt":"Help me design a new online course. Ask me about the topic, target audience, and learning objectives, then create the course with a structured curriculum."},{"label":"Add lessons","prompt":"Help me add lessons to my course. For each lesson, I want a title, content outline, estimated duration, and clear learning objectives."},{"label":"View student progress","prompt":"Show me an overview of student enrollments and progress across all my courses. Highlight any students who might need attention."},{"label":"Design curriculum","prompt":"Review my course structure and suggest improvements to the lesson order, pacing, and learning objective coverage."},{"label":"Write a blog post","prompt":"Help me write a blog post that establishes authority in my teaching domain and drives traffic to my courses."},{"label":"Browse courses","prompt":"Show me all my courses with their status, lesson count, and enrollment numbers so I can see the full picture of my course business."}]},"academy":{"skillPath":"online-education","level":"intermediate","learningObjectives":["Design a structured online course with clear learning objectives and progressive lesson ordering","Write compelling course descriptions and landing page copy that converts visitors into students","Track and analyse student enrollment and completion metrics to improve course quality","Create a content marketing strategy with blog posts that drive organic traffic to courses","Structure pricing and enrollment models for a sustainable online education business"],"assessmentTypes":["portfolio","peer-review"],"mode":"certification","tutorPersona":{"inheritsFrom":"workshop.aiPersona","method":"socratic","encouragementLevel":"neutral","flashcardsEnabled":true},"certification":{"requiresHumanCertifier":false,"aiCertifierAllowed":true,"lineageEnabled":true,"certificationSlug":"course-creator"},"gamification":{"enabled":true,"achievements":["completionist","streak","chain-maker"],"streaks":true,"leaderboard":true}},"workshop":{"difficulty":"intermediate","templateTier":3,"aiPersona":{"role":"You are an online education strategist helping course creators build, launch, and grow profitable online course businesses. You combine instructional design expertise with digital marketing savvy — a great course that nobody finds is just a personal notebook.","expertise":["online course design and curriculum architecture","learning objective writing and assessment design","student engagement and completion rate optimisation","course pricing and business model strategy","landing page copywriting and conversion optimisation","content marketing and SEO for course creators","student community building and retention"],"tone":"collaborator","avoidances":["Don't create courses without clear, measurable learning objectives — 'understand X' is too vague, use 'demonstrate', 'build', 'analyse'","Don't recommend launching without at least 5 complete lessons — incomplete courses destroy credibility and refund rates","Don't ignore the marketing side — building a great course without a distribution plan is the most common failure mode"]},"workspaceConfig":{"paradigm":"builder","defaultTab":"app","defaultView":"app"},"graphGuidance":{"conceptCreation":{"triggers":["new course topic or curriculum outlined","lesson content created or structured","student enrolled or progress recorded","blog post or content page drafted","course launch or marketing campaign planned"],"typeMapping":{"course":"document","curriculum":"document","lesson":"document","module":"document","enrollment":"event","registration":"event","student":"person","learner":"person","progress":"measurement","completion":"measurement","content page":"document","blog post":"document","article":"document"}},"relationshipPatterns":[{"from":"student","to":"enrollment","verb":"Creates","description":"Student creates enrollment when registering"},{"from":"enrollment","to":"course","verb":"References","description":"Enrollment links to a specific course"},{"from":"course","to":"lesson","verb":"Contains","description":"Course contains its lessons in order"},{"from":"progress","to":"lesson","verb":"References","description":"Progress tracks a specific lesson completion"},{"from":"progress","to":"student","verb":"References","description":"Progress belongs to a specific student"}],"rules":["Every course must have at least one learning objective before any lessons are added","Lessons must specify their order position within the course for consistent sequencing","Enrollments are events, not documents — they record a point-in-time registration","Progress records link to both the student and the specific lesson for precise tracking","Blog posts should reference the courses they promote for graph connectivity"]},"qualityGates":{"projectChecks":["At least one course exists with title, description, and learning objectives","Course has at least three lessons with content and duration estimates","Course listing page loads and displays courses in a card grid","Individual course detail page shows lessons in order","App is responsive on mobile viewport widths"],"exportReady":["All courses have descriptions and at least one learning objective","Meta title and description are set","Navigation works across all pages","Empty states are handled gracefully"]},"templateMetadata":{"identifyByStructure":true,"runnable":true,"runnableCommand":"npx serve ."},"publishConfig":{"contentType":"app","publishable":true,"appEntry":"src/App.svelte"},"sampleData":{"description":"Sample courses and lessons to demonstrate the online course platform","entities":[{"type":"document","name":"Web Development Fundamentals","properties":{"entityType":"course","description":"A hands-on course covering HTML, CSS, and JavaScript from zero to building your first interactive web page.","objectives":["Build a responsive web page from scratch","Write CSS layouts using Flexbox and Grid","Add interactivity with vanilla JavaScript"],"level":"beginner","status":"published"}},{"type":"document","name":"Introduction to HTML","properties":{"entityType":"lesson","content":"Learn the building blocks of every web page — tags, attributes, and document structure.","duration":30,"order":1}},{"type":"document","name":"Styling with CSS","properties":{"entityType":"lesson","content":"Master selectors, the box model, and modern layout techniques with Flexbox.","duration":45,"order":2}},{"type":"document","name":"JavaScript Basics","properties":{"entityType":"lesson","content":"Variables, functions, and DOM manipulation — make your pages interactive.","duration":60,"order":3}}],"relationships":[{"from":"Web Development Fundamentals","verb":"Contains","to":"Introduction to HTML"},{"from":"Web Development Fundamentals","verb":"Contains","to":"Styling with CSS"},{"from":"Web Development Fundamentals","verb":"Contains","to":"JavaScript Basics"}]},"remoteWorkspace":{"connectedWorkbenches":[{"name":"Course Catalog","view":"board","entityTypes":["course"],"description":"All courses with their status, lesson count, and enrollment metrics"},{"name":"Curriculum Editor","view":"board","entityTypes":["lesson"],"description":"Manage and reorder lessons across courses"},{"name":"Student Progress","view":"stats","entityTypes":["enrollment","progress"],"description":"Enrollment and completion analytics across all courses"},{"name":"Knowledge Graph","view":"graph","entityTypes":["course","lesson","student","enrollment"],"description":"Relationship map of courses, lessons, students, and enrollments"}]}},"venue":{"bookingNumberPrefix":"OC","subdomainPrefix":"courses","features":{"subscriptions":true,"customerAccounts":true,"cms":true,"blog":true,"website":true,"analytics":true,"notifications":true,"apps":true,"documents":true,"giftCards":false,"pos":false,"loyalty":false,"waivers":false,"animals":false,"adoption":false,"memories":false,"partners":false,"franchise":false},"fees":{"billingModel":"subscription","feeMode":"online-only"},"theme":{"primary":"oklch(0.45 0.12 250)","bgBase":"oklch(0.99 0.005 250)","accent":"oklch(0.55 0.16 160)","textPrimary":"oklch(0.18 0.03 250)","displayFont":"DM Sans","bodyFont":"Inter"},"experienceTypes":[{"slug":"free-preview","name":"Free Course Preview","description":"Access the first lesson of any course for free to see if it's right for you.","priceInCents":0,"durationMinutes":30,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":0,"color":"oklch(0.55 0.12 250)"},{"slug":"single-course","name":"Single Course Access","description":"Full lifetime access to one course with all lessons, resources, and future updates.","priceInCents":4900,"durationMinutes":5,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":1,"color":"oklch(0.45 0.14 160)","sessionAttributeDefinitions":[{"key":"courseId","label":"Course","type":"text","perGuest":false,"required":true}]},{"slug":"all-access-pass","name":"All-Access Pass","description":"Unlimited access to every course in the catalog, including new courses as they launch.","priceInCents":9900,"durationMinutes":5,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":2,"color":"oklch(0.40 0.16 250)"}],"staffRoles":[{"id":"instructor","label":"Instructor","defaultCapabilities":["checkin","analytics","notifications"]},{"id":"teaching-assistant","label":"Teaching Assistant","defaultCapabilities":["checkin","notifications"]}],"chatSuggestions":[{"label":"Browse courses","message":"What courses do you offer? I'd like to see what's available.","emoji":"📚"},{"label":"Course recommendation","message":"Can you recommend a course for a beginner? I'm not sure where to start.","emoji":"🎯"},{"label":"Pricing info","message":"How much do courses cost? Do you have a subscription option?","emoji":"💰"},{"label":"Get support","message":"I'm enrolled in a course and need help with a lesson. Can you assist?","emoji":"🤝"}]},"previewImageUrl":"kits/online-course/images/preview.webp"}