Skip to content
Frederik Berg

Projects

What I build next to work: a Kubernetes homelab and the agents that run it, security tooling, and smaller tools that solve one problem well. Most of it is open source on GitHub.

Active

A small cabin with a lit desk and a filing cabinet, a person outside on the path looking at a phone

Personal AI infrastructure

Claude Code sessions on a cloud VM, driven from a phone or a browser, with long-term memory, notes, scheduled agents that run my homelab, and a voice line. The core is closed source for now; the clients are open.

A person at a wooden desk sorting letters into pigeonholes, two crumpled envelopes in the waste basket

MailVerdict

A self-hosted mail client with an AI layer. A language model decides what is spam, rules handle the rest, and PostIMAP mirrors the mailboxes into PostgreSQL in both directions.

A wooden lookout tower with a watcher above a small valley, a second tower on a far hill watching the first

Homelab SOC: an Elastic SIEM with agents on the night shift

Every request, pod log, process start, network flow and login of my cluster lands in one Elastic cluster. Detection rules and a judged security-news feed wake AI agents that triage, tune and contain, and a second model watches the agents.

A person at a desk with a large open ledger, a lookout tower seen through the window

Kubernetes homelab on Hetzner

Three Hetzner servers on Talos Linux, managed by Flux, with replicated storage, apps for family and friends, and Borg backups. Every change goes through git.

A hand in a cycling glove on a handlebar, a smartwatch on the wrist, musical notes in the air

Baton

A self-hosted Spotify remote for Garmin watches, built to be used without looking.

kube-borg-backup logo

kube-borg-backup

Kubernetes backups to Borg. Snapshot a volume, clone it and ship it to a Borg repository, installed as a Helm chart.

Architecture diagram of a three-node Talos cluster running Elasticsearch and Kibana through the ECK operator

ECK on Talos

A hands-on guide to a three-node Elastic Stack on Talos Linux with the ECK operator, walked through end to end on fresh VMs.

LIOS app icon

LIOS

Text, images and files between an iPhone and a Linux laptop, in both directions, end-to-end encrypted, through your own relay.

More on GitHub

  • Prism

    A multi-level web search MCP server.

  • twilio-voice-bridge

    Connects Twilio phone calls to a realtime voice model over WebSocket.

  • tandemvault

    Keeps selected 1Password items in step with SOPS/age vaults on disk.

  • elastic-ingest-per-day

    Estimates the daily ingest volume of an Elasticsearch cluster, with the same formula as Kibana's Streams UI.

  • scrape-docs

    Scrapes documentation sites to Markdown for offline reading.

  • auto-on-top

    A GNOME Shell extension that pins windows always-on-top by rules.

  • independent-tabs

    A Chrome side panel that shows your tabs in your own order, independent of the tab bar.

  • cv

    My CV in LaTeX, and a one-page template anyone can reuse.

  • homeassistant-borg-backups

    Automated Borg backups of Home Assistant OS to BorgBase, deployed with Ansible.

Archive

ShareMover app icon

Nextcloud ShareMover

A Nextcloud app that moves incoming shares into a folder of your choice. PHP backend, Vue frontend, built and published to the Nextcloud app store by CI.

Terminal illustration

Linux Scripts

A collection of smaller scripts for Linux desktops and servers that never got a repository of their own.

MP3 icon

Music Split and Merge

Python scripts that repair old MP3 albums where the end of one song is stuck to the start of the next.