Welcome to CodeQuest

Small code problems to pick at, one account and one XP total, on the web or in Discord.

PracticeSix games made out of real code — find the bug, guess the output, put the lines back in order. Courses too, if you want them.
CodeTypeA typing test where every line is real code.
Keep your progressYou can start right now as a guest, but guest progress lives only in this browser. Sign in to make it permanent — with Discord if you want the bot too.
Get started

By using CodeQuest you agree to our terms and privacy policy.

CodeQuest

Code problems,
for the fun of it.

Six small games made out of real code — find the bug, guess what it prints, put the lines back in order, beat the clock. A new question every day, a bigger one every week, and a typing test where every line is real. It all feeds one XP total, and the same games run in your Discord. Courses are in there too, if you want the ground underneath.

Get started

Free forever · Sign up with Discord, Google or GitHub to keep your progress · Guests can look around, but nothing is saved

0 WPM

        
        
click and start typing
0
Learning items
0
Typing snippets
0
Quiz questions
0
Code challenges
0
Course lessons
0
Subjects
0
Submit languages

How it works

Type real code, work through courses, answer quizzes, and submit programs that actually compile and run — every one of them earning XP across 100 levels and ten ranks, with daily streaks, a question a day, a weekly challenge, and a leaderboard for each server you play in.

CodeType — the flagship

A fast-paced typing test where every line is real code. Live WPM, LPM, and accuracy as you type Python, JavaScript, Java, C++, C, HTML or CSS — pure muscle memory, no multiple choice.

Guided courses

Tracks that take you from zero to writing real programs — one idea per lesson, a worked example, then code you write yourself. Python and JavaScript, with more coming.

Quizzes & tests

Multiple-choice questions in Python, JavaScript, Java, C, or C++ — from beginner syntax to closures and the event loop. Take a single question, or a five-question timed test on one topic.

Real code challenges

Write actual programs and submit them. Your code runs in a secure sandbox and the output is checked against the expected answer — in any of seven languages.

XP, ranks & streaks

Every correct answer earns XP across 100 levels and ten ranks, from Initiate to Immortal. Daily streaks and per-server leaderboards keep the competition going.

Daily & weekly

A new question every day at double XP, and a weekly challenge worth 10,000 XP. Both cycle through the entire pool before anything repeats.

Your server, your board

Each server gets its own leaderboard, so you compete with the people you actually know — not strangers from across the internet.

Private by design

CodeQuest can't read your messages — it uses slash commands only and requests no message access at all. It stores your progress, nothing more.

Try it the way your server would

This is CodeQuest's real layout, running on canned data right here in the page. Run a command, answer the question, submit a solution — it behaves the same in any server that has the bot.

# coding-practice preview
Pick a command below to see what the bot does.
+ /
Add CodeQuest to your server Free · about ten seconds · you'll need Manage Server on that server

Commands

Everything is a slash command. Nothing to configure.

/quizAnswer a question — pick a language and difficulty
/testFive-question timed test on a topic
/challengeWrite and submit real code
/dailyquizOne question a day at double XP
/weeklychallengeWeekly challenge worth 10,000 XP
/hintA nudge when you're stuck
/rankYour rank, level, streak and accuracy
/leaderboardTop players in your server
/setupPost the welcome guide (admins)

Lessons you finish by writing code

One idea per lesson: a short explanation, a worked example, then something you write yourself. It runs for real and the output is checked.

Python Fundamentals · Lesson 3 of 10

Variables

A variable gives a value a name so you can use it again. Assign with = — no keyword needed.

Your turn

Using name = "Ada", print: Hello, Ada

12
name = "Ada"
print(f"Hello, {name}")
Correct. +200 XP

Write code in seven languages

Submit a challenge solution in whichever language you're learning.

PythonJavaScriptJava C++CRubyGo

Start in about ten seconds

No account needed to try it. Sign in when you want your progress kept.

Start learning free Add it to your Discord server