Home/Projects/CosmicCode

TypeScript · 2026 · VS Code · Pop!_OS

CosmicCode

A robot coding buddy that trades code for Roblox time. An offline VS Code extension for kids. A robot buddy called Byte gives friendly error hints, awards XP for real working programs, and turns that XP into coins you can spend on minutes of Roblox. Parents can lock it behind a password.

10 minfree playtime a day
2 XPper real script you run
10 XPmints 1 coin
40 mindaily hard cap

What it does

A buddy called Byte.

01

Friendly error hints

"Hmmm, I think you missed a parenthesis on line 22!" Hints come from VS Code diagnostics for every language, plus a built-in Python checker.

02

XP for real programs

Hello World does not count. You earn XP for working programs with some complexity.

03

Quests

Challenges like Make a Calculator or Say Hello are detected automatically from your program's output.

04

Coins become playtime

XP mints coins, and coins buy minutes of Roblox through the Sober launcher on Pop!_OS.

05

Parent controls

An optional password gate on the Add XP button. It is a kid-gate, and the README says so honestly.

06

Fully offline

No API and no internet. Byte knows syntax patterns and cheers you on locally.

The economy

Code first. Then Roblox.

Every real script you run earns XP. XP mints coins, and coins buy minutes on top of the free daily time, up to a hard cap. All of it is configurable in Settings.

0XP
0Coins
0Minutes today

How the two halves talk

The VS Code extension and a small Linux launcher share one JSON file. The extension writes XP and coins; the launcher reads the balance and counts down your minutes.

VS Code extension  ──writes──▶  ~/.cosmiccode/state.json
                                        ▲
linux/sober-locked.sh  ──reads/writes──┘
(time-locked Roblox launcher on Pop!_OS)

Commands

CommandWhat it does
Run & CheckRun the current file, award XP, check quests. Ctrl+Alt+R.
Show QuestsList quests and your progress
Buddy StatusByte tells you your XP, coins and minutes
Trade CoinsSpend coins on playtime
Parent: Add XPPassword-gated bonus XP