Back to projects
Web application / IDE

Online Compiler

A browser IDE for editing, running and debugging code, with an interactive console and Arduino / ESP32 simulation.

TYPECommercial project
Online Compiler — project screenshot 1
01 / About the project

About the project

Online Compiler is a browser IDE with its own server-side execution engine. Programs run on the server and local Docker images rather than through Judge0 or Piston. Monaco Editor handles editing, while xterm.js and WebSocket provide a real-PTY interactive console.

Beyond text-based code, the environment includes Scratch 3, Blockly, examples, debugging and microcontroller simulation. Arduino Uno is emulated in the browser; ESP32 scenarios use QEMU. The supplied portfolio version describes 41 supported languages, debuggers for seven languages and a library of checked reference snippets.

02 / The challenge

The challenge

Unify editing, execution, console input and debugging in one browser environment with an independent execution engine.

03 / What we built

What we built

Monaco Editor, multiple files and a program-example library.

A real interactive terminal supporting stdin, Ctrl+C and Ctrl+D.

Custom code execution and Docker environments for programming languages.

Debuggers and automated checks of reference snippets.

Blockly, Scratch 3, a stage and sprites for visual programming.

Arduino/ESP32 simulation and environment CI checks.

04 / Technology stack

Technology stack

PythonDjangoPostgreSQLWebSocketMonaco Editorxterm.jsDocker

Architecture & technology roles

Python
Data processing, automation and server-side components.
Django
Server routes, data models and web-application logic.
PostgreSQL
Relational storage of connected data and transactional consistency.
WebSocket
Bidirectional event exchange without repeatedly polling the server.
Monaco Editor
Code editing inside the browser environment.
xterm.js
An interactive terminal interface in the browser.
Docker
Reproducible environments and container-based component startup.
05 / How it works

How it works

  1. Choose a language, example or block-based environment.
  2. Write a program and run it through the execution engine.
  3. Interact with the console or inspect execution in the debugger.
THE NEXT STEP

Have a challenge? Let’s solve it.

Tell us what you need. We’ll clarify the details and suggest the next step.

Discuss your project