Hjalmar Karlsen

Hjalmar Karlsen

Jeg bygger native apper for iPhone, Apple Watch og Mac.

Vakt- og lønnsappen min Tidex ligger ute på App Store.

  • Oslo
  • Norsk, engelsk
TidexLyricLintAmpoteketKvistkvilPaeonia

Ferdigheter

iOS og Apple

Tidex ligger ute på App Store, med widgets, Live Activities og Siri-snarveier på 46 språk. kvil kjører på Apple Watch og logger vekt med Apple Helse. Kvist er en native Mac-app.

  • Swift
  • SwiftUI
  • SwiftData
  • StoreKit 2
  • WidgetKit
  • ActivityKit
  • HealthKit
  • watchOS
  • macOS
  • App Store Connect
  • Swift Package Manager
  • Git

Backend og data

Tidex synker begge veier mot en Supabase-server som jeg drifter selv. Vipps-kassen i Ampoteket trekker fra lageret nøyaktig én gang, også ved nytt forsøk, og CI tester radnivåsikkerheten.

  • SQL
  • Supabase
  • PostgreSQL
  • Row-level security
  • REST APIs
  • Cloudflare Workers
  • Offline-first sync
  • CI

Web

LyricLint er en offline editor som autolagrer utkast lokalt, så de overlever en krasjet fane. Ampoteket er en nettbutikk med QR-skanner i kameraet. Denne siden er også bygget med SvelteKit.

  • TypeScript
  • JavaScript
  • SvelteKit
  • Svelte 5
  • Next.js
  • React
  • Tailwind CSS
  • HTML
  • CSS
  • WCAG 2.2
  • Playwright
  • GitHub

Prosjekter

Tidex

iOS-app

Vaktjournal og lønnsberegning for skiftarbeidere. Appen er gratis fra versjon 3.0.

  • Lokal-først SwiftData-lagring med toveis synk mot en egen Supabase-server
  • En lønnsmotor som bruker lønnshistorikk, tillegg og pauser på hver vakt
  • Venner kan dele vakter og chatte i sanntid
  • Widgets, Live Activities og Siri-snarveier, oversatt til 46 språk

Swift, SwiftUI, SwiftData, Supabase, PostgreSQL, WidgetKit, ActivityKit, Swift Charts, Next.js

LyricLint

Webapp

Offline teksteditor og linter for Genius-transkripsjoner.

  • CodeMirror-editor som bevarer Genius-markup nøyaktig
  • Lint-regler som viser Genius-kilden bak hver advarsel
  • Virker offline, med lokal autolagring så utkast overlever en krasjet fane

SvelteKit, Svelte 5, TypeScript, CodeMirror 6, IndexedDB, Playwright

Ampoteket

Nettbutikk og lagersystem

Selvbetjent salg av komponenter for et elektronikkverksted.

  • Vipps-kasse uten konto som trekker fra lageret nøyaktig én gang, også ved nytt forsøk
  • QR-skanner med kamera og et hyllekart som viser riktig skuff
  • Radnivåsikkerhet og SQL-samtidighetstester i CI

SvelteKit, Svelte 5, TypeScript, Supabase, PostgreSQL, Cloudflare Workers, Tailwind CSS

Kvist

macOS-app

Kompakt native Git-klient som står ved siden av editoren.

  • Staging, stash, commit og diff via systemets git-kommando
  • Vektortegnet historikkgraf med gjenoppretting via reflog
  • Commit-meldinger generert med lokal Codex- eller Claude-CLI

Swift, SwiftUI, macOS, Swift Package Manager, Git

kvil

iPhone- og Apple Watch-app · på vent

Periodisk faste med eget spisevindu for hver ukedag.

  • Eget spisevindu for hver ukedag, med justeringer bare for i dag
  • Valgfri vektregistrering med Apple Helse og lokal SwiftData-historikk

Swift, SwiftUI, SwiftData, HealthKit, StoreKit 2, WidgetKit, watchOS

Paeonia

iOS-app · på vent

Daglige ritualer for par, med felles streaks og delte minner.

  • Daglige spørsmål som holdes skjult til begge har svart
  • Felles streaks med tilgivende reparasjonsregler
  • Lokal-først SwiftData med Supabase-synk i bakgrunnen

Swift, SwiftUI, SwiftData, Supabase, StoreKit 2, WidgetKit, Next.js

Har du en idé til en nettside eller en app?

Send meg noen linjer om hva du ser for deg. Du trenger ingen teknisk bakgrunn. Jeg bygger og lanserer det, og jeg forklarer hvert steg på en enkel måte.