[Community Project] Let's Build a CreatiCode Project Packager!
-
Turn projects into shareable apps—with help from the community AND the CreatiCode team!
Hey CreatiCoders!
Ever wished you could export your projects as standalone apps? Imagine:
One-click HTML files (runs in any browser, no install needed)
Desktop apps (EXE for Windows, APP for Mac, Linux support)
Mobile-friendly versions (for phones & tablets)
Right now, this doesn’t exist… but together, we can make it happen!
Why This Should Exist
A packager would:
Make sharing projects effortless (No more “Install CreatiCode first!”)
Work offline (Perfect for schools, events, or slow connections)
Bring CreatiCode to more people (Standalone apps = bigger audience!)
How This Can Work
This can be a collaboration between the community AND the CreatiCode team!Option 1: Community-Led (Open Source Effort)
If enough contributors step up, we can:
Build a wrapper (Electron, Emscripten, etc.)
Bundle assets & code into one file
️ Create an export UI inside CreatiCode
Option 2: CreatiCode Team Integrates It
If the official team likes this idea, they could:
Add native export support (faster & more reliable)
Optimize performance (better than a community hack)
Officially maintain it (long-term updates)
Who’s Needed?
Developers (JavaScript, WebAssembly, Electron)
Designers (UI/UX for the packager)
Testers (Try packaged apps on different devices)
Advocates (Convince the CreatiCode team this is worth doing!)
What You Can Do NOW
1️⃣ Reply below with:Your skills (coding, design, testing, etc.)
What export formats you want most (HTML? EXE? Mobile?)
If you’d help lead development
2️⃣ Upvote this post if you want this feature!
3️⃣ Tag CreatiCode devs if you know them! The more they see demand, the more likely they’ll help!
Let’s make this happen—either as a community project OR an official feature!
(P.S. If enough people join, we’ll start a GitHub/Discord to organize!)
@CreatiCodeTeam – Would you support this? Could this become an official feature?
-
@neurotex000-ed114c41 An issue is that creaticode is not open source, though it would be very easy to make an electron wrapper (I semi have experience with electron, but not much)
-
@info-creaticode Can contest that this probably wouldn’t be really allowed/wouldn’t have really support between the community and official team, though they might support it. Main issue I see is really the specified intent of creaticode as not open source, plus due to how easy it would be to make a simple node electron app theres probably no need for a massive team
-
@tyller_ @Neurotex000-ed114c41
Thank you for bringing this up.
We have considered this before. The main issue is that the new extensions, like 3D and AI, all rely on our server to work, so an “offline” version won’t do much.
If the goal is to generate a package to run a project online, such as embedding it in a webpage, then the “share link” tool already makes this possible.
We would like to hear more about whether this new packager would be really useful for CreatiCode. If there is a strong use case, we are open to working on it ourselves or with the community.
-
@info-creaticode
(I’ve written alot here for this suggestion, so even if you guys don’t implement this suggestion, I want you guys to at least add a donate button to your site so that people can give money to you guys without needing a subscription)Hypothetically, what bad could possibly arise from allowing people to download projects to play offline? If the concern is about the code being copied/stolen, then you could just obfuscate/minify it on your backend before sending out the file. Besides, anyone dedicated enough could probably reverse engineer the requests made from Creaticode.com (it’s been done before) and scrape any resources they need to make an offline CreatiCode project runner. It’d be more beneficial to do this if you don’t want anyone to break your TOS which disallows reverse engineering the code of the website or finding ways to hack the website, as hackers and script kiddies (like me, but im more ethical) would have no need to do that other than out of curiosity.
When making the change to allow people to run projects offline, some features can of course be watered-down or disabled, like Google Sheets as that requires using CreatiCode’s backend to send authenticated HTTP requests to Google, and others like Multiplayer blocks. But it would also be a really good oppourtunity to add features like WebSockets blocks, more advanced HTTP request sending blocks, blocks to read/write info from the OS (like the build number or filesystem), allowing custom extensions, etc. That way, more advanced users that still prefer block coding over regular coding could do a lot more stuff. And if they wanted Google Sheets then they could just pay for their own API key then plug it into any new special blocks you make for these new accomodations.
These new blocks/block categories im suggesting might not be suitable for current CreatiCode, as they might be able to crash the browser intentionally or even do bad things with more freedoms, and some may not be suitable for the browser, like interacting with the OS, but they would be suitable for a hypothetical new project playground that’s basically the exact same as the current one, but with new blocks and the ability to save as a .html or .exe/apple/linux (using Electron maybe, and could interact with the OS in ways the browser can’t). This would be so it can’t be shared/posted publicly like most projects are, so it’d be more private where only you can run the projects you make.
This has many pros, like making CreatiCode a programming language that could actually do anything, as anything that it couldn’t do could just be handled by extensions or using online APIs/services (ex: perhaps databases, as one can’t store so much data on their own device). This could also have more value in teaching children more advanced programming topics or life lessons, maybe even making math easier to learn. Ive seen many people find math easier to learn when explained in programming terms, especially algebra. This would also make it possible to distribute games that you make using CreatiCode on platforms like GitHub and itch.io and maybe even profit off of them.
I think that to do this, it would make sense first to allow projects to be downloaded as .html’s for offline use. Then in the future, making a dedicated editor or project setting: (like “Are you sure you’d like advanced mode? This disables project sharing and allows for making games downloadable and good for offline use. This option is permanent. The following extensions will be enabled: …”) would be a good idea. Later on, it might even be possible to offer downloading projects that are formatted for like the App Store. This would give CreatiCode a massive increase in users, since a lot of people want to do ambitious things like “create an app for the App Store” or “make a 3D game”, and when they try to actually get into the programming, they might struggle, then would turn to alternatives like “App Makers”. CreatiCode offering its service as partially that or that as a feature would be really neat and give more users.
-
There are already packagers like Turbowarp, which works well for generic Scratch projects. And since most of the new CreatiCode blocks don’t work offline, most likely this new packager won’t do much more compared to a Turbowarp packager, right?
So the question is whether it will be justified to dedicate manpower on this feature (as opposed to others) if it is not going to add much additional value.
-
@info-creaticode Well they don’t work offline because of the way they run on a webpage and aren’t compatible with Turbowarp due to their integration with the Scratch runtime itself which is not supported by Turbowarp, but at the same time, the resources for all that are sent to the client and cached. Some blocks like Multiplayer and AI won’t work of course, but my point is that regardless, I would be able to see what’s being fetched and just serve that to my own client and be able to create an offline project player from there. But this method I’m describing would be time consuming and it’d be not worth it. What I’m saying is that CreatiCode could just do this, and in an easier way, considering all that needs to be done is just put the whole project editor in there and only show the project running, which would be more productive than having users try to decompile CreatiCode’s source to take this matter into their own hands.
I’ve seen a few older threads here where people asked for exporting projects for offline (like .exe files), and I think it might be justified to add it but in small steps, like not creating a whole packager but starting to work on a feature to export projects as .html which would be in the file dropdown of your project. Starting like this would now:
- allow people to use and edit CreatiCode projects offline
- somewhat reduce the number of GET requests sent to CreatiCode, which would put less strain on your servers, (and cost less money for web hosting probably) , for example, maybe some people just go here to play projects, but just specific projects. Then they could download their favorite projects and play them on their device without needing to go to CreatiCode.com . Kinda like what TurboWarp does which reduces the need for people to go to Scratch.mit.edu. Scratch itself also offers desktop clients which have a similar benefit of saving a bit of money as well as giving the users a convenient preference.
- (in the future) Allow for projects that run as an executable (.exe, .ipa, .apk) and can interact with the OS and do things like run in the background and send notifications and use bluetooth, as they would have less restrictions than the typical web browser.
I’d say this would add a lot of value to CreatiCode, and let people be able to have more freedom with their creations.
-
@jeffreyrb03-gmail this would make creaticode more of a base template, though ig all the new blocks would be offic al, it would be very similar to turborwarp but with more verification on new blocks, also there are (likely) some features that couldn’t run in a html file, though with exe’s you can use electron preload to effectively simulate a server (I made a small script for testing on vscode.dev via remote tunnels that mimicked electron handlers)