Skip to content
View johanthoren's full-sized avatar

Block or report johanthoren

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
johanthoren/README.md

Johan Thorén

I build practical software end to end: commercial macOS products, AI-agent tooling, and infrastructure/monitoring libraries, mostly in Swift and Rust.

Commercial products

Status: active commercial product, private source

What it is: a macOS transcription and productivity app, built solo from app to website to licensing.

Stack:

  • macOS app: Swift, SwiftUI/AppKit, AVFoundation, Sparkle, KeyboardShortcuts
  • Transcription: WhisperKit
  • Persistence and licensing: GRDB/SQLite, CryptoKit/Security
  • Backend tooling: Rust license server, SQLite
  • Website: Next.js, React, TypeScript, MDX, Cloudflare/OpenNext
  • Testing: XCTest, Playwright, Vitest

Parrot Scribe transcript viewer

Status: shipped commercial product, private source

What it is: a native macOS dashcam footage manager for session navigation and export, built solo.

Stack:

  • macOS app: Swift, SwiftUI/AppKit, AVFoundation/AVKit, CoreMedia
  • Video and location: VideoToolbox, Metal, MapKit/CoreLocation
  • Persistence and commerce: GRDB/SQLite, StoreKit
  • Build and release: XcodeGen, fastlane
  • Website: Next.js, React, TypeScript, Cloudflare/OpenNext
  • Testing: XCTest, Swift Testing, Playwright, Vitest

Dashcam Export GPS map view

Open source

Actively maintained

Status: actively maintained open source

Stack: Bash, Bats, Python, Make, jq, git/GitHub workflow tooling

What it is: a task pipeline for coding agents: capture, plan, test, implement, refactor, review, audit, and validate before calling work done.

jeff terminal workflow

Status: actively maintained open source

Stack: Rust 2024, clap, serde/JSONL, chrono, thiserror

What it is: logged atomic file move and trash operations with an append-only JSON-Lines audit trail, built for safer autonomous-agent file operations.

Status: actively maintained open source at ITRS Group

Stack: Rust 2024, optional AES/CBC/zeroize secure environment support, proptest/pretty_assertions tests

What it is: a Rust library for building Geneos Toolkit-compatible applications, written with a small dependency surface for regulated production environments.

Status: actively maintained open source at ITRS Group; pre-release preview / best-effort support

Stack: Rust, clap, tokio/futures, serde JSON/YAML, CSV, OpenSSL, perfdata, assert_cmd/predicates tests

What it is: a CLI and library that runs Nagios-compatible plugins asynchronously and formats their output for the Geneos Toolkit Plugin.

Other public work

  • opsview-rs - Rust Opsview API client. Stack: Rust, reqwest, tokio, serde, criterion, mockito/httpmock.
  • voxtus - transcription CLI for YouTube and local media. Stack: Rust, whisper-rs, yt-dlp, tokio, clap.
  • bibcal, luminary, org.bibcal.www - biblical calendar libraries, CLI, and website. Stack: Clojure, Leiningen, tick, Ring/Compojure/Hiccup, Docker, GraalVM native image.
  • solar-calendar-events - Rust library for equinoxes and solstices.
  • check_jitter and check_macos_updates - Nagios/Opsview-style monitoring plugins. Stack: Rust, clap, nagios-range.
  • kjv-org - Authorized King James Version in Org mode.
  • combine-dashcam-cameras - Python utility for combining separate dashcam camera folders into VIOFO-style outputs.

Archived or complete

  • parrotscribe-mcp - archived MCP server for early Parrot Scribe agent integration. Stack: TypeScript, Node.js, Model Context Protocol SDK, Vitest.

Enterprise background

Eight years at ITRS working with banks and exchanges across support, presales, and customer solutions. That work shaped my bias toward operable systems, clear diagnostics, boring automation, and software that survives contact with production users.

Current focus

AI-agent workflows, auditable automation, retrieval/evaluation systems, macOS products, and practical developer tooling.

Based in Manila, working globally.

LinkedIn

Pinned Loading

  1. jeff jeff Public

    You're the boss. Your coding agent shell is your Michelin-star kitchen. Nothing leaves it until Jeff says so.

    Shell 2

  2. voxtus voxtus Public

    A command-line tool for transcribing YouTube videos and local media files to text

    Rust 1

  3. bibcal bibcal Public

    Calculate dates based on the Bible and the 1st Book of Enoch.

    Clojure 11 1

  4. ITRS-Group/geneos-toolkit-rs ITRS-Group/geneos-toolkit-rs Public

    Rust library for building Geneos Toolkit compatible applications

    Rust 1

  5. logmv logmv Public

    Logged atomic file move and trash with an append-only JSON-Lines audit trail

    Rust 1

  6. opsview-rs opsview-rs Public

    A Rust Opsview API Client Library with batteries included.

    Rust 2