Projects

A few of my projects that show what I already worked on:

Delta Chat Desktop

Long-running TypeScript/Electron client for the Delta Chat messenger. Multi-year contributor, was lead developer for several years.

TypeScript Electron React
DeltaTauri

NLnet-funded project porting Delta Chat Desktop from Electron to Tauri. Project lead; reorganized the codebase into a modular monorepo.

Tauri Rust TypeScript
#[rpc]impl Api {    async fn shout(&self, msg: String)        -> String {        msg.to_uppercase()    }    async fn add(&self, a: f32, b: f32)        -> f32 {        a + b    }}
yerpc

Rust library for ergonomic JSON-RPC servers with auto-generated TypeScript clients and OpenRPC specs.

Rust TypeScript
user-notify

Cross-platform Rust library for desktop notifications on macOS, Linux, and Windows. Built directly on each OS's native API.

Rust Native APIs
deltachat_message_parser

Rust library + WASM build for rich-text parsing in chat messages (links, mentions, hashtags, markdown subset, emoji). Currently dormant - may revisit

Rust WASM
static-instagram-embed

Embed Instagram posts on your site without loading Instagram's trackers.

Python JavaScript Web Components
tauri-emoji-mart-app

Emoji picker as a small, fast Tauri app.

Tauri TypeScript
deltachat-homeassistant-addon

Delta Chat as a Home Assistant addon (proof of concept).

Home Assistant

Contributions to other projects

Smaller contributions back to projects I use or care about:

Tauri

Small upstream contributions during the DeltaTauri port.

Rust Native APIs
Pixelfed

Small contributions to the fediverse photo-sharing platform: issue triage, bug fixes, testing, and migrating parts of the JavaScript codebase to TypeScript.

TypeScript React Native

Writing

Delta Chat Desktop, but running inside of Firefox

Delta Chat blog, May 2025. Walkthrough of the Browser Edition and the Runtime interface abstraction.

From C- to JSON-based APIs of the Rust core library

Delta Chat blog, February 2025. Deep-dive on replacing the C FFI with a JSON-RPC API.