Self-hosting, local AI and Linux desktops. Almost everything here runs on my own home server.
Mario Leal
I build things for my own home lab and desktop. Almost everything here runs on hardware at home, near Porto: a self-hosted server with SSO, a vault and a GitOps deploy pipeline; a local AI companion; and a Linux desktop with a shell and window decorations I designed and wrote myself.
The code lives on my self-hosted Gitea (git.clockmost.com) and is mirrored here.
Felt - a local-first AI desktop companion
Text and voice chat with a local LLM, plus an animated VRM avatar that lives on the desktop and reacts to the conversation. No cloud: the models run on my own GPUs.
| repo | what it is |
|---|---|
| Felt | umbrella repo: architecture, design docs and decision history |
| felt-core | the brain: FastAPI orchestrator, skill plugins, memory, local-model routing (Python) |
| felt-voice | speech-to-text and TTS with an RVC voice model |
| felt-dashboard | the Felt app: a React + Vite web UI |
| felt-tray | the Linux desktop client in Rust (tao + wry web view), with mTLS client certificates |
| felt-animation-rust | the behaviour engine, ported from Python to Rust |
| felt-wayland | Rust GDExtension that gives Godot click-through windows on Wayland |
Felt is source-available under PolyForm Strict: read it and run it for yourself, but please don't redistribute it.
Linux desktop
| repo | what it is |
|---|---|
| clockmost-shell | my desktop shell: top bar and control center in Quickshell/QML, with a Rust KWin bridge |
| kwin-decoration-endfield | a KWin window decoration in C++, built pixel-for-pixel from an HTML mockup |
| phonograph | a custom Spotify UI as a Spicetify extension |
| endfield-design | the design system all of it follows |
| packaging | my Arch package pipeline: reusable CI with supply-chain gates (cargo-deny, cargo-vet, Semgrep, Trivy) |
| clockmost-desktop | the full recipe for the desktop, every part written down |
Home lab and services
| repo | what it is |
|---|---|
| homelab-platform-blueprint | the reference architecture my server follows: proxy, SSO, apps, backups, monitoring |
| clinic-website-architecture | a website a non-technical person can keep up to date, without ever touching git |
| rbac-search-fastapi | small, fully typed FastAPI sample: search that respects roles |
| poe2rag, drive-rag | retrieval-augmented search answered by a local LLM |
Smaller things
hero-siege-filter (a reverse-engineered game loot-filter format), paissa-map (FFXIV housing on a map), AnimToVrmaConverter (Unity animations to VRM), window-hero (an idle RPG where your windows are the monsters), wayfire-peek (Alt+Tab with live thumbnails for Wayfire).
Tools I use most: Python (FastAPI, pydantic, uv), TypeScript/React, Docker Compose, Caddy, Authentik, OpenBao, Gitea Actions, Arch packaging.