Warsha — Browser-Only IDE

A students' IDE that compiles and runs Java, Python, C#, C and full web projects entirely inside the browser — no install, no account, no server.

Check the gallery
Date:

Jul 2026 - Present

Categories:
Web DevelopmentWebAssemblyDeveloper ToolsEducationOpen Source
Technologies:
  • TypeScript
  • WebAssembly
  • OPFS
  • Web Workers
  • CodeMirror
  • Vite
  • Docker

Warsha — Browser-Only IDE

Warsha (workshop) turns any supported browser into a real programming environment for Java, Python, C#, C and the Web — HTML, CSS, JavaScript, TypeScript, React, Vue and Svelte. You open a URL and start writing code. Every toolchain is downloaded once and then compiles and runs on your own device. Nothing you write is ever uploaded.

Project Challenge

Programming education assumes every student owns a laptop they can install a JDK or a compiler toolchain on. Many don’t — they have a phone, a shared tablet, or a school computer locked down against installs. The usual fallback, a cloud IDE, demands an account, an email address, a container queue and a live internet connection for every keystroke.

Warsha targets exactly that student. An Android phone is enough to compile a Java class and see the output.

Solution

  • Five languages, all on-device. Java 17, Python 3.14, .NET 9 with Roslyn, C with clang 16, and a full web stack — each running as a WebAssembly toolchain inside the browser, with more languages on the roadmap.
  • A real editor. Syntax highlighting, search, indent guides and completion for every supported language, including the snippet abbreviations students already watch teachers type — sout, psvm, fori — plus a hand-written dictionary of the API names from the first weeks of a course, each with a plain-English description.
  • A console that behaves like a terminal. Partial writes appear immediately, so a print("Name: ") prompt shows before the newline that never comes. What you type lands on the same line as the prompt, output auto-scrolls with a jump-to-bottom pill, and a runaway loop can be killed.
  • Live preview for web projects. TypeScript, cross-file imports, React, Vue and Svelte are bundled on-device and rendered in a sandboxed iframe beside the console.
  • Multi-project storage. Each project is its own tree in the browser’s private file system, with a project switcher and zip import/export so work moves between devices without an account.
  • Your code never leaves the device. No backend, no account, no sign-in. Anonymous visit counts are the only thing measured — your files, keystrokes and output stay in the browser.

Technical Implementation

A TypeScript single-page application that orchestrates several WebAssembly toolchains from Web Workers, keeping compilation off the UI thread so the editor stays responsive while a JDK is compiling. Projects persist to the Origin Private File System, and each language engine is fetched once and cached, which is what makes a phone on a slow school network a viable target.

Java, Python and C# each have a Chrome-driven automated QA suite. Released under Apache-2.0 and deployed on Coolify.

© 2025, All Rights Reserved.