Codio
A web app that can run multiple languages (Python, Golang, C++ for now)
Demo
Demo.mov
Technologies Used
- SvelteKit
- Golang
- TypeScript
- Docker
How it Works
- The backend recieves the code and one of the supported languages.
- It writes the code to a temporary file, which is then mounted on a Docker container
- Depending on the language, the appropriate container runs and executes the code in the file
- If the code times out, then it stops the container and removes it
- Otherwise, send the output via a Go channel and remove the container
How to Run It Locally
- Build the docker images in
/languagesand tag them as[language_name]_runner - Set environment variables in
/frontendand/backend - Make sure the Docker daemon is running
- Run the backend with
go run main.go - Run the frontend with
yarn run dev
Security Considerations
The website is not fully tested. The only security precaution I have taken is to not let the containers run for a long period of time to prevent crypto-mining.
I also don't really plan to make it public (unless you are a recruiter ;) then you have access to it).
On this page
Languages
Go44.1%TypeScript21.9%Svelte17.2%JavaScript10.1%HTML3.6%Dockerfile2.2%CSS1.0%
Contributors
MIT License
Created May 23, 2025
Updated June 14, 2025