IoT & data pipelines
From physical sensor to working dashboard — collection, storage, visualisation, and alerting delivered as one coherent system. Built so the data is actually useful, not just logged.
AI agents · local LLMs · self-hosted Linux · dashboards.
Twenty years in the seam between software, systems, and security. I build the unglamorous middle: where field signals become databases become dashboards become alerts that wake someone at 02:00. End-to-end, on infrastructure you own. Built with AI coding agents; a person who runs the result answers for every change.
From physical sensor to working dashboard — collection, storage, visualisation, and alerting delivered as one coherent system. Built so the data is actually useful, not just logged.
Services on your own hardware — secured, backed up, monitored. No dependency on platforms that change price or policy on you.
Custom web interfaces that show exactly what matters — real-time or historical, from one source or many. Built around your workflow, not a template.
LLMs on your own hardware, wired into real workflows, and coding agents used with the guardrails that make them safe: evals, locks on shared resources, human ownership, observability. My own products — Spotscore and Turboscore — run local models as part of their analysis.
Trim-post app for a local sports club: catalogue, map, offline PWA and visit log.
→ 30 registered members, 164 logged visits in the first season (May–Oct 2026).
liveAI-powered Nordic used-car search with natural-language query and 1–100 scoring.
→ Every car scored 1–100 on twelve published components.
liveNorwegian property search with a transparent 0–10 score, public registry data and a local-LLM assistant.
→ Every listing scored 0–10 on seven published factors.
liveHandwritten planner pages to calendar and todos, via a local vision model.
→ Handwriting to calendar, every morning.
| # | name | one-liner | year |
|---|---|---|---|
| 05 | BLE Companion App | Mobile companion app for a Norwegian consumer appliance over Bluetooth Low Energy. Specifics under NDA. | 2023 |
| 06 | Crawler | Modular Python crawler for Norwegian classifieds — polite, diff-based, drives the search and scoring tools. | 2023 |
| 07 | Autoboss | Automated trading from email instructions. | 2024 |
| 08 | Cryptotrader | BTC and crypto strategy research: 147 candidates logged, none still standing. | 2025 |
| 09 | Aigen | Local AI generation pipelines (ACE-Step music, ComfyUI image). | 2025 |
| 10 | oswiki | Community wiki for a Norwegian village: 170+ pages, full-text search, version history, map and quiz. Research project. live | 2026 |
| 11 | Galappen | Offline music-player PWA built in two days on a young fan's request. 19 tracks, live since July 2026. live | 2026 |
147 BTC and crypto strategy candidates, none that survives a correction for all of them. How the ledger behind that count works, and why its conclusion is "not seen at this cost", not "no edge".
The verifier step got five changes in one afternoon, taken from what the field was arguing about that week. Testing and reviewing it found three defects the same day. Two models, same catch rate, zero false positives.
Faults in four places around Turboscore's local model, from the times it was added, changed or moved. None is a verdict on the model.
Solheim Solutions AS is a one-person consultancy out of Øvre Surnadal, Norway. Twenty-plus years at the intersection of software, systems, and security — Linux and open tooling as the spine of every project. Earlier work in defence and aerospace systems.
I work best on small, long-running engagements where I own a system from spec through deployment to operation — where the same person plans, builds, deploys, and watches the dashboards. The stack I deliver to clients is the stack I run myself.
Greenfield work builds on a stack I already operate. Development is done with AI coding agents (Claude Code), often several sessions at once against live systems; every change is owned by the person who runs the result and judged on behaviour: build, tests, evals that are proven able to fail, and what actually runs. Shared resources are claimed before use and released after, commits are staged by path, and health checks answer with a query instead of a stale claim. A month-long project becomes a week-long delivery, and the invoice follows it down. The strength is wiring the whole chain — data source, database, dashboard, alerting — as a single delivery from a single person.
Public examples, each built and run end-to-end by one person: ØSIL Trim · Turboscore · Spotscore .
Shortest path: email. I reply within one working day.