Studio — write code, open the pull request, get graded on it
The in-platform editor: draft files, commit them to your own GitHub repository, and get the grade posted onto the pull request. A GitHub account is optional.
- Do a real exercise with no setup — no Node, no ports, no localhost
- Your work stays yours: repositories are generated into your own GitHub account, not ours
- A GitHub account is optional — browser-tier exercises run and grade without one
- Edits are drafts until you press Commit, so nothing becomes public history by accident
- Every commit is guarded against overwriting work that changed while you were reading
One branch, one exercise, one pull request
Studio is where you write the code. It shows a workspace per exercise — the repository, the branch, the last grade and when you last touched it — and the mapping between them is visible rather than something you have to infer.
A GitHub account is optional
This is the part worth reading twice. Sign-in is by email; GitHub is an integration you choose later, from the connections page, after reading exactly what it can and cannot do. Without it you can still read lessons, run browser-tier exercises, submit work, file tickets and take exams. Nothing here is a wall.
When you do connect, you pick the repositories. The consent screen is GitHub's own, the selection is per-repository, and the connections page lists what was granted in plain words alongside what was not — for example, nothing can add or change a workflow file, and nothing can delete a repository.
Drafts are not commits
Type, and two seconds later the file is stored as a draft. Drafts belong to you and to this branch; they never reach GitHub on their own. This is the single biggest difference from editors that sync every keystroke into public history — committing stays a deliberate act, because it is one worth learning.
Reset to last commit throws the drafts away and leaves everything that was ever committed untouched. It cannot destroy history.
The Commit X-Ray
Before anything is sent, you get a page that says precisely what your click is about to do: every file, whether it is an add, an update or a deletion, how many bytes change, the commit the write is guarded against, and — per file — whether this exercise opens that path for writing.
Two checks then run on the server, not in your browser, and both can refuse:
- The path list. An exercise opens specific paths. Files that let a repository run code on its own stay closed unless the exercise names one by name.
- The credential scan. If something looks like a key or a password, the commit is blocked, the line is shown, and the fix is explained. Rotate first, remove second.
The guard
Every commit carries the commit id it expected to find. If the branch moved while you were reading — someone else pushed, or you pushed from a laptop — the write is refused rather than applied, and you are shown your version beside theirs with three choices: keep mine, keep theirs, or keep both. You will never be handed a file with <<<<<<< in it.
What a grade does and does not say
A grade says the tests the exercise defines passed against the code at that commit. It is not a statement about you, and a commit records that this account made a change — not that you personally typed it.
The journey, step by step
| Step | What you do | What you get |
|---|---|---|
| Open Studio | Go to Studio and pick an exercise | A workspace card appears, showing the repository, the branch and your last grade |
| Edit | Change a file in the editor | It autosaves as a draft after two seconds — saved to the platform, not to GitHub |
| Check before you send | Open the Commit X-Ray | Every file, the byte change, the guard, and whether each path is open for writing |
| Commit | Press Commit | One commit lands on your branch, signed and attributed, or the write is refused with a reason |
| Get graded | Open a pull request | The grade is posted onto the pull request as a check, test by test |
Frequently asked
Do I need a GitHub account?
No. Browser-tier exercises run entirely in your tab and grade without any account. A GitHub connection is an optional integration you choose later, and no part of the platform requires one to sign in.
Does saving publish my work?
No, and this is deliberate. Autosave is not autocommit. Your edits live as drafts on the platform until you press Commit, which is a separate, taught act.
Who owns the repository?
You do. Exercises generate a repository from a template into your own GitHub namespace — an independent repository with no upstream link, which is yours to keep and to show.
What happens if the branch changed while I was working?
The commit is refused rather than overwriting it. You are shown your version beside the one on GitHub and asked to keep yours, keep theirs, or keep both — never a file full of conflict markers.
What can Studio write to?
Only the paths the exercise opens for writing. Files that can make a repository run code on its own — workflow files, package scripts, Dockerfiles, git hooks — stay closed unless an exercise names one explicitly, and the server refuses them regardless of who is asking.
What if I commit a password by mistake?
The write is blocked and the line is shown to you. Rotate the credential first, then remove it — deleting it from a file does not un-share anything already pushed.
How do I disconnect?
The connections page has a Disconnect button, and revoking access from your GitHub settings has the same effect. Your repositories and every commit you made stay exactly as they are.
Related guides
How the in-browser runner and tests work.
ReadThe rungs between finishing a lesson and doing work somebody else accepted: challenges, open-source contributions and bounties.
ReadBuild a real system, submit it for mentor review, and publish it to your public portfolio.
Read