Projects
Apps, games, websites and open-source tools I've designed, built and shipped.
Browse by tag
iOS11Games9Web7Productivity6Cloudflare4C#4Design4Docker4dotnet-script4GameDev4Svelte4.Net3Jekyll3JavaScript3HTML2iPadOS2Learning2macOS2Testing2AI1Analytics1ASP.Net Core1Astro1Blogging1C++1CSS1GitHub Pages1Health1Navnedag1Privacy1Python1Stoic Focus1Swift1SwiftUI1Visual Studio Code1Workflow1Xamarin1Xamarin Forms1

Pantelapp - hold orden på pant
Skann, lagre og bruk i kassen
A Norwegian app that keeps bottle deposit slips safe on your phone. Scan a slip and the barcode, amount, and store are read for you, ready to show at checkout, add to Apple Wallet, or share with whoever is doing the shopping.

Scratch a Saying
Daily inspiration to share
Scratch away the foil to reveal one of more than 2,600 sayings. Save favorites, choose which categories go into the deck, and share each saying as a clean image card.

Olsen - Crazy Eights Card Game
Cozy Norwegian offline classic
A Norwegian card game in the crazy eights family, with AI opponents that have real personality. Play with one hand, no wifi needed. The same game on every screen.

ISBN Book Scanner & Library
Catalog & track your reading
Scan a book's barcode and it lands in your library. Track what you read, set a yearly reading goal, export to Goodreads, and buy on Apple Books, Amazon or Bookshop.org.

SinceTag: Release Dashboard
Track unshipped work in git
A release dashboard for local git repositories. See what changed since the latest tag, put Next and Launch tasks in order, and keep release follow-up visible.

Stoic Focus: Daily Quotes
Notifications and favorites
A daily Stoic companion with over 450 quotes from 12 sources, daily notifications, favourites, and browsing by philosopher and source work.
Simplest Workout Tracker
Calm log, reads Apple Health
A calm exercise log. Tap the day, note what you did, and watch the streaks build toward a yearly goal. Workouts from Apple Health and your Apple Watch can show up on their own.

Golden Ratio Calculator Pro
Aspect Ratio for Layouts
Know one side of a rectangle and want the other without doing the math? Type a width or height, pick from 12 ratios or save your own, and get the value right away. Or enter both sides to detect the ratio.

Birthday Reminder++ Calendar
Countdown & ages from contacts
Birthdays straight from your contacts: today's celebrations on top, everyone else sorted by days left, with ages and countdowns at a glance.

Name Days Norway & Calendar
Daily tradition & countdowns
A Norwegian app for the old tradition of name days. Today's names first, the whole year to search, and a list of when your contacts celebrate theirs.


Norske barneleker →
A Norwegian activity bank for children aged 2 to 12, with step-by-step games and activities filterable by age, place, time and equipment, for parents, kindergartens and after-school clubs. Built with Astro.
Norske kortspill →
A Norwegian catalogue of known and lesser-known card games. Read the rules, and play the best ones right in the browser or with a companion app. Built with Svelte.
Norske terningspill →
A Norwegian catalogue of dice games with simple, clear rules for games you can play with ordinary six-sided dice, filterable by players, length and age. Built with SvelteKit.
Norske eventyr →
A digital collection of classic Norwegian folk tales by Asbjørnsen and Moe, organised in thematic collections and presented with inspiration from traditional folk art. Built with SvelteKit.
Nordic Card Games →
An English-language catalogue of traditional Nordic card games, with simple rules for classics like Cucumber, Hearts and Amerikaner, filterable by players, length and age. Built with SvelteKit.
Eurovision Song Contest Drinking Game
A celebration of cliché: a small drink for every Eurovision cliché, a large one each time a cliché is broken. The rules for an unforgettable evening.
Pappaperm →
A Norwegian site documenting my paternity leave. It turns out being a father and food blogger is a full-time job. Built with Jekyll.
Veibelysning i Vanvikbakkan →
A small Norwegian site detailing the choice of roadside lighting for a specific road in a small town.


Klondike →
The timeless solitaire classic. Build the foundations, solve the tableau, and chase that satisfying final cascade. Clean, fast and relaxing.



Command line Tic Tac Toe →
One of my first games in C++, and the first with AI. A command-line Tic Tac Toe whose garage-level AI should win or draw when it moves first.

umami-swift
A small Swift package that sends app analytics to a self-hosted Umami backend, privacy-first with no IDFA and no App Tracking Transparency prompt. Built for iOS, macOS and watchOS, with no third-party dependencies.
NotifyPropertyChanged.Verifier
A fluent xUnit extension for testing INotifyPropertyChanged implementations in view models. A .NET Standard 2.0 library for .NET Core and the full framework.
Jekyll YAML front matter validator
A dotnet script that validates Jekyll YAML front matter so a blog builds correctly, checking categories, layout, title, description, date, image and tags.

Open a folder in Visual Studio Code
A macOS service that opens any folder as a project in Visual Studio Code straight from Finder's context menu.
dotnet-script Docker image →
Run C# scripts with nothing but Docker installed. This image makes running dotnet-script easier than ever.
Xamarin Forms birthday workshop
A workshop where participants build an iOS and Android birthday reminder app with C# and Xamarin Forms. No prior mobile experience needed, with step-by-step instructions.
Transparent PNG script
Create a transparent PNG of any size from the terminal. No Python? Use the Docker image instead.
Cloudflare Cache Purger
A dotnet script that purges the relevant pages from Cloudflare's cache when a new post is added to a Jekyll repository.
Comics Downloader
A dotnet script that downloads comics from comics.io, from a chosen strip until the end, and can combine them into a .cbz archive.
ASP.NET Core workshop →
A workshop where participants build an ASP.NET Core web app and API, then orchestrate it with Docker Compose. A branch per step keeps everyone on track.
FermiContainer
A small C# IoC container. Register interfaces and implementations, and let constructor injection resolve dependencies. No attributes or XML configuration.

Async Method Caller
Call methods asynchronously and continue afterwards when you cannot use async and await. Easy to understand and test, and useful in view models.

Workday Countdown
A countdown panel for Panic's Status Board on iOS that filters out weekends and public holidays for a realistic work countdown.
No projects match your search.