Skip to content

Software for the terminal and the desktop.

Hajware is the label I publish my software under. I'm David Weng: I build agent-friendly command-line tools that share one contract, native desktop apps for macOS, Windows, and Linux, a Steam Deck plugin, and a browser extension. All of it is open source.

Index

  • OpenKaraKaraoke

    Turn your music library into a karaoke stage. On-device stem separation, synced lyrics, and live mixing. macOS, Windows, Linux

  • SukiruSkill libraries

    Checks and repairs your coding agents' skill libraries through npx skills and gh skill. macOS 14+, Apple silicon

  • Apple SaySpeech synthesis

    Speech synthesis and timed text. Preview and export Plain Text, LRC, and Enhanced LRC with system voices. macOS 14+

  • SDF Flash GUIDrive firmware

    Dump, flash, and recover MT1959 Blu-ray drive firmware, behind safety gates that refuse the mistakes that brick drives. macOS, Windows, Linux

  • tg-driveTelegram Drive

    Turn a Telegram channel into a recoverable file tree. The desktop app browses the drive; td is the command-line interface for the same engine. macOS, Windows, Linux

  • VapourflySteam library

    Organize a Steam library into playlists, with recommendations and junk cleanup. vapourfly is the command-line interface for the same app. macOS, Windows, Linux

  • OpenLoopLocal music

    Turn a prompt and lyrics into tracks with open models on Apple Silicon. openloop-cli is the command-line interface for the same app. macOS 15+, Apple Silicon

  • canvas-cliCanvas LMS

    50+ commands for courses, assignments, submissions, grading, and more. macOS, Linux, Windows

  • Record management, file upload, and full InvenioRDM API access. macOS, Linux, Windows

  • monarchmoney-cliMonarch Money

    Accounts, transactions, budgets, and cashflow from your terminal. macOS, Linux, Windows

  • Photo management, backup, upload, albums, and full API access. macOS, Linux, Windows

  • moneyFinance backend

    Local-first backend with encrypted SQLite, multi-provider sync, and agent-friendly JSON. macOS, Linux, Windows

  • qualtrics-cliQualtrics

    Agent-friendly CLI for the Qualtrics XM Platform & offline survey compiler. macOS, Linux, Windows

  • DeckPadSteam Deck

    Use your Steam Deck as a Bluetooth controller for a PC, phone, or tablet. SteamOS

  • ADP ShiftsWork schedule

    Copies your ADP Workforce Now schedule into a Google Calendar it owns, and keeps that calendar current. Chrome, Edge, Brave

Desktop apps

Native where it matters, cross-platform where it helps. Each app has its own site with downloads and a full tour.

OpenKara app window
OpenKaraTurn your music library into a karaoke stage. On-device stem separation, synced lyrics, and live mixing.RustTauri Visit site
Sukiru app window
SukiruChecks and repairs your coding agents' skill libraries through npx skills and gh skill.SwiftSwiftUI Visit site
Apple Say app window
Apple SaySpeech synthesis and timed text. Preview and export Plain Text, LRC, and Enhanced LRC with system voices.SwiftSwiftUI Visit site
SDF Flash GUI app window
SDF Flash GUIDump, flash, and recover MT1959 Blu-ray drive firmware, behind safety gates that refuse the mistakes that brick drives.Rustegui Visit site
tg-drive app window
tg-driveTurn a Telegram channel into a recoverable file tree. The desktop app browses the drive; td is the command-line interface for the same engine.GoWails 3 Visit site
Vapourfly app window
VapourflyOrganize a Steam library into playlists, with recommendations and junk cleanup. vapourfly is the command-line interface for the same app.RustGPUI Visit site
OpenLoop app window
OpenLoopTurn a prompt and lyrics into tracks with open models on Apple Silicon. openloop-cli is the command-line interface for the same app.SwiftSwiftUI Visit site

Plugin and extension

A Steam Deck plugin and a browser extension. Each has its own site.

DeckPad
DeckPadUse your Steam Deck as a Bluetooth controller for a PC, phone, or tablet.PythonTypeScriptDecky Visit site
ADP Shifts
ADP ShiftsCopies your ADP Workforce Now schedule into a Google Calendar it owns, and keeps that calendar current.TypeScriptWXT Visit site

Command-line tools

Written in Go, built for scripts and agents. Each one has full docs on this site.

One shared contract

Learn one tool and you know how the rest behave. Scripts and agents get the same guarantees everywhere.

Stable JSON

Versioned JSON on stdout, logs on stderr, and documented exit codes.

--json
Safety gates

Anything that changes data sits behind an explicit flag. Preview first, then confirm.

--read-only --dry-run --confirm
Single binary

No runtime, no containers, no dependencies to install first.

Built in the open.

Source, issues, and releases for every project live on GitHub. Agents can read the whole site from llms.txt or llms-full.txt.

Built with VitePress