Skip to content
senkovi

Projects

Systems I build and run. Some open, some just for me.

Ledger Today desktop interface with a synthetic Sam Rivera profile ask
Current Today UI, 6 October 2026. An isolated synthetic instance, with no ruling or calendar configured.

Ledger

Developer preview

A leadership workspace that brings profile asks, sourced event history, owner-approved goals and generated documents together. The engine schedules workflows through a configured agent harness; the same interface runs in a macOS shell, browser and on a phone. Code, vault and engine state are separate stores. The current source is a developer preview, not a public release.

Read the write-up
OpenPlaud's recording logo
The project's own recording mark.

OpenPlaud

Open-source fork

My fork of the self-hosted Plaud recording workflow. It imports recordings, supports multiple transcription providers, uses Gemini for speaker diarization, and exports transcripts to an Obsidian vault. Next.js, TypeScript and PostgreSQL, running in Docker.

Browse the source
SwipeControl's peace-sign app icon
The actual macOS app icon.

SwipeControl

Open source · macOS

A Swift menu bar app that uses the webcam and Vision framework to recognise hand gestures. A left or right peace sign switches desktop spaces; a finger gun toggles Spotify playback. The desktop-switching path posts Control-arrow events with these flag combinations:

controlDown?.flags = .maskControl

let keyDown = CGEvent(keyboardEventSource: nil, virtualKey: arrowKey, keyDown: true)
keyDown?.flags = [.maskControl, .maskSecondaryFn]

let keyUp = CGEvent(keyboardEventSource: nil, virtualKey: arrowKey, keyDown: false)
keyUp?.flags = [.maskControl, .maskSecondaryFn]
Read SwipeDetector.swift
Josh Angel's full-screen homepage introduction within its contour field
The actual homepage, with its full-screen introduction and contour field.

This site

Self-hosted

A static Astro site on a four-node Kubernetes cluster in my house, with a theme built from scratch. The same cluster, and the two RTX 5090s next to it, is where rivet-1b was trained.

Explore the homepage