Kimmo Saari

full stack developer · Reaktor
Focus
TS (TypeScript) · DX (Developer Experience) · React · DevOps (Development + Operations)
Experience
19 years · since 2007

Full-stack developer based in Tampere. TypeScript, React, Node — with Unix-like systems humming underneath and a CI pipeline that actually passes.

01 Selected projects

2026 · 4 projects
Active
Cross-platform streaming control hub built with Tauri 2 + Rust and React. Drives multiple OBS (Open Broadcaster Software) instances and Twitch accounts, bridges Spotify, Discord and Home Assistant, serves browser-source overlays, and wires everything together with an event → action rules engine. Mostly written by Claude, with me as product owner and architect.
Active
This site. A static portfolio built with Next.js SSG (Static Site Generation), Keystatic as a file-based CMS (Content Management System), and an AI (Artificial Intelligence)-assisted QA (Quality Assurance) pipeline covering visual review across viewports/themes plus Lighthouse and a11y (Accessibility) audits.
Active
Tauri 2 desktop app that sets your Slack status across multiple workspaces based on where you are — Wi-Fi network, Ethernet, Google Calendar events, or a manual override — resolved through a per-workspace, reorderable priority ladder. Rust core, thin React webview, scriptable via a local-only wru CLI (Command-Line Interface). Shares Switchboard's agentic setup — Claude doing most of the writing, me as product owner and architect.
Maintained
Bridges Electrolux appliances from their public API (Application Programming Interface) to your own MQTT (Message Queuing Telemetry Transport) broker, with zeroconf auto-discovery into Home Assistant — so you can build fine-grained automations like keeping the indoor temperature below a threshold while you're away.

02 Latest writing

2026-08-22Coding

Where R You?

A handful of Slack workspaces, all showing whatever status I last bothered to type. So I built a Tauri app that watches the network and the calendar and sets it for me, per workspace — with Claude writing the Rust resolver, and me finding out which of Switchboard's old scars were worth reopening.

READ
2026-08-22Coding

Albumize

I listen to albums, Spotify recommends tracks. Albumize expands playlists into full albums on a schedule — and taught me more than I expected about idempotency, ISO (International Organization for Standardization) week numbers, and why unattended automation is where the real bugs live.

READ
2026-08-22Smart Home

Electrolux-to-MQTT

The full story of my Electrolux → MQTT (Message Queuing Telemetry Transport) → Home Assistant bridge: a reverse-engineered login flow, an API (Application Programming Interface) that caches stale state and takes 15 seconds to fail, a climate entity stuck on "Unavailable", and the debugging sessions behind all of it.

READ