Project
What Is a Project?
On DojoCode, a project is your own free-form coding workspace. Unlike a Challenge, which is a curated exercise with pre-defined tests, or a Contest, which is a timed competition, a project is fully owned by you. You decide what to build, how to organize the files, and when it is done.
Every project starts from a template (JavaScript, Python, Vue, React, HTML/CSS, Node.js, and more), which sets the language, the runtime, and the initial files. From there, you can add files, edit code, install dependencies (for supported templates), and run your code directly in the browser.
Working on a Project
The project editor gives you everything you need in one place:
- A file tree to create, rename, and organize files and folders.
- A code editor with syntax highlighting and a Run button to execute your main entry file.
- A preview panel for browser-based templates, so you can see changes live.
- Alex, your AI companion, with Understand mode (explanations) and Implement mode (code suggestions).
- Dependency management for templates that support external packages.
- A Secrets tab for storing API keys and other sensitive values as encrypted environment variables — see Project Secrets.
All of your projects live on the My Projects page, where you can create, edit, delete, search, and share them. Sharing uses a direct link in the form dojocode.io/project/{username}/{slug}. Anyone with the link can open the project in read-only view, while full editing controls stay with you, the author.
Publishing a Project
Publish (the cloud button in the toolbar below the editor) turns a project into a public website at its own *.dojocode.net address, made from the project name and your username, which anyone can open without a DojoCode account. DojoCode builds the project the same way the preview does and deploys it; the dialog follows the build from queued to live and shows its log.
- Static sites (React, Vue, Svelte, VanillaJS, React Native and the other browser templates) run entirely in the visitor's browser and can be published on the Free plan.
- Server apps (Next.js, NestJS, Fastify, Hono, Python with the API tester and the other server templates) publish as a live server and need Premium.
- Republish after you change the project. The history keeps every build, so you can roll back to an earlier one or unpublish at any time.
A project that uses secrets or a database can be published, and the Publish dialog warns you about what that exposes: on a static site every secret value is built into the page, where anyone can read it; on a server app the secrets stay on the server, but visitors use your keys and can write to your database. Read Secrets and publishing and Databases and publishing before you share the link. Projects that call the DojoCode AI SDK can be published too, but every generation your visitors start is charged to your AI tokens.
Project Limits per Subscription Tier
The number of projects you can own at the same time depends on your DojoCode plan. The limit is checked when you create a new project. Once you hit the cap, you will need to delete an existing project or upgrade before creating another.
| Plan | Project limit |
|---|---|
| Free | 5 projects |
| Premium | 100 projects |
| Business Regular | 300 projects |
| Business Pro | 500 projects |
Deleting a project frees a slot right away, and upgrading your plan raises the limit.
Forking a Project
Forking creates your own copy of any project on DojoCode, yours or someone else's, so you can change, extend, or study it without touching the original. From a project's view mode, click Fork and DojoCode will:
- Create a new project under your account, copying the template, files, description, and tags from the source.
- Generate a unique slug, appending a suffix (
-1,-2, …) if needed so the URL stays unique. - Link the fork back to its source with a "Forked from {username}/{slug}" label, and increment the source's fork counter.
- Redirect you to the editor for your new fork, ready to run and modify.
Forking is great for learning by tweaking a working example, building on someone else's idea, or snapshotting your own work before a risky refactor. A forked project counts toward your own project limit, so make sure you have a free slot before forking.