Projects

What I'm working on

Things I built because I needed them myself. Nothing here is presented as finished unless it is.

Runs on this site

Sky compass

What's over Slovakia right now, right on the home page.

Why it exists
I wanted to know what I'm looking at overhead without installing an app.
How it works
Just open the home page and move the time slider. On a phone the dial turns with you.
    See the compass
    Sindri script catalog with search, tags, and a list of scripts
    I use it daily

    Sindri

    All my scripts in one place: search, change history and a safe way to try them out first.

    Why it exists
    My scripts had scattered across dozens of folders and I no longer knew what was where or what they did.
    How it works
    They now live in one catalogue. I can search them by content, see their change history and try a new script in an isolated environment first.
    • Self-hosted
    • FastAPI
    • React
    • SQLite
    • Docker
    Source code on GitHub
    Android desktop mode from a Galaxy S20 Ultra running on an external monitor, with a taskbar and desktop icons
    Still working on it

    S20 NetHunter Handheld

    I turned a Galaxy S20 Ultra into a pocket Linux computer for security testing, custom kernel included.

    Why it exists
    This phone has no official Kali NetHunter support, and the only older community version only partly worked.
    How it works
    I built my own kernel with fixes. The phone runs Kali and, plugged into a monitor, works as a small computer with windows.
    • Linux kernel
    • Android
    • NetHunter
    • Reverse engineering
    Field manual and technical details
    The sudo-approve confirmation screen in Safari on iPhone, with the native passkey verification dialog
    I use it daily

    sudo-approve

    When a server asks for sudo, I approve it remotely with a touch or Face ID instead of retyping codes.

    Why it exists
    Whenever I needed admin rights remotely, I had to retype a code on my phone. It was annoying and easy to get wrong.
    How it works
    I get a notification, tap it and confirm with a key or Face ID. If anything fails, a backup code remains, so I never lock myself out.
    • FastAPI
    • python-fido2
    • WebAuthn
    • PAM
    • Docker
    Source code on GitHub

    Website

    The website I made for Bibiana Kubátková

    Bibiana paints surreal horse portraits. Her website, in three languages, shows the paintings and exhibitions and lets people commission a portrait.

    Preview of bibianakubatkova.com homepage with a surrealistic portrait of a white horse