CodeLearn AI
Learn Coding with AI
by hejhdiss
{{ toast }}
CodeLearn AI
LEARN BY BUILDING
🌙
☀️
XP {{ xp }}
LVL {{ level }}
LANGUAGE / STACK
{{ languages.length }} langs

CHATS
🌐
Global Chat
{{ globalMessages.length }} msg{{ globalMessages.length!==1?'s':'' }} · any topic
PROJECT CHATS
{{ getLangIcon(p.lang) }}
{{ p.name }}
{{ p.lang }} · {{ (projectChats[p.id]||[]).length }} msg{{ (projectChats[p.id]||[]).length!==1?'s':'' }}
No projects yet.
Start a global chat to create one!

YOUR SKILLS
{{ s.icon }} {{ s.name }} {{ s.level }}%
🌐 GLOBAL MODE — ask anything
{{ f.name }}
{{ activeChatId==='global' ? '🌐' : getLangIcon(activeProject?.lang||'') }}
{{ activeChatId==='global' ? 'Global Chat' : (activeProject?.name||'Project Chat') }}
{{ activeChatId==='global' ? 'General · any topic' : (activeProject?.lang+' · project-scoped' || 'project-scoped') }}
{{ searchResults.length }} result{{ searchResults.length!==1?'s':'' }} in this chat
Type to search across all messages in this chat
No results for "{{ searchQuery }}"
{{ r.role==='user'?'🧑‍💻':'🤖' }} {{ r.role==='user'?'You':'AI' }} · msg #{{ r.index+1 }}
{{ activeChatId==='global' ? '🌐' : '⚡' }}
{{ activeChatId==='global' ? 'Global Chat' : 'Project: '+activeProject?.name }}
Ask anything! Build projects, learn concepts, or explore any language.
Chat scoped to {{ activeProject?.lang }}. Ask about this project, debug code, add features, or learn {{ activeProject?.lang }} concepts.
{{ msg.role==='user'?'🧑‍💻':'🤖' }} {{ msg.role==='user'?'You':'CodeLearn AI' }} +{{ msg.xp }} XP 📌 pinned
{{ msg.content }}
🤖 CodeLearn AI ● thinking...
🌐 Global AI Chat · ask anything — code, concepts, projects, career...
{{ activeFile.name }} {{ activeFile.lang }}
📂
No project open. Start a conversation to generate code.
🌐
HTML/CSS Only
Preview is only available for HTML/CSS/JS projects.
🌐 HTML/CSS/JS Preview
🖥️
Click ▶ Run in the editor
📖
Open a project and click "Explain" to get explanations
⚙️
Analyzing {{ explainFileTab }}...
📖
Click "Explain" in the editor or Select a file tab above or use the button below
{{ execStatus==='idle'?'idle':execStatus==='running'?'running…':execStatus==='success'?'done':'error' }}
{{ activeProject && activeProject.lang==='C' ? '⚙️' : '🔧' }}
{{ activeFile ? activeFile.name : 'No file selected' }}
active file · will be compiled
{{ activeProject && activeProject.lang==='C' ? (settings.execC_host+':'+settings.execC_port) : (settings.execCpp_host+':'+settings.execCpp_port) }}
OUTPUT
{{ execOutput || '(output appears here after running)' }}
🧠 Quiz Settings
NUMBER OF QUESTIONS
QUIZ SOURCE
TOPIC
💬 Based on your chat history
{{ messages.length }} messages · {{ activeChatId==='global'?'Global chat':'Project: '+(activeProject?.name||'') }}
⚠️ No chat history yet. Start a chat first!
📁 {{ activeProject.name }}
{{ activeProject.lang }} · {{ activeProject.files.length }} file{{ activeProject.files.length!==1?'s':'' }} · quiz based on your project code
RECENT SCORES
{{ h.topic }}
{{ h.source==='history'?'💬 Chat':'📝 Topic' }} · {{ h.date }}
{{ h.score }}/{{ h.total }}
{{ currentQuiz.source==='history'?'💬':currentQuiz.source==='project'?'📁':'📝' }} {{ currentQuiz.label }}
Q {{ quizIdx+1 }}/{{ currentQuiz.questions.length }}
✓ {{ quizScore.correct }} ✗ {{ quizScore.wrong }}
{{ currentQuiz.questions[quizIdx].q }}
{{ quizSelected===currentQuiz.questions[quizIdx].correct?'✅ Correct!':'❌ Not quite.' }} {{ currentQuiz.questions[quizIdx].explanation }}

⚙️ Getting tip...
{{ tip.source==='random'?'🎲 RANDOM':tip.source==='chat'?'💬 FROM CHAT':'💡 '+(tip.lang||'TIP') }}
💡
Tips appear here — get language-specific, random, or chat-based tips!