Kiki0203's picture
Upload README.md
441f415 verified

A newer version of the Streamlit SDK is available: 1.57.0

Upgrade
metadata
title: LearnCraft
emoji: πŸŽ“
colorFrom: blue
colorTo: purple
sdk: streamlit
sdk_version: 1.32.0
app_file: app.py
pinned: true
license: mit
short_description: Personalized AI Learning Platform
tags:
  - education
  - learning
  - ai-tutor
  - quiz
  - flashcards
  - groq
  - llama
  - streamlit
  - gamification
  - study-tools

πŸŽ“ LearnCraft β€” Personalized AI Learning Platform

Generate personalized study material, flashcards & quizzes tailored exactly to your level and learning goals β€” powered by Groq LLaMA-3.3-70b.

Python Streamlit Groq License


🌟 What is LearnCraft?

LearnCraft is a fully AI-powered learning platform that generates customized study content based on your chosen topic and difficulty level. Whether you're a beginner learning Python or an advanced student studying Quantum Mechanics β€” LearnCraft adapts everything to you.

How it works:

  1. Pick a topic β€” anything from Calculus to Climate Change
  2. Choose your level β€” Beginner, Intermediate, or Advanced
  3. Get personalized content β€” notes, quizzes, flashcards and an AI tutor instantly
  4. Track your progress β€” earn XP, unlock badges and monitor your scores

✨ Features

Feature Description
πŸ“š Study Content Generator AI-generated notes in 4 styles: Summary Notes, Detailed Explanation, Bullet Points, Concept Map
πŸƒ Flashcard Studio Auto-generated flip-card decks (up to 20 cards) for any topic
🧩 Quiz Engine MCQ, True/False, Fill-in-the-Blank, Short Answer β€” with optional timed mode
πŸ€– AI Tutor Chat Multi-turn conversational AI tutor with topic context and full conversation memory
πŸ… Gamification XP points, 7 levels (Seedling β†’ Genius), 15 badges, daily streak tracking
πŸ“„ PDF Export Download study notes and quiz results as branded A4 PDFs
πŸ“Š Progress Dashboard Score history chart, per-topic best scores, weak topic detection
πŸ“ Notes Save, search and delete personal notes during study sessions

πŸš€ Running on Hugging Face Spaces

This app runs directly on Hugging Face Spaces using the Streamlit SDK.

βš™οΈ Required Secret

You must add your Groq API key as a Space secret for the app to work:

  1. Go to your Space β†’ Settings β†’ Repository secrets
  2. Add a new secret:

Get a free Groq API key at https://console.groq.com β€” it takes under a minute.

πŸ“‚ Files required in your Space

app.py
content_generator.py
quiz_generator.py
flashcard_generator.py
tutor.py
evaluation.py
gamification.py
pdf_export.py
utils.py
requirements.txt
README.md

πŸ”‘ API Key Configuration

The app reads the Groq API key from the environment. Make sure each module uses:

import os
GROQ_API_KEY = os.environ.get("GROQ_API_KEY", "")

If you're running locally, set the variable in your terminal:

export GROQ_API_KEY="gsk_your_key_here"   # macOS/Linux
set GROQ_API_KEY=gsk_your_key_here         # Windows

πŸ“¦ Requirements

streamlit>=1.32.0
pandas>=2.0.0
groq>=0.4.0
reportlab>=4.0.0
plotly>=5.18.0

πŸ—ΊοΈ App Pages

Page Description
🏠 Home Hero banner, feature overview, quick-start buttons, recent activity feed
πŸ“š Study Content Generate AI study notes with key terms, summary and PDF export
πŸƒ Flashcards Navigate AI-generated flip cards with progress bar and deck overview
🧩 Take Quiz Timed quiz with instant results, XP awards and PDF download
πŸ€– AI Tutor Chat with an AI tutor β€” quick-start prompts and topic context
πŸ… Achievements XP level hero card, badge gallery, streak and stats
πŸ“Š My Progress Score history, per-topic performance table, weak topic alerts
πŸ“ My Notes Searchable saved notes from study sessions

πŸ… Gamification

Earn XP for every learning action:

Action XP
Study session +10 XP
Flashcard deck +10 XP
Complete a quiz +20 XP
Score β‰₯ 60% +15 XP
Score β‰₯ 80% +30 XP
Perfect score (100%) +50 XP

7 Levels:

🌱 Seedling (0 XP)  β†’  πŸ“– Reader (50)  β†’  πŸŽ“ Student (150)  β†’  πŸ”¬ Scholar (300)
β†’  πŸ† Expert (500)  β†’  🌟 Master (800)  β†’  πŸš€ Genius (1200)

15 Badges to unlock:

Badge How to Earn
🎯 First Quiz Complete your first quiz
πŸ’― Perfect Score Score 100% on a quiz
πŸ”₯ 3-Day Streak Study 3 days in a row
⚑ Week Warrior Study 7 days in a row
πŸ—“οΈ Fortnight Hero Study 14 days in a row
πŸ—ΊοΈ Explorer Study 5 different topics
🧠 Polymath Study 10 different topics
🧩 Quiz Master Complete 10 quizzes
πŸ… Quiz Champion Complete 25 quizzes
πŸŽ‰ High Achiever Score above 80%
πŸƒ Card Shark Complete a flashcard deck
πŸ”¬ Scholar Reach Scholar level (300 XP)
πŸ† Expert Reach Expert level (500 XP)
🌟 Master Reach Master level (800 XP)
πŸ“ Note Taker Save your first note

πŸ“ Architecture

User (Browser)
      β”‚
      β–Ό
app.py  (Streamlit β€” routing, session state, UI)
      β”‚
      β”œβ”€β”€ content_generator.py  ──┐
      β”œβ”€β”€ quiz_generator.py       β”œβ”€β”€β–Ί Groq API (LLaMA-3.3-70b)
      β”œβ”€β”€ flashcard_generator.py  β”‚
      β”œβ”€β”€ tutor.py             β”€β”€β”€β”˜
      β”‚
      β”œβ”€β”€ evaluation.py        ── Quiz answer scoring
      β”œβ”€β”€ gamification.py      ── XP / badges / streak
      β”œβ”€β”€ pdf_export.py        ── ReportLab PDF generation
      └── utils.py             ── JSON persistence
                                   (learning_progress.json,
                                    notes.json,
                                    gamification.json)

πŸ’‘ Topics You Can Study

LearnCraft works with any topic you type, plus these built-in suggestions:

Photosynthesis Β· Machine Learning Β· World War II Β· Python Functions Β· Calculus Β· Climate Change Β· The French Revolution Β· DNA Replication Β· Object-Oriented Programming Β· The Solar System Β· Economics Supply & Demand Β· Quantum Mechanics


πŸ”’ Data & Privacy

  • All progress, notes and gamification data are stored in local JSON files within the Space
  • No user data is sent anywhere except to the Groq API for content generation
  • The Groq API is used solely for generating educational content
  • On Hugging Face Spaces, persistent storage resets when the Space restarts β€” data is session-local

πŸ› οΈ Local Development

# 1. Clone the Space
git clone https://huggingface.co/spaces/YOUR_USERNAME/learncraft
cd learncraft

# 2. Install dependencies
pip install -r requirements.txt

# 3. Set your API key
export GROQ_API_KEY="gsk_your_key_here"

# 4. Run
streamlit run app.py

πŸ“„ License

MIT License β€” free to use, modify and distribute.


Built with ❀️ using Streamlit · Groq · ReportLab · Python

πŸŽ“ LearnCraft β€” Learn smarter, not harder.