02 / System-first

2025 · Complete

OS-Structured File Explorer

Desktop file explorer and disk-usage visualizer built as a live demonstration of core OS concepts. Every architectural decision maps to a real OS mechanism.

SystemsDesktopElectronOS
  • 01

    3-process model: privileged main, sandboxed renderer, worker

  • 02

    Whitelisted IPC as a syscall analogue

  • 03

    Journaled two-phase trash

  • 04

    Unix permission-bit checks before every file op

The brief

OS concepts (process isolation, IPC, journaling, scheduling, protection rings) are usually learned from a textbook, not from a real running application. Most student systems projects demonstrate one concept in isolation; few build a complete, usable desktop app where every subsystem maps back to a specific OS mechanism.

The outcome

  1. 01Full multi-process architecture (main/renderer/worker) with zero shared memory, data crosses process boundaries only via serialized IPC
  2. 02Journaled trash: every delete is recorded to a manifest before the file moves, recoverable on a mid-operation crash
  3. 03Worker-thread disk scanning keeps the UI responsive during large directory scans, verified against main-thread scanning freezing the UI

The build

An Electron desktop app structured like an OS: a main process (kernel-equivalent, owns all file-system access), a sandboxed renderer (user-space, no direct Node/fs access), and a worker thread for disk scanning (kernel thread model), communicating only through a whitelisted IPC layer that mirrors a syscall interface.

File deletion is a journaled two-phase soft-delete, like filesystem journaling. Directory watching uses native kernel event notification (kqueue/inotify). Every operation checks Unix-style permission bits before executing. No AI layer, this is systems engineering.

Specs

Platform
Desktop (macOS-first, Electron)
Architecture
3-process model: main (privileged), renderer (sandboxed), worker (background scan)
IPC
Whitelisted contextBridge API, request-response + event-based patterns
Security
Context isolation, sandboxed renderer, Unix permission-bit checks before every file op

Stack

Runtime
Electron 33Node.js
Frontend
React 18TypeScriptTailwind CSSZustand
Visualization
@nivo/sunburst
Build
Viteelectron-builder

Building something in this layer?

Start an inquiry

More System-first

All System-first