Jonatan
Jonasson
Systems engineer, market researcher & developer.
Hey, I'm Notes
- from a love of music and note-taking. In Neovim, obviously.
I'm Jonatan, a DevOps, software, and systems engineer based in Stockholm, working remotely to Zurich. I started messing around with computers as a kid and investing at 13, and both of those things kept escalating: tinkering with PCs turned into building infrastructure, and buying stocks turned into wanting to understand how markets actually work. Engineering is most of what I do day-to-day, with AI/tech and energy market research filling out the rest. In my free time I build open-source projects in Rust and TypeScript.

Voice-to-text dictation for Linux - like Wispr Flow, but local-first
Press a hotkey, speak, and the transcription gets pasted wherever your cursor is. Runs Whisper.cpp on-device so nothing leaves your machine. An LLM rewrite pipeline cleans up the raw dictation, and an OSD overlay shows audio visualization while you talk. Optional cloud backends and CUDA acceleration.

Local Linux TTS daemon built on Qwen3-TTS
Local Linux TTS daemon plus Speech Dispatcher bridge built on Qwen3-TTS. Runs as a persistent daemon over a Unix socket - anything using spd-say gets routed through it for system-wide TTS from one local model. Optional CUDA acceleration, HTTP server mode, and voice cloning from reference audio.

Agent-first terminal workspace app
Terminal workspace app with a Niri-like tiling model - workspaces are scrollable canvases of top-level windows, each with their own split tree, instead of one monolithic layout. Per-agent status lives in the workspace strip and attention-worthy transitions get routed to a dedicated sidebar. Uses libghostty as the terminal backend.

Proxmox VE + Talos Linux cluster lifecycle CLI
Cluster validation, bootstrap, upgrades, and status reporting for Talos on Proxmox VE from one tool. The repo now also carries a fast terminal dashboard for cluster, storage, backup, and performance views using the same PVT config.
Screenshot: live cluster view from the integrated TUI.

Wynncraft territory map with live resource data
Wynncraft guild territory map, fully in Rust - server, client, and shared types. The client compiles to WASM and renders with wgpu over WebGL. Axum and PostgreSQL on the backend, deployed on Kubernetes with a separate ingest service pulling live territory data.

Interactive dynamical systems explorer in the browser
Real-time ODE solver and visualization platform compiled to WebAssembly. Explore chaotic attractors, run N-body simulations with GPU acceleration, and visualize trajectory fields - all in the browser with WebGL2 rendering. Includes swarm modes, heatmap overlays, and URL-shareable simulation states.

Terminal UI for PrismLauncher
Ratatui terminal interface for PrismLauncher - browse and launch Minecraft instances, manage servers with join-on-launch, switch accounts, and read logs. Vim-style j/k navigation and incremental search.

Wayland OCR text extraction tool
Screen capture, OCR, and clipboard in one shot for Wayland. Freezes the screen, select a region with slurp, runs Tesseract on it, and copies the extracted text. Region, window, and full-screen modes with multi-language support. Works on Hyprland and Niri.