01 / Index Oslo, Norway · 59.91°N 10.75°E ● On air

Broadcast engineer
turned software developer.

I build the software behind live television: production systems, tooling and full-stack apps that keep broadcasts on air. Currently a developer at NEP Norway.

WFM · LUMA 00:00:00:00
VSC · COLOR
02 About

From the gallery
to the codebase.

Based in Oslo, Norway. I work in software production for television broadcasts.

I have a background in production work and later moved into software, with expertise in full-stack development.

Based
Oslo, Norway
Role
Software Developer
Company
NEP Norway
Background
Broadcast → Software
03 Toolchain 15 modules loaded

Languages

  • TypeScript
  • Python
  • Go

Frameworks

  • Svelte / SvelteKit
  • React
  • WebRTC

Broadcast & live

  • Broadcast workflows
  • Live production systems
  • System integration

Infra & DevOps

  • Deployments & containers
  • CI/CD · GitHub Actions
  • AI workflows
04 Selected work 06 projects
Transcriber
P01 2026

Transcriber

Live Transcriber is a desktop app for real-time, multi-track audio transcription. It captures audio from multiple input devices/channels at once, streams each track to ElevenLabs Scribe v2 over WebSocket, and shows a live rolling transcript with session export, LTC timecode, webhooks, local sharing, and Bitfocus Companion integration.

ReactAIElectronPythonFastAPI
View case
Spillet audio player
P02 2025

Spillet audio player

A app built for NEP Norway to manage audio playback during a game show called Spillet. It features a location-based playlist system where operators can queue and play audio files with per-location routing and persistent volume state. Contestant status and a countdown timer are also tracked to support live production. The backend uses Prisma with SQLite, and the app runs as a standalone Node server. The entire system build in with Bitfocus Companion to ease the use for operators.

SvelteKitTypeScriptTailwindDaisyUIPrismaSQLiteNode.jsVite
View case
Weblogger.io v2.0
P03 2025

Weblogger.io v2.0

Weblogger is a cloud-based real-time logging platform built for television and live production workflows. It enables production teams to capture, organize, and share time-coded notes as events happen, keeping everyone aligned during fast-moving broadcasts. Designed for reliability and speed, Weblogger makes live logging accessible from anywhere without requiring local infrastructure.

SveltekitNode.jsMongoDBDockerGH CI/CD
View case
PlayerTracker
P04 2023

PlayerTracker

PlayerTracker is a SvelteKit web app for live event operations, combining real-time GPS tracking and multi-camera video. Field teams can share browser-based location and camera feeds, while operators monitor players on a Mapbox map with trails, markers, overlays, and LiveKit video. It also supports GPS-only participants, self-location, admin tools, and GPX export.

SvelteKitTypeScriptLivekitFirebase
View case
Weblogger.io v1.0
P05 2020

Weblogger.io v1.0

Same base product as Weblogger v2, but built on a different stack. Weblogger v2 was rebuilt to address the limitations of this stack, simplify the tooling, and redesign the user experience.

ReactPythonDjangoMongoDB
View case
DateClock
P06 2019

DateClock

DateClock is a real-time countdown clock dashboard built for NEP broadcast production. A Node.js/Express + Socket.io backend manages 6 named timers stored in a flat JSON file, pushing updates to all clients instantly so operators share a synchronized view. The Svelte frontend offers fullscreen, three-clock, and full-dashboard layouts for different control room screens. Clocks count down to a target timestamp, go red past expiry, and drift is corrected via periodic server time syncs.

SveltekitSocketIo
View case
05 Contact

Let’s get in touch.