# projects
The things I run and the things I build. The services run on servers I manage; the Matrix services share one salix.host account, while the SimpleX relay needs no account at all. The code lives on my forge. Fair warning on the projects: they are personal, some are early, and I make no promises. But the code is there and you’re welcome to look around.
## hosted services
~$ cat matrix-homeserver
The heart of it all: the salix.host homeserver itself. Federated, end-to-end encrypted, and open to anyone. Grab a registration token from the Matrix page and sign up with just a username.
~$ cat element-web
The web client I host at chat.salix.host. Full-featured, works in any browser, and it's where the sign-up flow on the Matrix page sends you. If you don't know which client to pick, start here.
~$ cat cinny
A second web client I host, for people who like it clean and minimal. Same account, same rooms, just a different feel. Try both and keep the one you like.
~$ cat simplex-smp-relay
A public SimpleX Messaging Protocol relay at smp.salix.host, also reachable as an onion service. Add it to SimpleX to route your encrypted message queues through a server I manage.
~$
## my projects
~$ cat vitis
A very early-stage Matrix homeserver experiment in Rust, forked from the Conduit family. It is not used in production, and the code is not public for now.
~$ cat invio
A personal YouTube client built around Invidious instances: a shared Rust core, an Android app, and a GNOME app. Watch without the ads, the tracking or the account. Mostly built for my own use, source available.
~$ cat threado
An account-free Reddit reader for Android and GNOME. It reads public Old Reddit pages directly, keeps subscriptions and saved threads local, and can route traffic through Tor. One shared Rust core, two native apps, no Reddit account.
~$ cat androidsip
A small SIP softphone for Android: baresip as the engine, Kotlin and Compose on top. Register a SIP account, make and receive calls, nothing more. Early and unpolished, but a nice base if you want to play with SIP on Android.
~$ cat searchlightng
Searchlight NG, my fork of the Search Light GNOME Shell extension: app search in a Spotlight-style popup instead of the Overview. The fork adds GNOME 50 compatibility, a bunch of bug fixes, and a theming engine with presets.
~$ cat gnomesip
The GNOME counterpart of androidsip: a simple SIP client for the Linux desktop, in Python. Very early days, it exists mostly because I wanted my calls on my laptop too.
~$ cat madre
A native Matrix client for the GNOME desktop, in Rust with GTK 4 and libadwaita on matrix-rust-sdk. Spaces, threads, polls, encryption and local search, in one window that follows GNOME. Under active development, published as a Flatpak from the signed Salix repository.
~$ cat ferry
SSH and SFTP for Android and GNOME with a shared Rust core. Hosts, keys and pinned server keys live in a KDBX4 vault you own, synced over your own WebDAV, plus a live Docker and Podman fleet over SSH without agents.
~$ cat telltale
An ask-first application firewall for GNOME and Android. When an app opens a connection you haven't seen, you decide: allow or deny, scoped and timed, with per-app routes through WireGuard, Tor or Tailscale. One Rust policy engine, kernel enforcement on Linux, a local VPN on Android, no root.
~$ cat logia
A small native GNOME voice-to-text app in Rust. Dictate into any app with a global shortcut, while Parakeet, Whisper or Qwen run entirely on your computer — and Logia learns your corrections locally.
~$ cat armoire
A GTK 4 KeePass client for KDBX 4 databases: groups, entries, TOTP codes, Have I Been Pwned checks done right, a proper search language, saved searches and WebDAV sync, all in libadwaita style.
~$ cat cloudy
A self-hosted files hub in Rust and Axum for personal use and small teams: files and shares, Mail/Calendar/Tasks/Contacts with CalDAV and CardDAV, an installable app platform, and an AI assistant that searches your own data. A working development alpha, not a Nextcloud replacement yet.
~$ cat gnome-advanced-workspaces
Per-monitor workspaces for GNOME Shell 50 and 51: the primary keeps GNOME's own workspaces, every other monitor gets its own private set, switched by shortcut, swipe or wheel without the rest of the desktop flinching.
~$ cat gnome-not-shit-screen-keyboard
A touchscreen keyboard for GNOME 50 and 51 with a movable floating layout, FUTO swipe typing and local predictions. Built from GNOME's own on-screen keyboard; the name is rude but fair.
~$ cat vllm-status-bar
A GNOME Shell extension that shows live vLLM metrics in the top bar: tokens per second, KV cache, prefix hit rate, queue and preemptions, across multiple servers at once.
~$ cat kitto deprecated
An Android Instagram client built on Kittygram and other private frontends. Deprecated: the frontends proved too unreliable to build on, and there are no plans to continue.
# deprecated, kept for reference
~$