Start your learning journey
Enter any concept you're curious about, and we'll turn it into a{" "} short, guided lesson with clear topics, audio explanations, and quick quizzes so you can check your understanding as you go.
Here's how your mini-lesson will work:
- We'll pick a few focused topics so you don't feel overwhelmed.
- For each topic, you can read the explanation or{" "} tap play to listen like a mini audio lesson.
- At the end of every topic, a short quiz will help you see what you've really understood.
- You'll see your progress as you move from Topic 1 all the way to the end of your 15-minute journey.
When you're ready, type what you want to learn and{" "} create your learning plan.
Creating your personalised 15-minute learning path {topic.trim() ? ` for “${topic.trim()}”` : ""}…
{plan.topic || topic}
{plan.topic || topic}
Learning plan for {plan.topic || topic}
{renderTextWithBold(plan.overview)}
{plan.totalDurationMinutes && (Total time:{" "} {plan.totalDurationMinutes} min
)}Here are the topics we'll cover in this quick session:
{plan.steps && plan.steps.length > 0 && (-
{plan.steps.map((step, index) => (
-
{index + 1} {step.funIcon ? `${step.funIcon} ` : ""} {step.title}{step.summary && (
{step.summary}
)}~{step.durationMinutes} min • Key idea: {step.keyIdea}
))}
{renderTextWithBold(selectedStep.content)}
)} {selectedStep.codeExample && selectedStep.codeExample.trim() && (
{selectedStep.codeExample}
)}
Try this: {selectedStep.activityPrompt}
{questions.length > 0 && !completedQuizzes[stepKey] && (✅ Quiz completed for this lesson.
Question {quizQuestionIndex + 1} of {questions.length} {currentQuestion.question}
{quizFeedback.correct ? "Correct! " : "Not quite. "} {quizFeedback.explanation}
Review quiz for Lesson {currentStepIndex + 1}
Here's a quick look back at the questions for{" "} {selectedStep.title}. Answers are locked in, so this is just for review.
{(() => { const q = questions[Math.min(quizQuestionIndex, questions.length - 1)]; const answersForStep = stepKey ? quizAnswers[stepKey] || {} : {}; const chosenIndex = answersForStep[quizQuestionIndex]; if (!q) return null; return (Question {quizQuestionIndex + 1} of {questions.length} {q.question}
{q.explanation}
)}Lesson {currentStepIndex + 1} quiz summary
You've just finished the check-in for{" "} {selectedStep.title}.
Your score for this lesson
{stepResult.correct} / {stepResult.total} {" "} questions answered correctly.
{stepResult.correct === 0 ? ( <> 😔 This quiz didn't go as planned, and{" "} that's okay. Use the explanations and Review quiz option to see what clicked and what didn't—this is exactly how deep understanding is built. > ) : stepResult.correct === stepResult.total ? ( <> ✨ Brilliant! You aced this lesson's quiz. If it feels clear, you're ready to move on—or do a quick review if you'd like. > ) : ( <> 👏 Nice work! You've built a solid understanding of this lesson. You can review the quiz for clarity, then flow into the next topic when you're ready. > )}
Kritclub Learning Coach
Certificate of Quick Learning
This certifies that Kritclub Explorer has completed the mini-course on {plan.topic || topic} and stayed curious for a focused{" "} 15-minute learning journey.
Topic-wise score
-
{scoreSummary.perStep.map((row, idx) => (
- {row.title} {row.correct} / {row.total} ))}