CodeRiot is a beginner-friendly, VS Code-inspired desktop app for coding practice with AI-generated problems, a Monaco editor, and hybrid solution checking.
- AI problem generation with language, level, topics, and difficulty presets
- Monaco editor workspace
- Hybrid checking: local rules + AI verdict
- Profiles with autosave + JSON import/export
- Theme switcher and compact mode
- Node.js 18+ (recommended 20+)
- Windows (tested), macOS/Linux should work with Electron
cd d:\Learning project\app
npm install
npm run startRun the local backend so your API key stays off the desktop client.
cd d:\Learning project\server
npm install
copy .env.example .env
# edit .env with your OpenAI API key
npm run startIn the app sidebar:
- Set
Backend URLtohttp://localhost:8787 - Keep
Use Backendenabled
If you do not use the backend, you can enter an API key directly in the app sidebar. This is less secure because the key lives in the desktop client.
- Select a language and level.
- Optionally pick difficulty and topics.
- Click
Generate Problem. - Write your solution in the editor.
- Click
Check Solutionto see:- Local checklist results
- AI verdict (if enabled)
- Create multiple profiles from the sidebar.
- Each profile saves its own progress automatically.
Upload JSONrestores a previous session into the current profile.Download JSONexports your current session to a file.
- HTML/CSS checks use tags/attributes and inferred rules.
- JavaScript can use a test script that returns an array of
{ name, pass, message }. - Python uses keyword checks and AI verdict for semantics.
app/ # Electron desktop app (UI)
server/ # Local backend for OpenAI calls
assets/ # Repo assets (screenshots, etc.)
See CONTRIBUTING.md for setup and contribution guidelines.
app/package.json-> bumpversionserver/package.json-> bumpversion(if needed)
cd d:\Learning project\app
npm install
npm run startIf you want distributable installers, add a builder:
cd d:\Learning project\app
npm install --save-dev electron-builderAdd to app/package.json:
{
"scripts": {
"dist": "electron-builder"
}
}Then build:
npm run distArtifacts will appear in app/dist/.
git tag v0.1.0
git push origin v0.1.0- Keep your OpenAI API key in the backend
.env.
MIT - see LICENSE.
Why is the AI verdict missing?
Make sure your backend is running and Use Backend is enabled, or enter a valid API key + model.
Can I use this without the backend?
Yes, but it is less secure because the API key is stored in the desktop client.
What models work best?
Use a model that supports structured outputs for reliable JSON verdicts.
