§ masterplan.md
Browser Terminal OS
A dark-premium fake operating system inside the browser with commands, file explorer and a mini text editor.
01
App overview and objectives
A browser workspace that behaves like a small operating system: a file tree, a code editor, a real shell-like command interface and window management, all persisted in the browser. It is a playground for people who think in commands.
02
The problem worth solving
Cloud IDEs are heavy and require accounts and servers. A local-first, instant environment is ideal for teaching, quick experiments and portfolio demos where a whole VM is absurd.
03
Target audience
- Primary — Developers and students who want a scratch environment in one tab.
- Secondary — Educators demonstrating command-line concepts without provisioning machines.
04
Roles and permissions
- Visitor — read-only public pages, can sign up.
- Member — owns their own records, cannot see other users' data.
05
Core features
- Virtual filesystem persisted locally with import and export
- Command interface with a documented built-in command set and piping
- Code editor with syntax highlighting and multiple tabs
- Window manager with tiling and keyboard shortcuts
- Runnable JavaScript sandbox with output console
- Shareable workspace snapshots as a single file
Deliberately later
- Optional remote compute for other languages
- Collaborative sessions
- Plugin API for new commands
06
Technical stack
React shell, IndexedDB-backed virtual filesystem, web workers for execution, an existing editor component.
Why: Everything runs client-side, so there is no per-user server cost and the workspace opens instantly, even offline.
Alternatives: Container-backed cloud IDE (real toolchains, expensive per user) or WASM-based runtimes (broader language support, big downloads).
07
Conceptual data model
Workspace — name, filesystem tree, settings, updated_at
FileNode — path, type, content, size, modified
Command — name, help text, handler id, permissions
Session — open windows, layout, history
Snapshot — exported workspace blob, share id
08
Integrations
- Local persistence layer
- Optional cloud sync
- Editor and syntax libraries
09
UI design principles
- Deep neutral background, one saturated accent, thin borders instead of heavy cards.
- Monospace for data and code; tight, technical spacing.
- Subtle glow and gradient only where you want the eye to land.
10
Security considerations
- User code runs in workers with no access to the host page or storage outside the virtual filesystem.
- Imported workspaces are validated and executed only on explicit user action.
- No network access from the sandbox unless the user enables it per session.
11
Development phases
Phase 1 — Prove the core
- — Virtual filesystem persisted locally with import and export
- — Command interface with a documented built-in command set and piping
- — Code editor with syntax highlighting and multiple tabs
- — Static content and design system in place
- — Basic analytics
Phase 2 — Make it real
- — Window manager with tiling and keyboard shortcuts
- — Runnable JavaScript sandbox with output console
- — Shareable workspace snapshots as a single file
- — Accounts, sign-in and password reset
- — Empty, loading and error states everywhere
Phase 3 — Polish and launch
- — Performance, accessibility and SEO pass
- — Legal pages, contact route and 404 handling
- — Wire up: Local persistence layer
- — Wire up: Optional cloud sync
Phase 4 — Grow
- — Optional remote compute for other languages
- — Collaborative sessions
- — Plugin API for new commands
12
Challenges and solutions
Risk — Users expect a real shell
Solution — Be explicit in the docs and error messages about what is emulated, and support the twenty commands people actually use.
Risk — Data loss from cleared browser storage
Solution — Automatic export reminders and one-click backup to a file.
Risk — Bundle size
Solution — Lazy-load the editor, language grammars and each command module on first use.
13
Future expansion
- Teaching courseware built on the workspace
- Remote execution tier
- Team template workspaces
14
Page list (13 pages)
- 01 PUBLIC Desktop — The workspace shell and window manager.
- 02 PUBLIC Files — Virtual filesystem browser with import/export.
- 03 PUBLIC Editor — Multi-tab code editing.
- 04 PUBLIC Terminal — Command interface and history.
- 05 APP (signed in) Settings — Theme, keybindings, storage management.
- 06 AUTH Sign up — Create an account with email or a social provider.
- 07 AUTH Log in — Return to the account, with error and lockout states.
- 08 AUTH Reset password — Request a reset link and set a new password.
- 09 APP (signed in) Account settings — Profile, email, password, language and delete account.
- 10 PUBLIC Contact — Contact form plus real address, phone and email.
- 11 LEGAL & SYSTEM Privacy policy — What data is collected, why, and how to remove it.
- 12 LEGAL & SYSTEM Terms of service — Rules of use, liability and account termination.
- 13 LEGAL & SYSTEM 404 not found — Friendly dead end with search and links back.
15
Page map
PUBLIC AUTH APP (signed in) LEGAL & SYSTEM ─────────── ───────────────── ─────────────────── ─────────────────── ├─ Desktop ├─ Sign up ├─ Settings ├─ Privacy policy ├─ Files ├─ Log in └─ Account settings ├─ Terms of service ├─ Editor └─ Reset password └─ 404 not found ├─ Terminal └─ Contact key flows: Desktop ──▶ Files Desktop ──▶ Editor Desktop ──▶ Terminal Terminal ──▶ Files Settings ──▶ Desktop
