IoT at the grid edge by day, home lab architect by night. Based in Tampere, Finland.
I'm Charles Leerink. Skadi Labs is my personal R&D platform — the place where side projects live and occasionally become real things.
By day I'm Technical IoT Lead at Landis+Gyr, working on smart metering and the systems that keep the grid edge honest. Before that: eight years at Sonos, a stretch at Wirepas doing IoT mesh networking. The throughline has always been the same — bridging hardware, software, and the messy operational reality in between.
The projects here tend to rhyme. Local-first, because I'd rather own the database than rent access to mine. Simple and maintainable over clever and complex. Python and FastAPI as the default, because getting from idea to running service in an evening matters more than picking the most interesting tool.
Architecture decisions, implementation details, and things I figured out the hard way. Mostly about systems that run on hardware I own, AI that doesn't phone home, and the gap between how things are supposed to work and how they actually do.
Find more on my LinkedIn profile.
What I discovered by treating ChatGPT like a Linux system and exploring the containerized environment behind every conversation
Read article →
The bugs, fixes, and lessons from real-world testing of my self-hosted Sonos scrobbler.
Read article →
After three months of dogfooding, SpinStack is ready for a small group of testers. A self-hosted music analytics platform for Sonos users who want to own their listening data.
Read article →Side projects that started as a problem and refused to stay small. Some are in production. Some are in the container graveyard. These are the ones still running.
Self-hosted music tracking platform. Monitors Sonos devices, logs every track played, and manages vinyl collection — without sending anything to Last.fm.
Local AI agent architecture with a tiered approach to RAG — routing queries through layers of specificity before hitting vector search, because standard RAG gets noisy at scale.
Middle-earth themed home lab. Hardened jump server and bastion host, configured with Ansible. SSH hardening, Fail2ban, AIDE file integrity monitoring. Next up: full observability stack.
Scrapes Finnish property listing sites and alerts on new mökki matches. Built because manually refreshing listings felt like playing the stock market.
Countdown timer and instructions for downloading your data from the platforms that have it. Pure HTML, CSS, and JS — no frameworks, no trackers.
Compares IKEA product prices across Finland, Sweden, and the Netherlands with currency conversion. Rate limited, because IKEA's servers deserve respect too.
I take on a small amount of consulting work where my background is actually useful — critical infrastructure, IoT integrations, and local-first AI systems. If that sounds like your problem, get in touch.
Systems where failure has real consequences
I've built technical operations for high-trust environments — energy infrastructure, IoT deployments, carrier integrations. Not strategy decks: actual implementation of hardened processes, incident response frameworks, and resilience systems that hold up when things go wrong.
AI that runs on your hardware, not someone else's
I build AI systems that stay on your infrastructure. Local LLM deployment, vector search pipelines, and practical automation — for environments where sending sensitive data to a cloud API isn't an option.
Getting teams to actually use what you've built
I've delivered SDK coaching, API onboarding, and integration workshops across Europe, Asia, and North America — mostly for teams where hardware, software, and carrier operations meet and nobody fully understands the other side.
Email is best. If it's consulting-related, a sentence or two about the problem is more useful than a brief.
hello@skadilabs.dev