Skip to content
Back to work

02 — Case study

kern

Register any executable — a Minecraft server, a Discord bot, an API — and control its lifecycle from one place.

2026 · Tauri 2 · Rust · React · TypeScript · Vite

The problem

Running background services is a mess of terminal windows, half-remembered start commands, and no visibility into what's actually happening. Existing tools lock you to specific server types (just Minecraft, just Node) and have no real extensibility story.

What I built

kern is a desktop server manager that treats any executable as a first-class instance: register it once, then start, stop, monitor, and edit it from a single UI. The plugin system means kern can grow to support anything — a plugin is just a manifest plus optional JavaScript, distributed as a .kern package.

How

  • Tauri 2 + Rust process supervisor managing real OS processes with graceful shutdown.
  • Genuine plugin system: a plugin is a manifest plus optional ui.js, packaged as .kern.
  • Live terminal with ANSI streaming — see real stdout/stderr in real time.
  • Real-time CPU/RAM telemetry per instance, so you can see what's actually under load.
  • Built-in file editor with path-traversal protection — edit configs without leaving the app.
  • Deep-link file associations and a signed auto-updater.

Result

A plugin registry and marketing site at kern.aaenz.no turn kern from an app into a small ecosystem.

What I learned

Designing for extensibility from day one is expensive, but it changes the ceiling of what a tool can become. A plugin system means I never have to say "kern can't do that" — someone can just make it do that.

Stack

  • Tauri 2
  • Rust
  • React
  • TypeScript
  • Vite